-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Summary
The universal deterministic deployment proxy at 0x4e59b44847b379578588920ca78fbf26c0b4956c cannot be deployed on Polkadot Hub mainnet due to a gas price mismatch. The deployment transaction is pre-signed with a hardcoded gas price of 100 gwei, but Polkadot Hub enforces a minimum gas price of 1000 gwei, causing the transaction to be rejected.
Background
The [deterministic-deployment-proxy](https://github.com/Arachnid/deterministic-deployment-proxy) (originally by Nick Johnson / Arachnid) is critical infrastructure for the Ethereum ecosystem. It enables:
- Deterministic contract deployment via CREATE2
- Same contract addresses across all EVM-compatible chains
- Counterfactual deployment patterns
- Factory patterns used by major protocols (Uniswap, Safe, etc.)
The proxy achieves universal deployment by using a one-time-use account with a pre-signed legacy transaction. This guarantees:
- The deployer address is always
0x3fAB184622Dc19b6109349B94811493BF2a45362 - The proxy contract is always deployed to
0x4e59b44847b379578588920ca78fbf26c0b4956c
The Problem
Pre-signed Transaction Details
Raw Transaction: 0xf8a58085174876e800830186a08080b853604580600e600039806000f350fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601600081602082378035828234f58015156039578182fd5b8082525050506014600cf31ba02222222222222222222222222222222222222222222222222222222222222222a02222222222222222222222222222222222222222222222222222222222222222
Decoded parameters:
- Gas Price: 0x174876e800 = 100,000,000,000 wei = 100 gwei
- Gas Limit: 0x0186a0 = 100,000
- Signature (r): 0x2222...2222
- Signature (s): 0x2222...2222
Why This Cannot Be Changed
The transaction signature commits to all transaction parameters including the gas price. Modifying the gas price would:
- Invalidate the existing signature
- Require a new signature from a new private key
- Result in a different deployer address
- Deploy the proxy to a different contract address
This defeats the entire purpose of a universal deterministic deployment.
Polkadot Hub Gas Price Requirement
Polkadot Hub enforces a minimum gas price of 1000 gwei (10x higher than the hardcoded 100 gwei). When the pre-signed transaction is broadcast:
Error: Transaction underpriced
Expected: >= 1000 gwei
Received: 100 gwei
Testnet Workaround
On Polkadot testnet, we successfully deployed the proxy using the sudo pallet to bypass normal transaction validation:
sudo.as(
0x3fAB184622Dc19b6109349B94811493BF2a45362, // Impersonate deployer
revive.instantiateWithCode(deploymentCode)
)Result: https://polkadot.testnet.routescan.io/address/0x4e59b44847b379578588920ca78fbf26c0b4956c
This confirms:
- The pallet_revive runtime correctly deploys to the expected address
- The bytecode and CREATE2 mechanics work as expected
- The only blocker is gas price validation
Mainnet Blocker
Polkadot Hub mainnet does not have the sudo pallet, so this workaround is not available. There is currently no path to deploy this critical infrastructure contract.
Impact
Without the deterministic deployment proxy, the following are blocked or significantly harder on Polkadot Hub:
| Category | Impact |
|---|---|
| Protocol Deployments | Uniswap, Safe, and other protocols relying on CREATE2 cannot deploy at canonical addresses |
| Cross-chain Address Parity | Contracts cannot have the same address on Polkadot Hub as on Ethereum/other L2s |
| Counterfactual Wallets | ERC-4337 smart accounts and similar patterns are hindered |
| Developer Experience | Standard tooling (Foundry's CREATE2Deployer, Hardhat plugins) won't work |
References
- [Deterministic Deployment Proxy Repository](https://github.com/Arachnid/deterministic-deployment-proxy)
- [Original Zoltu Implementation](https://github.com/Zoltu/deterministic-deployment-proxy)
- [EIP-1014: CREATE2](https://eips.ethereum.org/EIPS/eip-1014)
- [Testnet Deployment](https://polkadot.testnet.routescan.io/address/0x4e59b44847b379578588920ca78fbf26c0b4956c)
Environment
- Network: Polkadot Hub (Asset Hub) Mainnet
- Target Address:
0x4e59b44847b379578588920ca78fbf26c0b4956c - Deployer Address:
0x3fAB184622Dc19b6109349B94811493BF2a45362 - Required Gas Price: 100 gwei (hardcoded in pre-signed tx)
- Polkadot Hub Min Gas Price: 1000 gwei