A test script to test scroll proof verification
gh repo clone makoto/scrolltest
cd scrolltest
export L1_PROVIDER_URL="Add Sepolia JSON RPC endpoint"
yarn
yarn test
tmp/scrolltest - (master) > yarn test
yarn run v1.22.19
warning package.json: No license field
warning ../../package.json: No license field
warning ../../../../package.json: No license field
$ ts-node src/index.ts
2 {
account: '0x94fbce7ca1a0152cfc99f90f4421d31cf356c896',
storage: '0x0000000000000000000000000000000000000000000000000000000000000000'
}
3 {
"address": "0x94fbce7ca1a0152cfc99f90f4421d31cf356c896",
"accountProof": [
"0x0901efcf58a8700d1e2f01519482fd6d9d57ce7a93540cd8c867c77366e42406690cc141d22c2d3353a1a8db35ea542eb93d8febbb825cd532ec18880bd1d4acea",
"0x092ee093d463f238d2814295cc8a3851fa0fb3932a61c0dffa6c053de4b9a6a4860375ccf26275af8e1ac51f8ed654c961e57b9360cc189695041e356b8dfacd3f",
"0x0926ffb7f3318f05794f3350e25b15e4860aac54a3e1b1890758c4b967fee9a61729684a2eb728cedab391f8a27c74b6a74611780449842ee8406095cdf7583933",
"0x091fec583e60da940e0924020e160eac6f3443d5f0b50681619aaca37700d1808a166b4c8807aad32910439a5bf63934fc1a7372eed34540c5f0ed5124d1da77a7",
"0x090dd65d5553b569b89ae0bc43928e31972044551508be6f8c28f8e5cfee5b67101f9867f785df031b82beff3de43e55242925fa09b54a5ce0f78023526458845e",
"0x09187602eaea6eb5d1500295f002c7b44b6a5d96c3c213fe9f818212fed664530910522917e968d10af543544167db2ceda1f341ab2402d629026424b799a8b9ba",
"0x0927ca4ba7d5d3104291d2786642d9f93cc1e5298d38ddb5d1c47511fb27dff327195e75a38eb4d3476346aceed0566c0f0d39aaa7b55979b05067942036ff2756",
"0x0903a42d8e19068da1c1cfd8f2b952a5a6404905a4edb2c27218a2936e4005d3e8271667a10aa8ba4eda9a30dc51ee888fd710c1f2480491791a66a246f31cc6da",
"0x0910c8c37b56530222a2187b04fb612f3684377d872a31931ecc8e3cf1ef7300020d4a8207adb4126943f71d3b497c2b2ce190b0146e10e7bac68d3bc6f07b28a2",
"0x091f6b2452c3607dc7b81568befe47c43e14ac510e4f1173cfc37a5f92f192f99c16b000ee777fe56055f536a276794f291c23ef8e72e5b3b3f5683eba2f24096a",
"0x0919a452d198a7cf01577c3fa60773975d556ce169cc4ab5032d8c8500b7aec30e1213ea1aaba525328e907c3648ea5ae0aef21ced771aa7171ca243d65740274d",
"0x0911f127db5b420f13d4af7d363582bd5f8669cc8694b57b2ae02caca700aaf53228a268436e89187d70b7e52ba71eceb15a5541ac0ed00d041199aa30fa985ff4",
"0x09002b2e069511ca13effac923e1d6d0ca8438008a9f9c313021172f18bd8c5d842738e7a9959589a86424d25a74767da156b87ec408999ca5a64342e7f8328596",
"0x091310d056c72fef2c670a892e937a0671cb31b14fc38fb8935cd8bcafec482aa709e82f3dfe078c353ab1d2315e155d8d0989e5b7309caeee431781e5295e064c",
"0x091e59496c06cb2cbd5a397a8361472a7ee79df018e06eff3f3db265552bc0aa8c20d5bb96e49949e6bb4675642d9aeaf4a1d310b04c18d3e472b921a66f822334",
"0x09106a1b2285a2e6873a1ce5460d933e945f270e467d7c9432fff7f299116d8b1e022a306f5c103de991c9d18722f87b20faec1868802941e9428e5565a71cf5f7",
"0x0928d416a671e12efff1045f7f1f30c57b74650b65578872e42e43892ae2c0d3780e18571870ba0a7b46755282519e59b08a2aeabb3382b9361c8a9aefebfa8237",
"0x0920395e1b736ab51ea38e9e5ad23fe87f87b1600f8caea1f1773fb0d165343e5116a94ade4d8ef3282c212fc04c0717494c861af75d1c8f4f0f0fe543632876df",
"0x0915305af7897da344ed2f36c553474c6ac774f0c7e23e8ef1327efa3e81a1d1ed241e21a0379436e5696000745d5b1d65079f638790573c8cdc9a3e6aee369bba",
"0x081aecf7306fa8a64e92703c1899ae54aba9e73e010f1dccfe8fb72c7a8bc6e7ee245d9b32b7d8c6d9b01015d65b8985b53bfd3086653d56f0e918442a3d72195c",
"0x09166f9c6bbb0712f48b97e72706182838ff58b370b4f5577abc63e9ac661c21bd11e49912865542c41e2cc7409d9716c16854cb4d74462167bacd92f5d10b1c6e",
"0x061258ccbcae0c2cfde2863d54d904a3c166af075bcbb8383e7bafce8f352dc51e2ea97a4adf035655950e487c6d875c153957fd11a9d022db262c164ba7bc06c7",
"0x041d83d7ed0ab2cb1a90a631a73432c9a0ca684964d6fe20ed7eebbb69ecf0379f05080000000000000000000000000000000000000000000000000143000000000000000100000000000000000000000000000000000000000000000000000000000000002d693681687fd7f9e4dee99b81e28ea9f76bc4a46cc2bd941f04d793f134bfc44065cdb3629aeff919178252ecc2e69fe38398f2c61163ec99e04bd79f99274c1945d7e22e6b7a012ed1f5444bd19b47be70c3060e106fccbb6332c70faa059b2094fbce7ca1a0152cfc99f90f4421d31cf356c896000000000000000000000000",
"0x5448495320495320534f4d45204d4147494320425954455320464f5220534d54206d3172525867503278704449"
],
"balance": "0x0",
"poseidonCodeHash": "0x1945d7e22e6b7a012ed1f5444bd19b47be70c3060e106fccbb6332c70faa059b",
"keccakCodeHash": "0x4065cdb3629aeff919178252ecc2e69fe38398f2c61163ec99e04bd79f99274c",
"codeSize": "0x143",
"nonce": "0x1",
"storageHash": "0x2d693681687fd7f9e4dee99b81e28ea9f76bc4a46cc2bd941f04d793f134bfc4",
"storageProof": [
{
"key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"value": "0x3",
"proof": [
"0x0822bcd75fb5e1904e9670426e31b1be542ca0328f4c572280e7186c74b4a96d3f0000000000000000000000000000000000000000000000000000000000000000",
"0x060bc0881e0868b6e9c3c4f28c70932814e8f293460d797fcfe7f5d73080fd63410cebb333477db78ebb52bb709800a7809be35e14389a7ec346d662c040c726a1",
"0x041d3c5f8c36e5da873d45bfa1d2399a572ac77493ec089cbf88a37b9e94428422010100000000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000000",
"0x5448495320495320534f4d45204d4147494320425954455320464f5220534d54206d3172525867503278704449"
]
}
]
}
4 {
accountProof: [
'0x0901efcf58a8700d1e2f01519482fd6d9d57ce7a93540cd8c867c77366e42406690cc141d22c2d3353a1a8db35ea542eb93d8febbb825cd532ec18880bd1d4acea',
'0x092ee093d463f238d2814295cc8a3851fa0fb3932a61c0dffa6c053de4b9a6a4860375ccf26275af8e1ac51f8ed654c961e57b9360cc189695041e356b8dfacd3f',
'0x0926ffb7f3318f05794f3350e25b15e4860aac54a3e1b1890758c4b967fee9a61729684a2eb728cedab391f8a27c74b6a74611780449842ee8406095cdf7583933',
'0x091fec583e60da940e0924020e160eac6f3443d5f0b50681619aaca37700d1808a166b4c8807aad32910439a5bf63934fc1a7372eed34540c5f0ed5124d1da77a7',
'0x090dd65d5553b569b89ae0bc43928e31972044551508be6f8c28f8e5cfee5b67101f9867f785df031b82beff3de43e55242925fa09b54a5ce0f78023526458845e',
'0x09187602eaea6eb5d1500295f002c7b44b6a5d96c3c213fe9f818212fed664530910522917e968d10af543544167db2ceda1f341ab2402d629026424b799a8b9ba',
'0x0927ca4ba7d5d3104291d2786642d9f93cc1e5298d38ddb5d1c47511fb27dff327195e75a38eb4d3476346aceed0566c0f0d39aaa7b55979b05067942036ff2756',
'0x0903a42d8e19068da1c1cfd8f2b952a5a6404905a4edb2c27218a2936e4005d3e8271667a10aa8ba4eda9a30dc51ee888fd710c1f2480491791a66a246f31cc6da',
'0x0910c8c37b56530222a2187b04fb612f3684377d872a31931ecc8e3cf1ef7300020d4a8207adb4126943f71d3b497c2b2ce190b0146e10e7bac68d3bc6f07b28a2',
'0x091f6b2452c3607dc7b81568befe47c43e14ac510e4f1173cfc37a5f92f192f99c16b000ee777fe56055f536a276794f291c23ef8e72e5b3b3f5683eba2f24096a',
'0x0919a452d198a7cf01577c3fa60773975d556ce169cc4ab5032d8c8500b7aec30e1213ea1aaba525328e907c3648ea5ae0aef21ced771aa7171ca243d65740274d',
'0x0911f127db5b420f13d4af7d363582bd5f8669cc8694b57b2ae02caca700aaf53228a268436e89187d70b7e52ba71eceb15a5541ac0ed00d041199aa30fa985ff4',
'0x09002b2e069511ca13effac923e1d6d0ca8438008a9f9c313021172f18bd8c5d842738e7a9959589a86424d25a74767da156b87ec408999ca5a64342e7f8328596',
'0x091310d056c72fef2c670a892e937a0671cb31b14fc38fb8935cd8bcafec482aa709e82f3dfe078c353ab1d2315e155d8d0989e5b7309caeee431781e5295e064c',
'0x091e59496c06cb2cbd5a397a8361472a7ee79df018e06eff3f3db265552bc0aa8c20d5bb96e49949e6bb4675642d9aeaf4a1d310b04c18d3e472b921a66f822334',
'0x09106a1b2285a2e6873a1ce5460d933e945f270e467d7c9432fff7f299116d8b1e022a306f5c103de991c9d18722f87b20faec1868802941e9428e5565a71cf5f7',
'0x0928d416a671e12efff1045f7f1f30c57b74650b65578872e42e43892ae2c0d3780e18571870ba0a7b46755282519e59b08a2aeabb3382b9361c8a9aefebfa8237',
'0x0920395e1b736ab51ea38e9e5ad23fe87f87b1600f8caea1f1773fb0d165343e5116a94ade4d8ef3282c212fc04c0717494c861af75d1c8f4f0f0fe543632876df',
'0x0915305af7897da344ed2f36c553474c6ac774f0c7e23e8ef1327efa3e81a1d1ed241e21a0379436e5696000745d5b1d65079f638790573c8cdc9a3e6aee369bba',
'0x081aecf7306fa8a64e92703c1899ae54aba9e73e010f1dccfe8fb72c7a8bc6e7ee245d9b32b7d8c6d9b01015d65b8985b53bfd3086653d56f0e918442a3d72195c',
'0x09166f9c6bbb0712f48b97e72706182838ff58b370b4f5577abc63e9ac661c21bd11e49912865542c41e2cc7409d9716c16854cb4d74462167bacd92f5d10b1c6e',
'0x061258ccbcae0c2cfde2863d54d904a3c166af075bcbb8383e7bafce8f352dc51e2ea97a4adf035655950e487c6d875c153957fd11a9d022db262c164ba7bc06c7',
'0x041d83d7ed0ab2cb1a90a631a73432c9a0ca684964d6fe20ed7eebbb69ecf0379f05080000000000000000000000000000000000000000000000000143000000000000000100000000000000000000000000000000000000000000000000000000000000002d693681687fd7f9e4dee99b81e28ea9f76bc4a46cc2bd941f04d793f134bfc44065cdb3629aeff919178252ecc2e69fe38398f2c61163ec99e04bd79f99274c1945d7e22e6b7a012ed1f5444bd19b47be70c3060e106fccbb6332c70faa059b2094fbce7ca1a0152cfc99f90f4421d31cf356c896000000000000000000000000',
'0x5448495320495320534f4d45204d4147494320425954455320464f5220534d54206d3172525867503278704449'
]
}
5 {
storageProof: [
'0x0822bcd75fb5e1904e9670426e31b1be542ca0328f4c572280e7186c74b4a96d3f0000000000000000000000000000000000000000000000000000000000000000',
'0x060bc0881e0868b6e9c3c4f28c70932814e8f293460d797fcfe7f5d73080fd63410cebb333477db78ebb52bb709800a7809be35e14389a7ec346d662c040c726a1',
'0x041d3c5f8c36e5da873d45bfa1d2399a572ac77493ec089cbf88a37b9e94428422010100000000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000000',
'0x5448495320495320534f4d45204d4147494320425954455320464f5220534d54206d3172525867503278704449'
]
}
6 {
compressedProof: Uint8Array(1984) [
24, 9, 1, 239, 207, 88, 168, 112, 13, 30, 47, 1,
81, 148, 130, 253, 109, 157, 87, 206, 122, 147, 84, 12,
216, 200, 103, 199, 115, 102, 228, 36, 6, 105, 12, 193,
65, 210, 44, 45, 51, 83, 161, 168, 219, 53, 234, 84,
46, 185, 61, 143, 235, 187, 130, 92, 213, 50, 236, 24,
136, 11, 209, 212, 172, 234, 9, 46, 224, 147, 212, 99,
242, 56, 210, 129, 66, 149, 204, 138, 56, 81, 250, 15,
179, 147, 42, 97, 192, 223, 250, 108, 5, 61, 228, 185,
166, 164, 134, 3,
... 1884 more items
]
}
61 66003
7 [
'0x2531828ea73176161ddb9a7864ae0a97081bd18a1cf921ffea8414947d9e4e59',
'0x0000000000000000000000000000000000000000000000000000000000000003',
stateRoot: '0x2531828ea73176161ddb9a7864ae0a97081bd18a1cf921ffea8414947d9e4e59',
storageValue: '0x0000000000000000000000000000000000000000000000000000000000000003'
]
Error: call revert exception; VM Exception while processing transaction: reverted with reason string "Invalid inclusion proof" [ See: https://links.ethers.org/v5-errors-CALL_EXCEPTION ] (method="verifyStateCommitment(uint256,address,bytes32,bytes)", data="0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017496e76616c696420696e636c7573696f6e2070726f6f66000000000000000000", errorArgs=["Invalid inclusion proof"], errorName="Error", errorSignature="Error(string)", reason="Invalid inclusion proof", code=CALL_EXCEPTION, version=abi/5.7.0)
at Logger.makeError (/Users/makotoinoue/work/ens/tmp/scrolltest/node_modules/@ethersproject/logger/src.ts/index.ts:269:28)
at Logger.throwError (/Users/makotoinoue/work/ens/tmp/scrolltest/node_modules/@ethersproject/logger/src.ts/index.ts:281:20)
at Interface.decodeFunctionResult (/Users/makotoinoue/work/ens/tmp/scrolltest/node_modules/@ethersproject/abi/src.ts/interface.ts:427:23)
at Object.<anonymous> (/Users/makotoinoue/work/ens/tmp/scrolltest/node_modules/@ethersproject/contracts/src.ts/index.ts:400:44)
at step (/Users/makotoinoue/work/ens/tmp/scrolltest/node_modules/@ethersproject/contracts/lib/index.js:48:23)
at Object.next (/Users/makotoinoue/work/ens/tmp/scrolltest/node_modules/@ethersproject/contracts/lib/index.js:29:53)
at fulfilled (/Users/makotoinoue/work/ens/tmp/scrolltest/node_modules/@ethersproject/contracts/lib/index.js:20:58)
at processTicksAndRejections (node:internal/process/task_queues:95:5) {
reason: 'Invalid inclusion proof',
code: 'CALL_EXCEPTION',
method: 'verifyStateCommitment(uint256,address,bytes32,bytes)',
data: '0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017496e76616c696420696e636c7573696f6e2070726f6f66000000000000000000',
errorArgs: [ 'Invalid inclusion proof' ],
errorName: 'Error',
errorSignature: 'Error(string)',
address: '0x64cb3A0Dcf43Ae0EE35C1C15edDF5F46D48Fa570',
args: [
66003,
'0x94fbce7ca1a0152cfc99f90f4421d31cf356c896',
'0x0000000000000000000000000000000000000000000000000000000000000000',
Uint8Array(1984) [
24, 9, 1, 239, 207, 88, 168, 112, 13, 30, 47, 1,
81, 148, 130, 253, 109, 157, 87, 206, 122, 147, 84, 12,
216, 200, 103, 199, 115, 102, 228, 36, 6, 105, 12, 193,
65, 210, 44, 45, 51, 83, 161, 168, 219, 53, 234, 84,
46, 185, 61, 143, 235, 187, 130, 92, 213, 50, 236, 24,
136, 11, 209, 212, 172, 234, 9, 46, 224, 147, 212, 99,
242, 56, 210, 129, 66, 149, 204, 138, 56, 81, 250, 15,
179, 147, 42, 97, 192, 223, 250, 108, 5, 61, 228, 185,
166, 164, 134, 3,
... 1884 more items
]
],
transaction: {
data: '0x8f906e1100000000000000000000000000000000000000000000000000000000000101d300000000000000000000000094fbce7ca1a0152cfc99f90f4421d31cf356c8960000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000007c0180901efcf58a8700d1e2f01519482fd6d9d57ce7a93540cd8c867c77366e42406690cc141d22c2d3353a1a8db35ea542eb93d8febbb825cd532ec18880bd1d4acea092ee093d463f238d2814295cc8a3851fa0fb3932a61c0dffa6c053de4b9a6a4860375ccf26275af8e1ac51f8ed654c961e57b9360cc189695041e356b8dfacd3f0926ffb7f3318f05794f3350e25b15e4860aac54a3e1b1890758c4b967fee9a61729684a2eb728cedab391f8a27c74b6a74611780449842ee8406095cdf7583933091fec583e60da940e0924020e160eac6f3443d5f0b50681619aaca37700d1808a166b4c8807aad32910439a5bf63934fc1a7372eed34540c5f0ed5124d1da77a7090dd65d5553b569b89ae0bc43928e31972044551508be6f8c28f8e5cfee5b67101f9867f785df031b82beff3de43e55242925fa09b54a5ce0f78023526458845e09187602eaea6eb5d1500295f002c7b44b6a5d96c3c213fe9f818212fed664530910522917e968d10af543544167db2ceda1f341ab2402d629026424b799a8b9ba0927ca4ba7d5d3104291d2786642d9f93cc1e5298d38ddb5d1c47511fb27dff327195e75a38eb4d3476346aceed0566c0f0d39aaa7b55979b05067942036ff27560903a42d8e19068da1c1cfd8f2b952a5a6404905a4edb2c27218a2936e4005d3e8271667a10aa8ba4eda9a30dc51ee888fd710c1f2480491791a66a246f31cc6da0910c8c37b56530222a2187b04fb612f3684377d872a31931ecc8e3cf1ef7300020d4a8207adb4126943f71d3b497c2b2ce190b0146e10e7bac68d3bc6f07b28a2091f6b2452c3607dc7b81568befe47c43e14ac510e4f1173cfc37a5f92f192f99c16b000ee777fe56055f536a276794f291c23ef8e72e5b3b3f5683eba2f24096a0919a452d198a7cf01577c3fa60773975d556ce169cc4ab5032d8c8500b7aec30e1213ea1aaba525328e907c3648ea5ae0aef21ced771aa7171ca243d65740274d0911f127db5b420f13d4af7d363582bd5f8669cc8694b57b2ae02caca700aaf53228a268436e89187d70b7e52ba71eceb15a5541ac0ed00d041199aa30fa985ff409002b2e069511ca13effac923e1d6d0ca8438008a9f9c313021172f18bd8c5d842738e7a9959589a86424d25a74767da156b87ec408999ca5a64342e7f8328596091310d056c72fef2c670a892e937a0671cb31b14fc38fb8935cd8bcafec482aa709e82f3dfe078c353ab1d2315e155d8d0989e5b7309caeee431781e5295e064c091e59496c06cb2cbd5a397a8361472a7ee79df018e06eff3f3db265552bc0aa8c20d5bb96e49949e6bb4675642d9aeaf4a1d310b04c18d3e472b921a66f82233409106a1b2285a2e6873a1ce5460d933e945f270e467d7c9432fff7f299116d8b1e022a306f5c103de991c9d18722f87b20faec1868802941e9428e5565a71cf5f70928d416a671e12efff1045f7f1f30c57b74650b65578872e42e43892ae2c0d3780e18571870ba0a7b46755282519e59b08a2aeabb3382b9361c8a9aefebfa82370920395e1b736ab51ea38e9e5ad23fe87f87b1600f8caea1f1773fb0d165343e5116a94ade4d8ef3282c212fc04c0717494c861af75d1c8f4f0f0fe543632876df0915305af7897da344ed2f36c553474c6ac774f0c7e23e8ef1327efa3e81a1d1ed241e21a0379436e5696000745d5b1d65079f638790573c8cdc9a3e6aee369bba081aecf7306fa8a64e92703c1899ae54aba9e73e010f1dccfe8fb72c7a8bc6e7ee245d9b32b7d8c6d9b01015d65b8985b53bfd3086653d56f0e918442a3d72195c09166f9c6bbb0712f48b97e72706182838ff58b370b4f5577abc63e9ac661c21bd11e49912865542c41e2cc7409d9716c16854cb4d74462167bacd92f5d10b1c6e061258ccbcae0c2cfde2863d54d904a3c166af075bcbb8383e7bafce8f352dc51e2ea97a4adf035655950e487c6d875c153957fd11a9d022db262c164ba7bc06c7041d83d7ed0ab2cb1a90a631a73432c9a0ca684964d6fe20ed7eebbb69ecf0379f05080000000000000000000000000000000000000000000000000143000000000000000100000000000000000000000000000000000000000000000000000000000000002d693681687fd7f9e4dee99b81e28ea9f76bc4a46cc2bd941f04d793f134bfc44065cdb3629aeff919178252ecc2e69fe38398f2c61163ec99e04bd79f99274c1945d7e22e6b7a012ed1f5444bd19b47be70c3060e106fccbb6332c70faa059b2094fbce7ca1a0152cfc99f90f4421d31cf356c8960000000000000000000000005448495320495320534f4d45204d4147494320425954455320464f5220534d54206d3172525867503278704449040822bcd75fb5e1904e9670426e31b1be542ca0328f4c572280e7186c74b4a96d3f0000000000000000000000000000000000000000000000000000000000000000060bc0881e0868b6e9c3c4f28c70932814e8f293460d797fcfe7f5d73080fd63410cebb333477db78ebb52bb709800a7809be35e14389a7ec346d662c040c726a1041d3c5f8c36e5da873d45bfa1d2399a572ac77493ec089cbf88a37b9e944284220101000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000005448495320495320534f4d45204d4147494320425954455320464f5220534d54206d3172525867503278704449',
to: '0x64cb3A0Dcf43Ae0EE35C1C15edDF5F46D48Fa570'
}
}
error Command failed with exit code 1.