paradigmxyz / foundry-alphanet Goto Github PK
View Code? Open in Web Editor NEWFoundry tools for interfacing with Reth Alphanet's bleeding-edge EVM extensions.
License: Apache License 2.0
Foundry tools for interfacing with Reth Alphanet's bleeding-edge EVM extensions.
License: Apache License 2.0
Trying to run 3074-invokers's sendEth
forge script example with this Docker build of foundry but I'm running into a Transaction failure
error.
It shows a successful test simulation before broadcasting, but when it broadcasts to AlphaNet, the transaction fails. My thought is that there is a discrepancy between the way 3074 is implemented in the simulation build which is passing and AlphaNet which is failing. This error did not occur until after 3074-invokers
's repo got updated to use foundry-alphanet
for foundry things. Weirdly enough though, when running the sendEth
forge script with the current version of foundry-alphanet
on the Otim Devnet, it works...
Here is the output for reference:
julrach@julrach-s-mac 3074-invokers % make cmd="forge script Executor --sig sendEth(address,address,uint256) $INVOKER_ADDRESS 0x3074ca113074ca113074ca113074ca113074ca11 0.01ether --rpc-url $RPC_URL --broadcast -vvvv"
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
Compiling 26 files with 0.8.24
Solc 0.8.24 finished in 1.77s
Compiler run successful with warnings:
Warning (3805): This is a pre-release compiler version, please do not use it in production.
Warning (2018): Function state mutability can be restricted to pure
--> src/Auth.sol:43:5:
|
43 | function auth(bytes32 commit, Signature memory signature) public returns (bool success) {
| ^ (Relevant source part starts here and spans across multiple lines).
Warning (2018): Function state mutability can be restricted to pure
--> src/Auth.sol:56:5:
|
56 | function authcall(address to, bytes memory data, uint256 value, uint256 gasLimit) public returns (bool success) {
| ^ (Relevant source part starts here and spans across multiple lines).
Traces:
[54098] Executor::sendEth(0x5FbDB2315678afecb367f032d93F642f64180aa3, 0x3074Ca113074ca113074CA113074CA113074CA11, 10000000000000000 [1e16])
├─ [0] VM::addr(<pk>) [staticcall]
│ └─ ← [Return] 0x29b7D9C8f9c4e158AeDC2bfC31D1931A519682Ed
├─ [2512] 0x5FbDB2315678afecb367f032d93F642f64180aa3::nextNonce(0x29b7D9C8f9c4e158AeDC2bfC31D1931A519682Ed) [staticcall]
│ └─ ← [Return] 0
├─ [0] VM::addr(<pk>) [staticcall]
│ └─ ← [Return] 0x29b7D9C8f9c4e158AeDC2bfC31D1931A519682Ed
├─ [0] VM::getNonce(0x29b7D9C8f9c4e158AeDC2bfC31D1931A519682Ed) [staticcall]
│ └─ ← [Return] 0
├─ [1177] 0x5FbDB2315678afecb367f032d93F642f64180aa3::getDigest(0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000055023074ca113074ca113074ca113074ca113074ca11000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, 0) [staticcall]
│ └─ ← [Return] 0xa5dde2dde74c211c6e9f4858203ea6c212807ecc05bfe495df0c20dd8bd64e22
├─ [0] VM::sign("<pk>", 0xa5dde2dde74c211c6e9f4858203ea6c212807ecc05bfe495df0c20dd8bd64e22) [staticcall]
│ └─ ← [Return] 28, 0xa7d19736b0c8d7c143bc5ebb9f676c5207043ea918f78fcc339e5496ed3c285a, 0x0f86e650a01a9a6555917fc44ec3a87a3f53dc471fb63ec6dc94efc1d6b3b78e
├─ [0] VM::startBroadcast(<pk>)
│ └─ ← [Return]
├─ [0] VM::addr(<pk>) [staticcall]
│ └─ ← [Return] 0x29b7D9C8f9c4e158AeDC2bfC31D1931A519682Ed
├─ [30539] 0x5FbDB2315678afecb367f032d93F642f64180aa3::execute(0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000055023074ca113074ca113074ca113074ca113074ca11000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, Signature({ signer: 0x29b7D9C8f9c4e158AeDC2bfC31D1931A519682Ed, yParity: 1, r: 0xa7d19736b0c8d7c143bc5ebb9f676c5207043ea918f78fcc339e5496ed3c285a, s: 0x0f86e650a01a9a6555917fc44ec3a87a3f53dc471fb63ec6dc94efc1d6b3b78e }))
│ ├─ [0] 0x3074Ca113074ca113074CA113074CA113074CA11::fallback{value: 10000000000000000}()
│ │ └─ ← [Stop]
│ └─ ← [Stop]
├─ [0] VM::stopBroadcast()
│ └─ ← [Return]
└─ ← [Stop]
Script ran successfully.
## Setting up 1 EVM.
==========================
Simulated On-chain Traces:
[35039] 0x5FbDB2315678afecb367f032d93F642f64180aa3::execute(0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000055023074ca113074ca113074ca113074ca113074ca11000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, Signature({ signer: 0x29b7D9C8f9c4e158AeDC2bfC31D1931A519682Ed, yParity: 1, r: 0xa7d19736b0c8d7c143bc5ebb9f676c5207043ea918f78fcc339e5496ed3c285a, s: 0x0f86e650a01a9a6555917fc44ec3a87a3f53dc471fb63ec6dc94efc1d6b3b78e }))
├─ [0] 0x3074Ca113074ca113074CA113074CA113074CA11::fallback{value: 10000000000000000}()
│ └─ ← [Stop]
└─ ← [Stop]
==========================
Chain 41144114
Estimated gas price: 0.081543882 gwei
Estimated total gas used for script: 86314
Estimated amount required: 0.000007038378630948 ETH
==========================
##
Sending transactions [0 - 0].
##
Waiting for receipts.
Transactions saved to: /app/foundry/broadcast/Execute.s.sol/41144114/sendEth-latest.json
Sensitive values saved to: /app/foundry/cache/Execute.s.sol/41144114/sendEth-latest.json
Error:
Transaction Failure: 0x9d7edbd23db203be0a7dda87f7785f7848da051eaf4fe4a52517ac6374c1a3d9
make: *** [foundry] Error 1
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.