zoltu / deterministic-deployment-proxy Goto Github PK
View Code? Open in Web Editor NEWAn Ethereum proxy contract that can be used for deploying contracts to a deterministic address on any chain.
License: The Unlicense
An Ethereum proxy contract that can be used for deploying contracts to a deterministic address on any chain.
License: The Unlicense
I tried following the setup instructions, but go the following error on npm run build
:
scripts/compile.ts:92:77 - error TS2345: Argument of type 'ArrayBuffer' is not assignable to parameter of type 'BNInput'.
Type 'ArrayBuffer' is missing the following properties from type 'Buffer': write, toJSON, equals, compare, and 75 more.
92 const signerAddress = arrayFromHexString(keccak256(secp256k1.recoverPubKey(hashedSignedEncodedTransaction, { r: r, s: s}, 0).encode('array').slice(1)).slice(-40))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
at createTSError (/Users/dmihal/keystone/burner/deterministic-deployment-proxy/node_modules/ts-node/src/index.ts:240:12)
at reportTSError (/Users/dmihal/keystone/burner/deterministic-deployment-proxy/node_modules/ts-node/src/index.ts:244:19)
at getOutput (/Users/dmihal/keystone/burner/deterministic-deployment-proxy/node_modules/ts-node/src/index.ts:360:34)
at Object.compile (/Users/dmihal/keystone/burner/deterministic-deployment-proxy/node_modules/ts-node/src/index.ts:393:11)
at Module.m._compile (/Users/dmihal/keystone/burner/deterministic-deployment-proxy/node_modules/ts-node/src/index.ts:439:43)
at Module._extensions..js (module.js:664:10)
at Object.require.extensions.(anonymous function) [as .ts] (/Users/dmihal/keystone/burner/deterministic-deployment-proxy/node_modules/ts-node/src/index.ts:442:12)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
My understanding is that the deployer address has been "retrodicted" with Nick's method, and the chosen gas price and the gas limit influence what value the deployer address has.
If that is correct, this deployment proxy cannot be used on optimistic rollup chains like Arbitrum or Optimism, because of the way gas is calculated there. E.g. a basic aETH transfer costs ~700k.
Hey, i'd like to test the feature, however the contract seems to be deployed to every possible chain with the test script parameter. How could i run the script using my own account details?
Thanks for any help!
how can I get the entrypoint contract deployed to a new L2 op stack chain using this repository
we have the RPC URL of our testnet and we don't want to enable the pre-eip-155
txs for security reasons so we want to deploy it deterministically
I see that the CREATE2 deployer has already been deployed onto most popular blockchains at 0x7A0D94F55792C434d74a40883C6ed8545E406D12.
Instead of skipping lines 20 and 23 in test.sh as described in README.md, how can we use hardhat to deploy a new contract using an existing CREATE2 deployer?
I have changed the $JSON_RPC
to https://galaxy.block.caduceus.foundation
but whenever I run command ./script/test.sh
to deploy it gives error of
{"jsonrpc":"2.0","id":1,"error":{"code":-32000,"message":"authentication needed: password or unlock"}}
Some blockchains have market gas prices usually above 100 gwei, e.g. Polygon: https://polygonscan.com/gastracker
Since this CREATE2 factory contract has a gas price of 100 gwei hard coded in the raw transaction, does this mean that it would not be deployable on a blockchain as long as its market gas prices stay above 100 gwei? Or are there some ways around to still deploy it?
I tried broadcasting the transaction in output/deployment.json
for another chain that supports EIP-155. Is there a way to support this?
Can we have a version for CREATE3?
With CREATE3, the resulting address of a deployed contract is no longer dependent on contract bytecode.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.