Skip to content

Latest commit

 

History

History
172 lines (167 loc) · 17.5 KB

README.md

File metadata and controls

172 lines (167 loc) · 17.5 KB

Scroll Test

A test script to test scroll proof verification

Running test

gh repo clone makoto/scrolltest
cd scrolltest
export L1_PROVIDER_URL="Add Sepolia JSON RPC endpoint"
yarn
yarn test

Output

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.