Comments (3)
Hey, thanks for the report! Your issue is under investigation from the team :)
from foundry-zksync.
Hey, trying again on this commit and in addition using the --slow
flag I am able to send 1/12 transaction
and after the first transaction going through I'm getting the same error as before.
Here is the terminal output:
aave-v3-origin-private % make deploy-v3-batched
forge script --zksync --system-mode=true -vvvvvvvv scripts/DeployAaveV3MarketBatched.sol --rpc-url https://sepolia.era.zksync.dev/ --private-key 0xprivatekey --sender 0xsender --broadcast --skip-simulation --slow
[⠒] Compiling...
No files changed, compilation skipped
Traces:
[207125] Default::run()
├─ [0] VM::startBroadcast()
│ └─ ← ()
├─ [0] → new <unknown>@0xc955a71D17AF3a55dAf92134CA0b3695e1f5E669
│ └─ ← 36704 bytes of code
├─ [0] 0xc955a71D17AF3a55dAf92134CA0b3695e1f5E669::getInitialReport() [staticcall]
│ └─ ← InitialReport({ poolAddressesProvider: 0x102f71C1E84C68B2539303dF3376403AD9BeA07f, poolAddressesProviderRegistry: 0x4Cc276012dCd0B09b4a2B856159E43EF2d4e2Ce6 })
├─ [0] → new <unknown>@0x1B6f839043C56926988b7f3450cCd0c7e3381f2C
│ └─ ← 4384 bytes of code
├─ [0] 0x1B6f839043C56926988b7f3450cCd0c7e3381f2C::getGettersReportOne() [staticcall]
│ └─ ← GettersReportBatchOne({ walletBalanceProvider: 0xaB41BB3a839bD95eE35cA2258809DDAF8aa89753, uiIncentiveDataProvider: 0xE64C48dAD73FBAf59DE34e59cFD614b1EB2E1BE2, protocolDataProvider: 0xE86bb1dD0C6679C213d965D43C645ae99327A040, uiPoolDataProvider: 0x0000000000000000000000000000000000000000 })
├─ [0] → new <unknown>@0x94E80560ADC160Fd52441AeCF721B0f5c43973f5
│ └─ ← 4384 bytes of code
├─ [0] 0x94E80560ADC160Fd52441AeCF721B0f5c43973f5::getPoolReport() [staticcall]
│ └─ ← PoolReport({ poolImplementation: 0x8a1836D7FdFEc30B3FD4aa8F291700e40A40EC71, poolConfiguratorImplementation: 0x5b9F6f751EaE542a4E46f0013C702ab454671323 })
├─ [0] → new <unknown>@0x2017dFE74626CE8A89A89c182c79Cf6B17Ca7873
│ └─ ← 13536 bytes of code
├─ [0] 0x2017dFE74626CE8A89A89c182c79Cf6B17Ca7873::getPeripheryReport() [staticcall]
│ └─ ← PeripheryReport({ aaveOracle: 0xF27E931E81df7789E7378F5cc76306eC451719fb, proxyAdmin: 0x90cb7C815360D6Fd6cb77080dB8F7a23CD9D2A0E, treasury: 0x41bf8A359074Cf44B6Fa6c583f5B01f3BD161427, treasuryImplementation: 0xa34e6B64CA63447aE12A9DC155357800Bd11D997, emissionManager: 0xd9fC3d47b58cF365aB490776991D38026506f2A9, rewardsControllerImplementation: 0xCA602350Fb7bD40797dC3F94A175ffD18e057747, defaultInterestRateStrategyV2: 0x0C5ad674f8D968b8b9596A3e48Fa5528c76Df558 })
├─ [0] 0xc955a71D17AF3a55dAf92134CA0b3695e1f5E669::setupAaveV3Market(Roles({ marketOwner: 0x5d2B5d9a244492f8A078557e46F8506bb41b7913, poolAdmin: 0x5d2B5d9a244492f8A078557e46F8506bb41b7913, emergencyAdmin: 0x5d2B5d9a244492f8A078557e46F8506bb41b7913 }), MarketConfig({ networkBaseTokenPriceInUsdProxyAggregator: 0x0000000000000000000000000000000000000000, marketReferenceCurrencyPriceInUsdProxyAggregator: 0x0000000000000000000000000000000000000000, marketId: "Aave V3 Testnet Market", oracleDecimals: 8, paraswapAugustusRegistry: 0x0000000000000000000000000000000000000000, paraswapFeeClaimer: 0x0000000000000000000000000000000000000000, providerId: 8080, salt: 0x0000000000000000000000000000000000000000000000000000000000000000, wrappedNativeToken: 0x0000000000000000000000000000000000000000, proxyAdmin: 0x0000000000000000000000000000000000000000, flashLoanPremiumTotal: 5, flashLoanPremiumToProtocol: 4 }), 0x8a1836D7FdFEc30B3FD4aa8F291700e40A40EC71, 0x5b9F6f751EaE542a4E46f0013C702ab454671323, 0xE86bb1dD0C6679C213d965D43C645ae99327A040, 0xF27E931E81df7789E7378F5cc76306eC451719fb, 0xCA602350Fb7bD40797dC3F94A175ffD18e057747)
│ └─ ← SetupReport({ poolProxy: 0x73406c9e1385f685C7AbD9BB429287a40c6CCD2a, poolConfiguratorProxy: 0xEF5F120383547e8f9D0E358ADc1fF2bd4Fb9a1a1, rewardsControllerProxy: 0x8b71f9cd6dfE5CB29B36398b73b5b14FCac461E1, aclManager: 0x76618277C75b73F7ccb88Af7B908dC6a611ef889 })
├─ [0] → new <unknown>@0xe08cCf312D372B2233046D468CeA0f5D4745c131
│ └─ ← 6752 bytes of code
├─ [0] 0xe08cCf312D372B2233046D468CeA0f5D4745c131::getTokensReport() [staticcall]
Harsh Pandey | BGD Labs, [04/07/24 10:12 PM]
│ └─ ← TokensReport({ aToken: 0x0152a257e8f58a8d3565578978F0B350C08Aa4d3, variableDebtToken: 0x3F0B1732211Ea6Fe0c017c883FcA8d9d3578E913, stableDebtToken: 0xC686d989d929ecEE30a30Cac1baaC06c28d4394b })
├─ [0] 0xc955a71D17AF3a55dAf92134CA0b3695e1f5E669::setMarketReport(MarketReport({ poolAddressesProviderRegistry: 0x4Cc276012dCd0B09b4a2B856159E43EF2d4e2Ce6, poolAddressesProvider: 0x102f71C1E84C68B2539303dF3376403AD9BeA07f, poolProxy: 0x73406c9e1385f685C7AbD9BB429287a40c6CCD2a, poolImplementation: 0x8a1836D7FdFEc30B3FD4aa8F291700e40A40EC71, poolConfiguratorProxy: 0xEF5F120383547e8f9D0E358ADc1fF2bd4Fb9a1a1, poolConfiguratorImplementation: 0x5b9F6f751EaE542a4E46f0013C702ab454671323, protocolDataProvider: 0xE86bb1dD0C6679C213d965D43C645ae99327A040, aaveOracle: 0xF27E931E81df7789E7378F5cc76306eC451719fb, defaultInterestRateStrategyV2: 0x0C5ad674f8D968b8b9596A3e48Fa5528c76Df558, aclManager: 0x76618277C75b73F7ccb88Af7B908dC6a611ef889, treasury: 0x41bf8A359074Cf44B6Fa6c583f5B01f3BD161427, proxyAdmin: 0x90cb7C815360D6Fd6cb77080dB8F7a23CD9D2A0E, treasuryImplementation: 0xa34e6B64CA63447aE12A9DC155357800Bd11D997, wrappedTokenGateway: 0x0000000000000000000000000000000000000000, walletBalanceProvider: 0xaB41BB3a839bD95eE35cA2258809DDAF8aa89753, uiIncentiveDataProvider: 0xE64C48dAD73FBAf59DE34e59cFD614b1EB2E1BE2, uiPoolDataProvider: 0x0000000000000000000000000000000000000000, paraSwapLiquiditySwapAdapter: 0x0000000000000000000000000000000000000000, paraSwapRepayAdapter: 0x0000000000000000000000000000000000000000, paraSwapWithdrawSwapAdapter: 0x0000000000000000000000000000000000000000, aaveParaSwapFeeClaimer: 0x0000000000000000000000000000000000000000, l2Encoder: 0x0000000000000000000000000000000000000000, aToken: 0x0152a257e8f58a8d3565578978F0B350C08Aa4d3, variableDebtToken: 0x3F0B1732211Ea6Fe0c017c883FcA8d9d3578E913, stableDebtToken: 0xC686d989d929ecEE30a30Cac1baaC06c28d4394b, emissionManager: 0xd9fC3d47b58cF365aB490776991D38026506f2A9, rewardsControllerImplementation: 0xCA602350Fb7bD40797dC3F94A175ffD18e057747, rewardsControllerProxy: 0x8b71f9cd6dfE5CB29B36398b73b5b14FCac461E1 }))
│ └─ ← ()
├─ [0] VM::stopBroadcast()
│ └─ ← ()
└─ ← ()
Script ran successfully.
SKIPPING ON CHAIN SIMULATION.
###
Finding wallets for all the necessary addresses...
##
Sending transactions [0 - 12].
⠁ [00:00:02] [#######>-----------------------------------------------------------------------------------------------] 1/13 txes (29.1s)
⠉ [00:00:06] [#####################################################################################################] 1/1 receipts (0.0s)
##### 300
✅ [Success]Hash: 0xd3a3eb87723a27bc5ee473035b1edb618e4d275ffcc2f10275d286fc1c666bab
Block: 3230859
Paid: 0.000001926225 ETH (77049 gas * 0.025 gwei)
Transactions saved to: /Users/harshpandey/Desktop/aave-v3-origin-private/broadcast/DeployAaveV3MarketBatched.sol/300/run-latest.json
Sensitive values saved to: /Users/harshpandey/Desktop/aave-v3-origin-private/cache/DeployAaveV3MarketBatched.sol/300/run-latest.json
Error:
Failed to estimate gas for tx: 0x0ca99a68a584612b6b6e508c5da50dd3be45bca0e5577e48011e6ebc285bb565
Context:
- (code: 3, message: execution reverted: The code hash is not known, data: Some(String("0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001a54686520636f64652068617368206973206e6f74206b6e6f776e000000000000")))
make: *** [deploy-v3-batched] Error 1
Attaching the latest broadcast file as well: run-latest.json
from foundry-zksync.
Thanks for the added information.
Unfortunately, we are still unable to reproduce your issue, and even with the extra information we aren't able to tell exactly why you are seeing this error.
We were able to run the script succesfully across different machines and with different settings, using this command as base:
forge script --zksync --system-mode=true -vvvvvv --slow scripts/DeployAaveV3MarketBatched.sol --broadcast
public
RPC: https://sepolia.era.zksync.dev
private
RPC (from you): https://zksync-sepolia.g.alchemy.com/v2/... (ommited full endpoint here)
MACHINE | RPC | SKIP SIMULATION | 1ST TX HASH | LAST TX HASH |
---|---|---|---|---|
0 | public | NO | 0x57824a18998f3775d415f950bfd51654525c2bbfe21e79ec324f1c1e1ec01791 | 0x92f728f77be3ba7c0d96fd7ddbe0f2779008f1a3ada95855e8395d06f315a2cf |
1 | private | NO | 0x830af1749ea038643f8efd3ee9726187c7f3b34375b4075817ec623b19819008 | 0xa32da9e81b72cf87151f06bb9fb3e50316ed0659704ea7f35de31629613355e9 |
2 | public | YES | 0xc1371a91de4e64332f90d844bfe9d195ebe376703766535599abe1871b4c8509 | 0x00a30b79a11540dec6650b68b8b20f879b6bf58963f95896bdbffb6a97bc4534 |
What we did observe, while reviewing the run-latest.json
you have provided, is that it differs from machine 1's in a few (but perhaps not important) ways.
Omitting obvious nonce and sender address differences:
- The tx at index 1 (create) have different bytecode hash, meanwhile the constructor input only differs in the
msg.sender
references. - The tx at index 4 had different bytecode hash and constructor input. I believe contract being deployed here is
AaveV3GettersBatchOne
. - The tx at index 5 has 2 factory deps, instead of only 1. This would mean that the bytecode being sent on chain is now small enough to fit in only 2 tx (instead of 3). Not sure why this is the case for you, given the same inputs.
- We have an extra tx here (index 6 on), but with 1 factory dep, so I believe it's the factory dep that's not present on tx 5, where you have both together.
- The tx at index 6 also seems to have different bytecode hash and constructor input, like tx 4. The contract being deployed here is
AaveV3PoolBatch
. - The tx at index 8, again, also seems to have different bytecode hash and input, like tx 4 and 6. The contract being deployed here is
AaveV3PeripheryBatch
. - The tx at index 9 is a call to
setupAaveV3Market
, here the calldata is different for the most part, considering it's a bunch oftx.origin
and addresses of contracts deployed in the script. - The tx at index 11 is
AaveV3TokensBatch
's deployment. As for the other cases, bytecode hash & constructor input is different. - The final tx is a call to
setMarketReport
. Just like with tx 9, the calldata is different, considering it's mostly addresses of contracts deployed in the current script.
We didn't observe these bytecode hash differences in our deployments (or at least, not all of them), for example: machine 2's deployment of AaveV3TokensBatch
verified due to bytecode matching machine 1's.
from foundry-zksync.
Related Issues (20)
- Broken link to inlinable libraries
- cannot deploy with `forge create` HOT 7
- mysterious test failures, inability to check changes in state HOT 5
- Forge create panics with impractical error message when passing wrong contract source HOT 2
- Unable to run `forge test` without --zksync flag HOT 1
- `forge-std` >=1.8.0 not supported HOT 1
- Deploy transaction simulation fails when deploying via create2 HOT 2
- Unable to specify custom zksolc compiler HOT 2
- Got an error Unknown version provided if solc = "0.8.25" is defined in foundry.toml. HOT 2
- forge build fails with `Broken pipe` HOT 5
- Setting up 1 EVM fails HOT 11
- When I ran forge command with zksync flag, solc consumed a huge memory in large project HOT 3
- Test failures when running on regular EVM HOT 2
- Unable to deploy contract with big factory deps on zkSync Era mainnet HOT 9
- "./install-foundry-zksync" not working HOT 20
- `forge coverage --via-ir` fails with stack too deep HOT 1
- Reading value that was deleted in a mapping causes panic HOT 3
- Getting an error when running ./install-foundry-zksync HOT 10
- Unable to deploy using create2 factory HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from foundry-zksync.