GithubHelp home page GithubHelp logo

forge-template's People

Contributors

0xruhum avatar gakonst avatar gg2001 avatar mds1 avatar ncitron avatar odyslam avatar onbjerg avatar patrickalphac avatar paulrberg avatar sambacha avatar samwilsn avatar tarrencev avatar transmissions11 avatar xmxanuel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

forge-template's Issues

Deploying to remote node

Hey guys,

Thanks for putting this together. I'm new to dapptools and this is a great starting point. I'm having some issues deploying to a remote node though. I run deploy like

ETH_FROM=0x35754fd45136f2a9996a75cf2955315c9cd35054 make deploy-rinkeby

Locally I get:

--rpc-url https://eth-rinkeby.alchemyapi.io/v2/***
curl: (22) The requested URL returned error: 400

On Alchemy it shows the failed request:

{"jsonrpc": "2.0", "id": 1, "error": {"code": -32601, "message": "Unsupported method: eth_sendTransaction. Alchemy does not hold users' private keys. See available methods at https://docs.alchemy.com/alchemy/documentation/apis"}}

Any ideas what I might be doing wrong? I imported the account using ethsign.

As another note: When I run ethsign it lists an account but the address is different from MM. I tried reimporting for sanity and it says the account already exists. I guess it is using a different derivation path? I tried using that address as from but it fails too.

Update forge-std version

The forge submodule is fixed at commit 40977d9 which is quite old, features are missing and it does not match with the current documentation out of the box.

Can be fixed using git submodule update --remote --merge, adding this command to the readme could be useful

Installing on M1 Mac

Running into this error when trying to install

curl https://dapp.tools/install | sh

Package ‘ghc-8.10.4’ in /nix/store/xxx-nixpkgs-release-21.05/pkgs/development/compilers/ghc/8.10.4.nix:254 is not supported on ‘aarch64-darwin’, refusing to evaluate.

Can the OZ submodule be moved?

As-is the directory structure means that the VS Code solidity plugin can't find any open zeppelin contracts:

Screen Shot 2021-09-17 at 12 22 08 PM

After moving (see below) all checks out.

git mv lib/openzeppelin-contracts lib/@openzeppelin

Compile before deploying

If you don't compile before you deploy, the ABI in common.sh will be null, and result in an error. I think ideally the common.sh would have a function to check to see if the file has already been compiled... or it just always compiles before it tries to deploy.

Make multi-contract compatible

Right now, this template works great if you just want to deploy 1 contract. However, a lot of people would be interested in deploying many contracts. For example:

Per the README.md

Contracts can be deployed via the make deploy command. Addresses are automatically written in a name-address json file stored under out/addresses.json.

If I have two files that I deploy, they will be overwritten on subsequent deployments. Additionally, the deploy scripts really only work with one contract.

Love the project, hopefully these are good bits of feedback.

Packages not found

I'm running a fully shell script that calls the uniswap address with some custom transaction data. It crashes, so I put a seth call --debug $unicontract $unicalldata. Now, it says 'hevm: @openzeppelin/contracts/drafts/IERC20Permit.sol: openBinaryFile: does not exist (No such file or directory)'. Any idea why this happens? I grabbed a generic IERC20Permit.sol off github and stuck it in that directory under node_modules, but no beans.

make test throwing nix permissions issue

Hello, I've been working on a new test implementation and every time I try to run make test, this is the error result I'm given:

dapp test # --ffi # enable if you need the ffi cheat code on HEVM
dapp---use: Could not find solc-0.8.7 in your path or nix store.
Temporarily installing solc-0.8.7...
Tip: run nix-env -f https://github.com/dapphub/dapptools/archive/master.tar.gz -iA solc-static-versions.solc_0_8_7 for a lasting installation of this version.
error: could not set permissions on '/nix/var/nix/profiles/per-user' to 755: Operation not permitted
make: *** [test] Error 1

I've tried using chmod to change the permissions on the /nix directory myself, but it doesn't seem to work. Perhaps this issue is simply on my end and has nothing to do with this template, but I thought I'd post here to see if anyone has any ideas anyways.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.