🏆 Introducing xSafe, the new gold standard for intent-based CREATE3 contract deployments. Deploy your contracts to the same address on many chains–no nonces, no salts.
Traditionally, achieving the same address on many chains requires careful (manual) EOA nonce management. Mess up the nonce once, start all over.
The CREATE2
opcode can generate identical addresses, but when constructor arguments vary across chains, differing contract bytecode results in distinct addresses. An intent-based solution, like this, obviates salt storage, but addresses still depend on contract bytecode.
A CREATE3
approach offers an elegant solution, irrespective of contract bytecode, but still requires users to memorize salts.
xSafe achieves same-address deployment with no bytecode dependence, no nonce tracking, and no salt storage. Under the hood, salts are derived from principals' signatures, thereby allowing agents to deploy contracts on behalf of signers.
Create a .env
file in the project root directory and add your RPC URL.
RPC_URL="your_rpc_url_here"
Install npm dependencies:
npm install
Install Foundry dependencies:
forge install
Execute the tests using Foundry:
forge test