Update stateProofHelper and proofs

ltyu/sp1-lightclient-ism
Le Yu 4 months ago
parent 252f2d468c
commit 59eeb98dc5
  1. 34
      solidity/test/lib/StateProofHelpers.t.sol
  2. 34
      solidity/test/test-data/getProof-data.json

@ -8,37 +8,38 @@ import "../../contracts/libs/StateProofHelpers.sol";
* @title Test of StateProofHelper
* @notice This test uses the JSON results from an RPC, such as https://www.quicknode.com/docs/ethereum/eth_getProof
*
* address: 0x3EF546F04a1B24EAF9dCe2ed4338A1b5c32e2a56 (TelepathyCcipReadhook on Sepolia)
* storageSlot: 0x0 (slot for TelepathyCcipReadhook.dispatched)
* blockNumber: 5322910
* stateRoot: 0x03e88cdfbd9dc672604e797310dc332658844408a65fef43c83313f2cd19bb9b (sourced from https://etherscan.io/block/5322910, but also the hash of the 1st account proof)
* address: 0x7DDf66a264656A36eB0Ff4bC6eC562028B983B90 (DispatchedHook on Holesky)
* storageSlot: 0x66ce4e8e12a5403828e3fb3176b429cb926ef9dc29fd04c1b3c13ed2787d98d6 (slot for DispatchedHook.dispatched)
* blockNumber: 2151871
* stateRoot: 0x03e88cdfbd9dc672604e797310dc332658844408a65fef43c83313f2cd19bb9b (sourced from https://holesky.etherscan.io/block/2151871)
*
* Alternatively, you can use cast index to access mappings:
* You can use cast index to access storage slot of DispatchedHook.dispatched for nonce 138:
*
* Get the the storage location for slot 0x0 (a nested mapping(address mailbox => mapping(uint256 messageNonce => messageId)))
* cast index address "0xd81BDE27ce1217C5DaF4dE611577667534f997B0" 0
* Get the the storage location for slot 0x0 (mapping(uint256 messageNonce => messageId))
* cast index address "0x7DDf66a264656A36eB0Ff4bC6eC562028B983B90" 0
*
* Get the the index for nonce 0 at storage location calculated above
* cast index uint256 0 0xc975e4c05def9782b312ab471f3a24f2361ceeffb778cb5c7bbde5b1c4c53074
* cast index uint256 138 0
* > 0x66ce4e8e12a5403828e3fb3176b429cb926ef9dc29fd04c1b3c13ed2787d98d6
*/
contract StateProofHelpersTest is Test {
string proofsJson;
bytes[] accountProof;
bytes[] storageProof;
address constant HOOK_ADDR = 0x3EF546F04a1B24EAF9dCe2ed4338A1b5c32e2a56;
address constant HOOK_ADDR = 0x7DDf66a264656A36eB0Ff4bC6eC562028B983B90;
bytes32 constant stateRoot =
bytes32(
0x03e88cdfbd9dc672604e797310dc332658844408a65fef43c83313f2cd19bb9b
0x8284b05f9fecfb3b8089dc7671e647563fdba6b1c6b4ce10d257a5f18fd471cf
);
address constant MAILBOX_ADDR = 0xd81BDE27ce1217C5DaF4dE611577667534f997B0;
bytes constant MESSAGE_ID =
hex"31ede38d2e93c5aee49c836f329a626d8c6322abfbff3783e82e5759f870d7e9";
uint256 constant ACCOUNT_PROOF_LENGTH = 7;
hex"42a71a941db463ca31d30e30837b436a24fafbf1e0210e5013dcc5af8029989c";
uint256 constant ACCOUNT_PROOF_LENGTH = 9;
uint256 constant STORAGE_PROOF_LENGTH = 1;
uint256 constant DISPATCHED_SLOT = 0;
uint32 constant MESSAGE_NONCE = 0;
uint32 constant MESSAGE_NONCE = 138;
bytes32 constant EMPTY_BYTES32 = bytes32("");
function setUp() public virtual {
@ -91,12 +92,9 @@ contract StateProofHelpersTest is Test {
);
// Calculate the dispatched slot
// mapping(address mailbox => mapping(uint256 messageNonce => messageId))
// mapping(uint256 messageNonce => messageId)
bytes32 dispatchedSlot = keccak256(
abi.encode(
MESSAGE_NONCE,
keccak256(abi.encode(MAILBOX_ADDR, DISPATCHED_SLOT))
)
abi.encode(MESSAGE_NONCE, DISPATCHED_SLOT)
);
bytes memory delivery = StorageProof.getStorageBytes(
keccak256(abi.encode(dispatchedSlot)),

@ -1,25 +1,27 @@
{
"address": "0x3ef546f04a1b24eaf9dce2ed4338a1b5c32e2a56",
"balance": "0x0",
"codeHash": "0x2a5a7c6a053518aea9c1affe22c95e2e692204d39c9bdb0826de5012e7c93c4d",
"nonce": "0x1",
"storageHash": "0x3f85413bd5bccd8348f123724fb024c5fbab1ab934b0a7485202f75d84803743",
"address": "0x7ddf66a264656a36eb0ff4bc6ec562028b983b90",
"accountProof": [
"0xf90211a0857923ed0df1a7e89c6c157d9f228ca778b5028cce0fe977bbacdc29ebdcbe1da04cc511d34d843e5ed02112368d4885e8bc25e8e394abbc526459f4e38b842737a07f59950cdd53d4bb97096bbd99e7c04a5d21a97dac8a049f9b308610ea66c98fa02b8ce5f6b67ac79c8947b1919460f7bed77488762c059e5e88c64dfc722aaa56a03521e9571b798e0f86681b9ce0f0e9bf698e9059542d778cc4cde5659a31f9d2a0b90c6a5217bfd233f103dba76e18067f90001297c801cb6feb0c1f7912e0a522a0831099c940ebe93be0a1044566150044d22a8d414518eeb5d919d05468c8f510a054a09da1ca52551a35be75a623e419840060f2e56f86eb3678a689f66b38051da05945b528b186c0162d7cbfa281d30a361ece2a9f1788b33e7fda6bd7c3c5eb07a0401c3ac89520c5a59a19086e82314bb30ad2ecc5ddce09cdf613dd19adb41feca031e6288dc6db773d11cd579b974658473547abfcd82531cf1833484079baff58a099184994c461f1d6ce42e5e91ac66d6c6a5b4cc7ed845f058b795005b46328c1a054bde23ceae3fe9564654f16f867f3f321e0b7e16e3b08e925beb5fb5ffcb1fda040f8d48347ec397a261b090c7e3506f939b6033993c2836c24a487318310da67a0a6e90ed0e95843baeec2c8a6a017e61702556b67ca90c9576342fe268d0a9edba0ca8b4b3ea82cc66299ee45708b555de9b6272d3df24cb472c7baffaa72b39a0d80",
"0xf90211a0d124c71cf01214346e6facb7cd9e7743fca3a36f4252045573e37dd5b1fc208aa09318652584a16019f80279509f3133ee0f6fed3d391c1c0522b590b923b9283fa0fc90168fe3e76ff17c23781513065c71d13b5f963e492106f2b9a05ed1c9e3dca0c919acc2a76e4fef630534efea6f77a197646db3823ff861c430944385391672a0708cd1310ea8f59c163d0d7b905b456ed377000e989a343dbc61523ec4da6de3a0ade6811b1e1dc547362bfb0cdc943d6ae5d8283252f1e73d3000176a24ed8320a0effada816260fe1f7053c9c6f0cb49e0ee5ebb72be8a05f0cbcad3e7c95dd518a087d09c9bd032f470eed0637da12daa8e6d7c52102d51e87dfdecfdd0f01fc665a0d830bd0ebb1b7d0ddc716138e4341e64fa0c96d4330ac643c3306a842fdfb72ea05fb1c8a24c36a2ccae1ab7c39c0efdf56325dbc5de011f3c548827d592bd7f3ba0e127892391fcf8d6640c45c518ea6f1014b6983586e97e3ec4ae0e546ac22696a0573a0337bba203efa7a2ba3fab1a145e3cfd3b7a70d096489c2c549f9abad184a0daeb93e98ba67210f9e62088838adf7b2e83caa8ec9902e669095066f5abd1f4a0907a2f066f7bad1ebb9ba8998e217c82b2169336daa0f4c0db3b8ac05ad59fc5a03ac759b9a285ceb7293f13071d838261585bb87ae6a8c5489d13b7a818a60e8ea042abb78fd5f125d0dfd6ea10da83f064ed39920c3616e97b7810ee1f306559ec80",
"0xf90211a0316755c60ab5ac6d1ca0ce7fc7131544cb41bb5907b6c44b0659731c5196f505a0f4d87833b3b7fdb40011cd61f5e4fddf82a99e195e15a6650310d59f276111aba04c923074395b960cd08d04910a3c14ec3cb7d1ae858f9aef5cc888e6e03fbfb8a07c9d54b33c8a9db1e3efe12d0adb042d741fa2f2bccab2bf7d0afcb03626fba8a066400964da5b44e27fadbac20d48cfafc511c3c6bfaa68c1b92ae215e914f61ca038e0e323e92c7a20aaf13c302a493a5241c52a2c169aaaf8d48d23e17f44f643a0646a80b8ac762550cf167377f0837a5993536789eb065369829fd3b13bb52cc5a0de5c001063a09ee8b228199fcd393226a04ac68bc38f600729f7af2305c10368a035cb84ac8c8bb1ddb01e3377a7a17e22e23de20c89f4fa1bd7997bdc0421516aa01a598f35bf00309ed051c4096b8aac157d3411013211b2df2a02a8246eb5d0b6a0fab8ac4cedece1fe1ba89c617413a8df9a28e287e32f92bc52db1485ebb2396ea036f69b2bdc01e9b90102d5df53f9c02f3474db4f613f91d13c46f341b9fb9746a0d0bda7e73681df8b78903454ae252ebd8d34e48af88aa0ad18d6c2fb86a99d89a00d98621a3d3071cc04c492fd2c666637f27138eea11b83f516467f33a00b5eefa0198f566c5350232b08192dfe9cb7dd0a07b21c15638a80f912114a2b5c96be59a035092d3d51e3cd65ad2dcdb2d6c19aadb63a944ac9cedb7093ea68be58b7d83e80",
"0xf90211a0a7aea3e55e49172a7da1f511fceb247072cb0b4d8a87d9cd5cde0bc87046665ca08a057cd8f49b6ad4841f8e23b81706b8a424eb092663e4e1e60f98dba1e07e44a064098aa80e0d7e101f4e87fa5983f9a43ff6c26d8adaafea0c8f745e0fb9099aa09a5ec75b929e80a80ae115a1aec2827dcdb3eec116fce7a805eebe02d51ff3d7a027c8ef5bfc576ad5e7577005716a18d16ae203c440d65e12a9581a252b9f0e4ba01d352d5770faf1ab8a8096739876d9af10846effbd5f0a4bbb3a53bcb687fc9ca0a9da86853b0a80f1be569b6563aa35e8ab5d635132836b9dc95952b83192bdd3a0aa42135324b35a446ec3620ab361bb98d4636ebd2774715f142550b66cb5c723a0cc9734326b403f694d73ee6dd774e56c5675428ebf24b2ec28b319146f0d1ebda0a0d2c0664e654776405127a978a6edf6c249a71e94747158b2cae156b795b9eaa07a5811d019afead667944b567e595b7ef6084036be9bfde82097a479f3b9d01ca009e0186fe2bbb6f5f8399fabcbda45902405241f25b34352ff7ec66c78fa124aa0cacc8baa6b996e057fe8abaa433f50ba5f9b7afd501a1dbb8b952371e4b604efa081e453659b14017d3f3492fecfa4e9b3a03b8b8d3236fd2c3082c9abf528b6aca030e4ddd56b0b072e820f1afd7bd32cf5cf06f92d69231cbdc236a968c1f43283a0961d902b6b6ee68fb1d75a633a76786a7783f7603f8812ada01f865639e9daf880",
"0xf90211a045376ea7070c6b6bba71480a083c5ee916a4c72aa89ddc0539f69ca2f951ce96a0786afe5e76d004a35a17fb7931e70f40b0ce3a57e5246c94ebc4629e0a61e5bca0ce44e7e569e415dc667a71d212d260023fee99415bd0bcfd1e5aeee1cdbd8ec9a051cabbabc99fbd009590821598f342f3c2606a4241c81c46dd7e65c18d9ee098a0dbae505b1ce907ff5d451c5d113736ed911b239897d1f6887d3350da314f174ba047f6b90756987d0268044b85bc44da5a34e988044014a6c27cf62d185c7b46e9a0f7566eb4d5c9bc2361ecfffe8fc6a5ac5b5b9380c8b8152284cd714d44e79b12a0cc4a7ee9c4e83d67d64a9bfb0aec93cc3b8966c235b5b65f17333832b023a464a00b9024cfba692f2385d58ea3dca746f9e062982fb21f6f16ead2cefb70d25657a0d187348c2d25747788855d8094ce6e3df6940e26dca20cec4cc26e4f2292ee67a0355474e9a646331b74d171dd023e68f7c50f4bc1257a6433ee01a9ea8ce1577aa096f7bfa110a35e95127808a58ec44f3478b8b67f98ff3b8b140a3e9d249a6deba0dac2dea453ebb23f8a6a8a82db61ca160792aa967db905d98ee0dbcb2b81ef88a0bf7bac1cc4c2e30b47c5bc62ef9aedba995e46ad0432cf78cc8ec064ebf62ec7a0a0b931ee3c50545a4f91864c9501fb02eaa879ab02e4f677b11a1667d42cd55ca0654f679d8743df36bb61fe7eecca444d1a1773435b876fcafadd36c1c9bfe24980",
"0xf901d1a0c6d1570250983b95bd625c871d0627cc5bf6557738904ec34f6ce54c4d4782dba098975098243c73d0de47c1e3edf85d54a2010b50e85ffdac2192cc71484993e0a028e68d0c580151049649c5c882ddc4fa3f946f832b6fe34f210420f82ad18e0c80a0a0c6abc7c7b8c738ddb43a72c19c6a0dc4eee7808e4653d2ac67d5d777c5cfe8a0a3843b012a7d6170298a6e0024a79e466614296d4d09a72876be8049294d7dcfa02370c2a2892d2eacc15cdc46cef02125499df7afe41a16af6ce78d5fb8d5a7b9a0e9c8fa9b7269050b18b76ac5f07847e93e2403a438783e27bb69bb89484a7a52a08a7fef1f6d80c56ae256362f9de34169d3d66b17a8f0be6dbd0fe82c31a0c4da80a081b05ed42fc65a32afabe8f3ab58eedc8658472f383150e4c631ce1b3a36bacda04fe5deb98851372cb69ab014dba185f1c488ccd9810b4998d7737d0bee884718a0c8d739dcf5707542a9f751ec6a0acb228f28e55659c35973ee8a46aefa9a7a4fa0f0128b39c576d4e23e8180b154d7e8f7031a7d6775191188c87cc11573730008a0d391bf99084848ebff2c014653ec6f9634c80b1115850174cdf0edf83669b073a031d14af58dae3d2fdf510a3c48e988b860d1bfe406e6365be92252d63f4c316080",
"0xf8679e20bc9ed3e4003248a3f81d89ecc98e14f0359535a5195a1d33a6fe19556bb846f8440180a03f85413bd5bccd8348f123724fb024c5fbab1ab934b0a7485202f75d84803743a02a5a7c6a053518aea9c1affe22c95e2e692204d39c9bdb0826de5012e7c93c4d"
"0xf90211a093694c5882e1f5908acca786e7b86b4e92e0aafc1f270439a8d0ab930038d9a4a093a2a8d0ef65b1f4054faa553d4f85bf87ad04453786c4716ff929974920e3c1a04cbd158a7556df62e2be9abd40e02056d87152b5d165f6db36f07246ad3ebed2a0c5863d07dcca96f6b405df01c7b57dd2d5ce6fd3907e9afb0a3a7ea9bd46464aa0a2669b51db6998acb40b41177566ea8c1ef7cabfd5c8ceb41b90db724171368ca02bca7f1d94b97a6f9583b83b320264ebb3a6d95cfb378dec305d173a1bb61f80a0f7572ce1b354b4579cf6550fad462049bcafdc8c60b2fc0738ce38a15267bac5a0d57aa9149eeca89004da6d210c2bdc5a282c646be4fbbea75a35248144dd3228a09c27ba0bb0f6f22cc945961735ea19dfa3d6f124fed440465a7255321425520ca0eca577bf242b09b5b0658431921eb4162367442fd91f8f3cff27307237a94eaea0fc97b15ba452355b082f39c70f6691c6c7ea4e03351f0632856eb239908a6798a0243b1f784014f441e2fd0c59207491f2d3520a3fdf0920c176715847f5e4aed8a061dd1e9236d4c42ddceb9f3841490a87aee8c43d2c9790cba1ad1ad8e47fc19da02e472d1ebb877a19e6b53dbbde0f87c5bbdaa771cdda45662fe7b497676172b2a0de907c2d32f727e4000b2b41332077bb918aadf4fdf2d11f78c012105cca8c7fa096db553de771e027dc9d00d8f6b32ca3e832ad5a16ce8acdfa7de4395d1866a780",
"0xf90211a002f519f303d8d5e7eb021143eb4572936771018e67ef4552885dee6e602a3b59a0d62c39697b69aca4ea3f80aee285eb1b5cbae5bfd7a46bd3e21effaf4e41090da07462f6d6b14094bcd93c2027dd90e45bbdc019ea75b51834e5a88774fb4fe3aaa0a4ed43560e8e3735b440f37a664f5caf5aaf7f31774ace20f421df3dbf34e76da0238fc12210b4baa520bbd6d19fa665a29006fe1b1fbb849b1ee2a25a74276d12a0df03a59ec6a850b5e628e975ae7eb79a8d683567472c98ece155f23a2f8cf879a0b1b026592271ef63f55075dc877ff620858cc25c992df83586f0592507ae1fe3a00ab7328978ce72e3cc1eef7cb09922cc120aacef0ba227ac5ec5971afa0b0a1aa06fed92c46be8360d570db24a14623706a487dd736b10f7b4c58250511d431ec7a07031ca4339f9b7abff9af9337924ed45aaedc239e13f21a3c1da1de5b5b0e7cca0c095b00e45e1545b37c5af948718ec4c271da6c6f5bd68fd29102269c5421746a0bc99eb9089137a7549e1f78ef68b759da1db1f6458f7806fff186295577a1217a0b98190bbb11f5aa4874bc341284df4fde3eeef7d26cb9b93140e95b34e5080e5a0d8b77607de6d4dd13fcb9836c0935c0c11aca9635460a8c21f2a912e1f61b47ea0e2f9d0abe1033e1c2c478e77b0177d2d52f79cffc3e46a5ef7df3d00945c4861a07ed2a48e3689ab9cd225a65682ef42e7d88978b82fdb28e0b0e840ae81d72f2980",
"0xf90211a02c700fd845bf2c2a6b754cd2be7dc0947c71f1c652aeeaca2b8a79a7fc7c5ffca0d8954469ac33f0b6eb7bead2c8c0031dc3e00ee5f5a6088ad000ca055ac49d89a05f68df003ea67abdae86c40fc799d3e3903ff9fa710ab51d2320bcaff5aba1e4a0eddf79d63ec672e7fe8807f212989ad963c0fbbadb99f791d70887b3a6da212da040bc82a9cf7c71d0ff197b7447a3abd4da5d43d3829abf6a98226685c4fb0a3ea03f7ccc34869dfb4e770a1bb9098da5dff91a55a3959f42d78575b1f2a2a9c2efa0332382ab7562f5b0281195b2d6f865b6bdac24da9db15ca10d7c7c1e60176797a0740b3221738a02b7b86cd3f1cbd94b5c51b64bad9fb3cc71815a15fda42690cfa096b8990577b12ec0a61d4440793b8f7b954a4728cb455b7f61876ea628054706a0696d5badf68fa97cee754d8abd8e6f9c5187a9ece8ba0c13dcea13348fff707da00aed429e87274f3edf856e42a0fc78b4ad79a1e50891541602640bf2b26ad569a0b8525b05b39e6c476af36c70fe656c93c5db8327e52669e59a04fe2d9222e409a00f9eec24b2c6bd03aa7445d9a8848fa5471e0d2dd76cf38aa10b11378e33e6dda049706e540a2fbd0feb89275be5efd7e5cbd1cd4b9542fb8b676ba38e5dfe3080a092ae123333bea9f340380f04d1c7ab9a2f485561ce1108e7ee4bd214b0c49244a0284db5e0188f75c065d46a6364b2d9c8a780cd41fdd97a086c391cc732ec2b2b80",
"0xf90211a04e6470cfcd75f7ed8d1954f799b252a1b4243e97576b923f006dc0d9dc6760b4a0883f08744ea5205079372e070bbc64de7840e731cfb15aaab2dd2d4400070519a0584fc861e5c4bc874b2978a844eb2a9943a615722cc87f94a0da2bcd7558cc8aa07051369fe5fdd6fcf30843b3a829b0582c6cc53eb81de42fec18f619d775aa8da03f405327844c53ab5da4db404bb30f9530d1d63196031256d381de28c3860b53a01fb13c2af47e666a92723093c1b5b05580e6ae747648fd99a4f2aee299bda836a0954a9acf4c11ac9280ff998c5c9ddcc5c7e1c1407958192833e601b61dec86f3a0aa5713e61d1ac376fd28233f9a87211bf3c194bf1b834f731c2000a82f68b55aa08823d9d90bf4fd034b525f80416fd43eadc4ff0ec004d5b5b44da2e0f31dd4bfa02fdd7032f5fbdbda68522f0aa4066556b38624b692e63a231a0b6aeb31047f93a047603ab135fe5fe41e516881cec7676883b3cd57ba7702abeeb7d415f2c30829a07dfb8d0321464c4e7c16b3b9c06d8239c41d9b01e46840a877ffe608db92acdda0b60bac038ebf3eaf5170b4047b7c1fb6996dd472246941e3744b181c0ae5f72ba0c31b85c838bfa3125d3074c31eca02bf29a4f092d8f5d2e98f1d14fd04c61ddaa0def5d206bd7d78a27a227487de12292af283c7794e60e9543a566a159ec42db1a0b897e276bcd1875cc5edab1baee0f68954f32642220bf32ecbce177b7fbf653580",
"0xf90211a0774ab994eaeffaa5775f5316f39419f7363ea2de5aa42c5cee63dc66bfcf39d6a03e062f48fc8e104d215c8986cebace00776adffb610a5a461cc81b44ace02134a0422439e81e6028581ab30a206bc5235ae3030cd545f9f01573f0ed11aab8cf68a0bb6b4361bb34ef19802a430c98bbdf577af63dcc9474a5d7b24095ea18de623da09e49728b337b89305add31780b8d83239bb0772a196635518f8d0c05824b93e8a094bb32550a816ce0a636bffc4ad9b86939a615895a8cb2884b8a78578500086aa03994d33f777401467b9e24323374a730e4dd38793f6870790ea097a1b60ef466a0db942adbd22d147046a3230067077890b763b85233b47f3138100eaad6dcb092a0ff683e0dd4b07a6b6cfe770e38bdb0cb7baf8075499e2d25bd86250a80a3c906a0bc7c8b8ecc0925f118631763d144e99d3c5f7d8318c50b71e4e2eec25cf2f07aa01e778b24a4a4c80dfae8a42b26fc56ee0a331407b368eda11b651f3eb95e91a8a03b4519163bf94238f2cf1acda6e27d03d8f260697bc5da19058f4d6700846dafa03f9023cbca07125eac42867e716b15b627222a26dc7b2cfb3137fa6bddb93602a01e1684035a81e63ce973e6245eb5c95b031bb1451a428741fa30c74286604023a0d89a0ee2c13f4af389e1325ea66f8b100b297e975b25d5f0b50f87a9a162aa21a0bdd91b0bb3546f19221cc4f35aebafc8ba933635c8fea014d14319220f24a28f80",
"0xf901d1a0e08b218b2c691a3a8895d1836ceaac960da169f04f932ddaa8750ad640603d49a0aa630f5295e6537cd7b4cfee97388094a0c4c4155f1645d53180ca922edc7f4680a0f2d603672ce78607d1fc71a4015dff55775b0a2cbb0a1690a7d8d8592bd9011ba08c71db83ccd0b2bddf553251ee9c366266efff460fb03d9d4343dd4a91117013a013b8697baa9c5e0d0efe502adeaf0d762cbe92c7007dcac83d9389d3a070bfb8a08a28065c57fe221ac4131d9e00a89c25882224709172b97e843b90d9d107a23aa0608a8a2db60f8aede2c901786e0d10aecdae05b0b357e49aeb8338548c0ce14ba0f9352754ad00ad920f4394efc81bd3736d1ae66bb8e588a1c63d877871baa7f5a0761d300ad083094081f75b3b427a09cf1999775d659fa66de189ae09f7d0e023a03fa39ad2758663302ac67bfaac74b4c7d62ceceed21f905e3c5231599ce60d80a09d93cf91e1b6c88c866c663fe63343bfd238bdc40885e4ee0ef8b8fca24b0c7380a0b167a4a14bd4e3d8005f17bdb6a75819ab869d3250881c44c044c442bba5fc52a0d3cf8f8323ca844acdfa9388b2ded875a871d0f17e807843e1f0046fb9c719e1a0474382b181bc1e633b2ebb1b08e14663bb780c083561db0647c9fb795bb57b2a80",
"0xf87180a0d2e65b76632360392d9b49ef75b27b22acfca4e20943775d003f50efd095e7de80808080808080808080a0a1a636c2952a5ff4620d2b7c0db1d63c436d9b1d1c11e35ec7cf4eb2699d861d8080a0ab89fcea6c567fa5f2f15846e96ded6e5d09f1efa92b8a9e126220ae7bd5ea8380",
"0xf8518080808080a0d5428807476201652c78848aed6caccf294922a9423208c230ec6cad61d80f49808080808080a0fd031ee609002a51cafb18092b67b3e2aeb7f0b5981e98cbe15e22c549c8fd6080808080",
"0xf8669d20c64bb471695a727823d06052974f88e5d5d0930ddf4d845736052c56b846f8440180a093ca78e5406adbb1fc7cfa7b4f2b36bd10ad60c1f8495f7d09c0dd636c46dcc7a05e2d5e087b41a1217a8a72fe4ff449ac2f687cf2ae26035ed8c9705d4de8babd"
],
"balance": "0x0",
"codeHash": "0x5e2d5e087b41a1217a8a72fe4ff449ac2f687cf2ae26035ed8c9705d4de8babd",
"nonce": "0x1",
"storageHash": "0x93ca78e5406adbb1fc7cfa7b4f2b36bd10ad60c1f8495f7d09c0dd636c46dcc7",
"storageProof": [
{
"key": "0x02c1eed75677f1bd39cc3abdd3042974bf12ab4a12ecc40df73fe3aa103e5e0e",
"key": "0x66ce4e8e12a5403828e3fb3176b429cb926ef9dc29fd04c1b3c13ed2787d98d6",
"value": "0x42a71a941db463ca31d30e30837b436a24fafbf1e0210e5013dcc5af8029989c",
"proof": [
"0xf844a120443dd0be11dd8e645a2e5675fd62011681443445ea8b04c77d2cdeb1326739eca1a031ede38d2e93c5aee49c836f329a626d8c6322abfbff3783e82e5759f870d7e9"
],
"value": "0x31ede38d2e93c5aee49c836f329a626d8c6322abfbff3783e82e5759f870d7e9"
"0xf844a1207d14c8faa69fd022d645df45910d238c9eecde83d0c2d3345ded60cce5089440a1a042a71a941db463ca31d30e30837b436a24fafbf1e0210e5013dcc5af8029989c"
]
}
]
}

Loading…
Cancel
Save