From 2cfff4e5620ad417021a79531e3079a5821eb1a0 Mon Sep 17 00:00:00 2001 From: Matthieu Vachon Date: Sat, 8 Feb 2025 12:29:24 -0500 Subject: [PATCH] Added two new test cases and fixed double suicide withdraw The StateDB SelftDestruct6780 must not record a balance change since the `opSelfdestruct6780` instruction implementation already calls `StateDB.SubBalance` to deduce the suicide refund. The second test case show case a new account creations in 2.3 but that doesn't appear when running in backward compatibility mode using 3.0 version of the tracer. --- core/state/statedb_hooked.go | 7 +- .../tracetest/firehose/firehose_test.go | 2 + .../block.207938.golden.json | 444 ++++++++++++++++++ .../extra_account_creations/prestate.json | 182 +++++++ .../block.1550267.golden.json | 379 +++++++++++++++ .../suicide_double_withdraw/prestate.json | 171 +++++++ 6 files changed, 1182 insertions(+), 3 deletions(-) create mode 100644 eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/extra_account_creations/block.207938.golden.json create mode 100644 eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/extra_account_creations/prestate.json create mode 100644 eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/suicide_double_withdraw/block.1550267.golden.json create mode 100644 eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/suicide_double_withdraw/prestate.json diff --git a/core/state/statedb_hooked.go b/core/state/statedb_hooked.go index 2e07d3e080..e5292ef8ec 100644 --- a/core/state/statedb_hooked.go +++ b/core/state/statedb_hooked.go @@ -234,9 +234,10 @@ func (s *hookedStateDB) SelfDestruct6780(address common.Address) (uint256.Int, b prev, changed := s.inner.SelfDestruct6780(address) - if s.hooks.OnBalanceChange != nil && changed && !prev.IsZero() { - s.hooks.OnBalanceChange(address, prev.ToBig(), new(big.Int), tracing.BalanceDecreaseSelfdestruct) - } + // No balance change hook for EIP-6780 as the instruction handler does it already + // if s.hooks.OnBalanceChange != nil && changed && !prev.IsZero() { + // s.hooks.OnBalanceChange(address, prev.ToBig(), new(big.Int), tracing.BalanceDecreaseSelfdestruct) + // } if s.hooks.OnCodeChange != nil && changed && len(prevCode) > 0 { s.hooks.OnCodeChange(address, prevCodeHash, prevCode, types.EmptyCodeHash, nil) diff --git a/eth/tracers/internal/tracetest/firehose/firehose_test.go b/eth/tracers/internal/tracetest/firehose/firehose_test.go index 422ab0e5e0..8edad349b7 100644 --- a/eth/tracers/internal/tracetest/firehose/firehose_test.go +++ b/eth/tracers/internal/tracetest/firehose/firehose_test.go @@ -73,6 +73,8 @@ func TestFirehosePrestate(t *testing.T) { testFolders := []string{ "./testdata/TestFirehosePrestate/keccak256_too_few_memory_bytes_get_padded", "./testdata/TestFirehosePrestate/keccak256_wrong_diff", + "./testdata/TestFirehosePrestate/suicide_double_withdraw", + "./testdata/TestFirehosePrestate/extra_account_creations", } for _, folder := range testFolders { diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/extra_account_creations/block.207938.golden.json b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/extra_account_creations/block.207938.golden.json new file mode 100644 index 0000000000..8542060194 --- /dev/null +++ b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/extra_account_creations/block.207938.golden.json @@ -0,0 +1,444 @@ +{ + "hash": "pmFJOXlO1smEJbK4oUBqjZ0iFBpYsTq50dyNbEiZ+Mw=", + "number": "207938", + "size": "2807", + "header": { + "parentHash": "nHyKL2uLMm9sBbmXgBbS0IWWvNldDJ8aquJBacj/BYg=", + "uncleHash": "HcxN6N7HXXqrhbVntszUGtMSRRuUinQT8KFC/UDUk0c=", + "coinbase": "RV5aoYRpvGzO9JWUZFZmxYejpxs=", + "stateRoot": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "transactionsRoot": "0yEw5Z71BzpX25P3pM6JtJzwwAKrFMgJGulCMo+tLw8=", + "receiptRoot": "VugfFxvMVab/g0XmksD4bltI4BuZbK3AAWIvteNjtCE=", + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "difficulty": { + "bytes": "AA==" + }, + "number": "207938", + "gasLimit": "30000000", + "timestamp": "2023-10-29T10:11:12Z", + "mixHash": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "hash": "pmFJOXlO1smEJbK4oUBqjZ0iFBpYsTq50dyNbEiZ+Mw=", + "baseFeePerGas": { + "bytes": "Bw==" + }, + "parentBeaconRoot": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + }, + "transactionTraces": [ + { + "to": "X/E31LD9zUncowx89X5XigJtJ4k=", + "nonce": "4", + "gasPrice": { + "bytes": "ASoF8gA=" + }, + "gasLimit": "300000", + "input": "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", + "v": "hPM=", + "r": "SDMAY2eUIzuof42iuJbp7ICVqnBmYRZTwaymE2ozrcA=", + "s": "bk+EAD3UiLUfxRzH3Bbv5y8N7rhKESSMRwXu3bqryaQ=", + "gasUsed": "198281", + "hash": "4t4kgzDQkJ+jBDUJgCn1J0QkxepFeDbojFN7R4lupdY=", + "from": "diuuNYBn2VTD1f0iIcjfhQt9Leo=", + "beginOrdinal": "1", + "endOrdinal": "53", + "status": "REVERTED", + "receipt": { + "cumulativeGasUsed": "198281", + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + }, + "calls": [ + { + "index": 1, + "callType": "CALL", + "caller": "diuuNYBn2VTD1f0iIcjfhQt9Leo=", + "address": "X/E31LD9zUncowx89X5XigJtJ4k=", + "gasLimit": "263880", + "gasConsumed": "162161", + "returnData": "IgJmtgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG0FBMTMgaW5pdENvZGUgZmFpbGVkIG9yIE9PRwAAAAAA", + "input": "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", + "executedCode": true, + "keccakPreimages": { + "28d9e8e57be8527d0679250d50e4fae027ae189be41776c0a4a2a0a42c2218da": "a16ebae5813bd19aa03287aa905d783611ff8b419ce30428f2da9457d9aa27630000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d27890000000000000000000000000000000000000000000000000000000000004268", + "58ce8202536a0e9871f92a2e42a02c92ee563a7817d29ae23b734f34e7ddda6c": "b98cb1da4f9bd640879f0bbcb30a541c841634067d773af3d29743442dc991c168c434d99836a723", + "a16ebae5813bd19aa03287aa905d783611ff8b419ce30428f2da9457d9aa2763": "000000000000000000000000023b8381813a7d98d973ef70cfe3b6fd3eb5af8f0000000000000000000000000000000000000000000000000000000000000000fe7e16dbeb61a0da1615b2a5b44efb2dc9288a102d97b83968a814c67dcb8b08d525d4a8e0332b956f801a3fc3094f9edf480fcda1a4ea641e7c51240fd0b2da000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000249f000000000000000000000000000000000000000000000000000000000000052080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b9aca0058ce8202536a0e9871f92a2e42a02c92ee563a7817d29ae23b734f34e7ddda6c", + "d525d4a8e0332b956f801a3fc3094f9edf480fcda1a4ea641e7c51240fd0b2da": "b61d27f60000000000000000000000007d773af3d29743442dc991c168c434d99836a723000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044095ea7b3000000000000000000000000b98cb1da4f9bd640879f0bbcb30a541c84163406ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000", + "fe7e16dbeb61a0da1615b2a5b44efb2dc9288a102d97b83968a814c67dcb8b08": "9406cc6185a346906296840746125a0e449764545fbfb9cf000000000000000000000000762bae358067d954c3d5fd2221c8df850b7d2dea0000000000000000000000000000000000000000000000000000000000000000" + }, + "storageChanges": [ + { + "address": "X/E31LD9zUncowx89X5XigJtJ4k=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE=", + "newValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI=", + "ordinal": "6" + } + ], + "balanceChanges": [ + { + "address": "diuuNYBn2VTD1f0iIcjfhQt9Leo=", + "oldValue": { + "bytes": "BCJNar1sH1A=" + }, + "newValue": { + "bytes": "BBz5LMZCX1A=" + }, + "reason": "REASON_GAS_BUY", + "ordinal": "2" + }, + { + "address": "diuuNYBn2VTD1f0iIcjfhQt9Leo=", + "oldValue": { + "bytes": "BBz5LMZCX1A=" + }, + "newValue": { + "bytes": "BB7HvUaRnVA=" + }, + "reason": "REASON_GAS_REFUND", + "ordinal": "51" + }, + { + "address": "RV5aoYRpvGzO9JWUZFZmxYejpxs=", + "oldValue": { + "bytes": "0ct+JyxYSWY=" + }, + "newValue": { + "bytes": "0c8D1KMdnac=" + }, + "reason": "REASON_REWARD_TRANSACTION_FEE", + "ordinal": "52" + } + ], + "nonceChanges": [ + { + "address": "diuuNYBn2VTD1f0iIcjfhQt9Leo=", + "oldValue": "4", + "newValue": "5", + "ordinal": "4" + } + ], + "gasChanges": [ + { + "oldValue": "300000", + "newValue": "263880", + "reason": "REASON_INTRINSIC_GAS", + "ordinal": "3" + }, + { + "oldValue": "255927", + "newValue": "255906", + "reason": "REASON_CALL_DATA_COPY", + "ordinal": "7" + }, + { + "oldValue": "255659", + "newValue": "255616", + "reason": "REASON_CALL_DATA_COPY", + "ordinal": "8" + }, + { + "oldValue": "255336", + "newValue": "255327", + "reason": "REASON_CALL_DATA_COPY", + "ordinal": "9" + }, + { + "oldValue": "251122", + "newValue": "251104", + "reason": "REASON_CALL_DATA_COPY", + "ordinal": "10" + }, + { + "oldValue": "250917", + "newValue": "248417", + "reason": "REASON_STATE_COLD_ACCESS", + "ordinal": "11" + }, + { + "oldValue": "251017", + "newValue": "98417", + "reason": "REASON_CALL", + "ordinal": "12" + }, + { + "oldValue": "98417", + "newValue": "102178", + "reason": "REASON_REFUND_AFTER_EXECUTION", + "ordinal": "49" + } + ], + "statusFailed": true, + "statusReverted": true, + "failureReason": "execution reverted", + "stateReverted": true, + "endOrdinal": "50" + }, + { + "index": 2, + "parentIndex": 1, + "depth": 1, + "callType": "CALL", + "caller": "X/E31LD9zUncowx89X5XigJtJ4k=", + "address": "f8mEMOrtu2Bws1s515hyUEkIg0g=", + "gasLimit": "150000", + "gasConsumed": "146239", + "returnData": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "input": "Vw4aNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFiUBsxhhaNGkGKWhAdGEloORJdkVF+/uc8AAAAAAAAAAAAAAAB2K641gGfZVMPV/SIhyN+FC30t6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "executedCode": true, + "gasChanges": [ + { + "oldValue": "149480", + "newValue": "149459", + "reason": "REASON_CALL_DATA_COPY", + "ordinal": "14" + }, + { + "oldValue": "149327", + "newValue": "146827", + "reason": "REASON_STATE_COLD_ACCESS", + "ordinal": "15" + }, + { + "oldValue": "149427", + "newValue": "2294", + "reason": "REASON_CALL", + "ordinal": "16" + }, + { + "oldValue": "2294", + "newValue": "3867", + "reason": "REASON_REFUND_AFTER_EXECUTION", + "ordinal": "47" + } + ], + "stateReverted": true, + "beginOrdinal": "13", + "endOrdinal": "48" + }, + { + "index": 3, + "parentIndex": 2, + "depth": 2, + "callType": "CALL", + "caller": "f8mEMOrtu2Bws1s515hyUEkIg0g=", + "address": "lAbMYYWjRpBiloQHRhJaDkSXZFQ=", + "gasLimit": "144533", + "gasConsumed": "142960", + "input": "X7+5zwAAAAAAAAAAAAAAAHYrrjWAZ9lUw9X9IiHI34ULfS3qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "executedCode": true, + "keccakPreimages": { + "b20e9a365b254be6244c7505a127ea9cd797608e023ebff1d696fef26de7ed6c": "60806040526040516107c13803806107c183398101604081905261002291610321565b61002e82826000610035565b505061043e565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d0838360405180606001604052806027815260200161079a602791396101a9565b9392505050565b6100ea8161022260201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61023160201b6100711760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101c691906103ef565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b50909250905061021886838387610234565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a357825160000361029c576001600160a01b0385163b61029c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610148565b50816102ad565b6102ad83836102b5565b949350505050565b8151156102c55781518083602001fd5b8060405162461bcd60e51b8152600401610148919061040b565b634e487b7160e01b600052604160045260246000fd5b60005b838110156103105781810151838201526020016102f8565b838111156100645750506000910152565b6000806040838503121561033457600080fd5b82516001600160a01b038116811461034b57600080fd5b60208401519092506001600160401b038082111561036857600080fd5b818501915085601f83011261037c57600080fd5b81518181111561038e5761038e6102df565b604051601f8201601f19908116603f011681019083821181831017156103b6576103b66102df565b816040528281528860208487010111156103cf57600080fd5b6103e08360208301602088016102f5565b80955050505050509250929050565b600082516104018184602087016102f5565b9190910192915050565b602081526000825180602084015261042a8160408501602087016102f5565b601f01601f19169190910160400192915050565b61034d8061044d6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102f1602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101079190610283565b600060405180830381855af49150503d8060008114610142576040519150601f19603f3d011682016040523d82523d6000602084013e610147565b606091505b509150915061015886838387610162565b9695505050505050565b606083156101fd5782516000036101f65773ffffffffffffffffffffffffffffffffffffffff85163b6101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610207565b610207838361020f565b949350505050565b81511561021f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed919061029f565b60005b8381101561026e578181015183820152602001610256565b8381111561027d576000848401525b50505050565b60008251610295818460208701610253565b9190910192915050565b60208152600082518060208401526102be816040850160208701610253565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201cd78ab6a31213989661cff2d7d05fc9b9c38b1a848e8249e2e398659a9eb7e364736f6c634300080f0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000008abb13360b87be5eeb1b98647a016add927a136c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000762bae358067d954c3d5fd2221c8df850b7d2dea00000000000000000000000000000000000000000000000000000000", + "c295fa357a42b337dcef09d6023b8381813a7d98d973ef70cfe3b6fd3eb5af8f": "ff9406cc6185a346906296840746125a0e449764540000000000000000000000000000000000000000000000000000000000000000b20e9a365b254be6244c7505a127ea9cd797608e023ebff1d696fef26de7ed6c" + }, + "gasChanges": [ + { + "oldValue": "144179", + "newValue": "143783", + "reason": "REASON_CODE_COPY", + "ordinal": "18" + }, + { + "oldValue": "137052", + "newValue": "136634", + "reason": "REASON_CODE_COPY", + "ordinal": "19" + }, + { + "oldValue": "136186", + "newValue": "103642", + "reason": "REASON_CONTRACT_CREATION2", + "ordinal": "20" + }, + { + "oldValue": "103642", + "newValue": "1619", + "reason": "REASON_CONTRACT_CREATION2", + "ordinal": "21" + }, + { + "oldValue": "1581", + "newValue": "1578", + "reason": "REASON_RETURN_DATA_COPY", + "ordinal": "45" + } + ], + "statusFailed": true, + "statusReverted": true, + "failureReason": "execution reverted", + "stateReverted": true, + "beginOrdinal": "17", + "endOrdinal": "46" + }, + { + "index": 4, + "parentIndex": 3, + "depth": 3, + "callType": "CREATE", + "caller": "lAbMYYWjRpBiloQHRhJaDkSXZFQ=", + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "gasLimit": "102023", + "gasConsumed": "102023", + "storageChanges": [ + { + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "key": "NgiUoTuhoyEGZ8goSS25jco+IHbMNzWpIKPKUF04K7w=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "newValue": "AAAAAAAAAAAAAAAAirsTNguHvl7rG5hkegFq3ZJ6E2w=", + "ordinal": "26" + } + ], + "nonceChanges": [ + { + "address": "lAbMYYWjRpBiloQHRhJaDkSXZFQ=", + "oldValue": "2", + "newValue": "3", + "ordinal": "23" + }, + { + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "newValue": "1", + "ordinal": "24" + } + ], + "logs": [ + { + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "topics": [ + "vHzXWiDuJ/2a3rqzIEH3VSFNvGv/qQzAIls52i5cLTs=", + "AAAAAAAAAAAAAAAAirsTNguHvl7rG5hkegFq3ZJ6E2w=" + ], + "ordinal": "28" + } + ], + "gasChanges": [ + { + "oldValue": "101982", + "newValue": "101946", + "reason": "REASON_CODE_COPY", + "ordinal": "25" + }, + { + "oldValue": "76223", + "newValue": "75098", + "reason": "REASON_EVENT_LOG", + "ordinal": "27" + }, + { + "oldValue": "74943", + "newValue": "74928", + "reason": "REASON_CODE_COPY", + "ordinal": "29" + }, + { + "oldValue": "74537", + "newValue": "1163", + "reason": "REASON_DELEGATE_CALL", + "ordinal": "30" + }, + { + "oldValue": "1163", + "newValue": "48323", + "reason": "REASON_REFUND_AFTER_EXECUTION", + "ordinal": "41" + }, + { + "oldValue": "47921", + "newValue": "47809", + "reason": "REASON_CODE_COPY", + "ordinal": "42" + }, + { + "oldValue": "47806", + "reason": "REASON_FAILED_EXECUTION", + "ordinal": "43" + } + ], + "statusFailed": true, + "failureReason": "contract creation code storage out of gas", + "stateReverted": true, + "beginOrdinal": "22", + "endOrdinal": "44" + }, + { + "index": 5, + "parentIndex": 4, + "depth": 4, + "callType": "DELEGATE", + "caller": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "address": "irsTNguHvl7rG5hkegFq3ZJ6E2w=", + "gasLimit": "73274", + "gasConsumed": "26114", + "input": "xNZt6AAAAAAAAAAAAAAAAHYrrjWAZ9lUw9X9IiHI34ULfS3q", + "executedCode": true, + "storageChanges": [ + { + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "newValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE=", + "ordinal": "32" + }, + { + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE=", + "newValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQE=", + "ordinal": "33" + }, + { + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQE=", + "newValue": "AAAAAAAAAAAAAHYrrjWAZ9lUw9X9IiHI34ULfS3qAQE=", + "ordinal": "34" + }, + { + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "oldValue": "AAAAAAAAAAAAAHYrrjWAZ9lUw9X9IiHI34ULfS3qAQE=", + "newValue": "AAAAAAAAAAAAAHYrrjWAZ9lUw9X9IiHI34ULfS3qAAE=", + "ordinal": "37" + } + ], + "logs": [ + { + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "topics": [ + "R+Vcduem8f2JlqHagAjB6ilpnMo157zQV/LewxO25d4=", + "AAAAAAAAAAAAAAAAX/E31LD9zUncowx89X5XigJtJ4k=", + "AAAAAAAAAAAAAAAAdiuuNYBn2VTD1f0iIcjfhQt9Leo=" + ], + "index": 1, + "ordinal": "36" + }, + { + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "topics": [ + "fya4P/luHytqaC8TOFL2eYoJxGXalZIUYM77OEdAJJg=" + ], + "data": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE=", + "index": 2, + "ordinal": "39" + } + ], + "gasChanges": [ + { + "oldValue": "49975", + "newValue": "48475", + "reason": "REASON_EVENT_LOG", + "ordinal": "35" + }, + { + "oldValue": "48179", + "newValue": "47173", + "reason": "REASON_EVENT_LOG", + "ordinal": "38" + } + ], + "stateReverted": true, + "beginOrdinal": "31", + "endOrdinal": "40" + } + ] + } + ], + "ver": 3 +} \ No newline at end of file diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/extra_account_creations/prestate.json b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/extra_account_creations/prestate.json new file mode 100644 index 0000000000..c5d94aef3e --- /dev/null +++ b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/extra_account_creations/prestate.json @@ -0,0 +1,182 @@ +{ + "context": { + "baseFeePerGas": "7", + "difficulty": "0", + "gasLimit": "30000000", + "miner": "0x455e5aa18469bc6ccef49594645666c587a3a71b", + "number": "207938", + "timestamp": "1698574272" + }, + "genesis": { + "alloc": { + "0x023b8381813a7d98d973ef70cfe3b6fd3eb5af8f": { + "balance": "0x2386f26fc10000", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + }, + "0x455e5aa18469bc6ccef49594645666c587a3a71b": { + "balance": "0xd1cb7e272c584966" + }, + "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789": { + "balance": "0x0", + "code": "0x60806040526004361015610023575b361561001957600080fd5b610021615531565b005b60003560e01c80630396cb60146101b35780630bd28e3b146101aa5780631b2e01b8146101a15780631d732756146101985780631fad948c1461018f578063205c28781461018657806335567e1a1461017d5780634b1d7cf5146101745780635287ce121461016b57806370a08231146101625780638f41ec5a14610159578063957122ab146101505780639b249f6914610147578063a61935311461013e578063b760faf914610135578063bb9fe6bf1461012c578063c23a5cea14610123578063d6383f941461011a578063ee219423146101115763fc7e286d0361000e5761010c611bcd565b61000e565b5061010c6119b5565b5061010c61184d565b5061010c6116b4565b5061010c611536565b5061010c6114f7565b5061010c6114d6565b5061010c611337565b5061010c611164565b5061010c611129565b5061010c6110a4565b5061010c610f54565b5061010c610bf8565b5061010c610b33565b5061010c610994565b5061010c6108ba565b5061010c6106e7565b5061010c610467565b5061010c610385565b5060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103595760043563ffffffff8116808203610359576103547fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916102716102413373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b9161024d811515615697565b61026a610261600185015463ffffffff1690565b63ffffffff1690565b11156156fc565b54926103366dffffffffffffffffffffffffffff946102f461029834888460781c166121d5565b966102a4881515615761565b6102b0818911156157c6565b6102d4816102bc6105ec565b941684906dffffffffffffffffffffffffffff169052565b6001602084015287166dffffffffffffffffffffffffffff166040830152565b63ffffffff83166060820152600060808201526103313373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b61582b565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b600080fd5b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff8216820361035957565b50346103595760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103595760043577ffffffffffffffffffffffffffffffffffffffffffffffff81168103610359576104149033600052600160205260406000209077ffffffffffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b61041e8154612491565b9055005b73ffffffffffffffffffffffffffffffffffffffff81160361035957565b6024359061044d82610422565b565b60c4359061044d82610422565b359061044d82610422565b50346103595760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103595760206104fc6004356104a881610422565b73ffffffffffffffffffffffffffffffffffffffff6104c561035e565b91166000526001835260406000209077ffffffffffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b54604051908152f35b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60a0810190811067ffffffffffffffff82111761055157604052565b610559610505565b604052565b610100810190811067ffffffffffffffff82111761055157604052565b67ffffffffffffffff811161055157604052565b6060810190811067ffffffffffffffff82111761055157604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761055157604052565b6040519061044d82610535565b6040519060c0820182811067ffffffffffffffff82111761055157604052565b604051906040820182811067ffffffffffffffff82111761055157604052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209267ffffffffffffffff8111610675575b01160190565b61067d610505565b61066f565b92919261068e82610639565b9161069c60405193846105ab565b829481845281830111610359578281602093846000960137010152565b9181601f840112156103595782359167ffffffffffffffff8311610359576020838186019501011161035957565b5034610359576101c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103595767ffffffffffffffff60043581811161035957366023820112156103595761074a903690602481600401359101610682565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36016101808112610359576101006040519161078783610535565b12610359576040516107988161055e565b6107a0610440565b815260443560208201526064356040820152608435606082015260a43560808201526107ca61044f565b60a082015260e43560c08201526101043560e082015281526101243560208201526101443560408201526101643560608201526101843560808201526101a4359182116103595761083e9261082661082e9336906004016106b9565b9290916128b1565b6040519081529081906020820190565b0390f35b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126103595760043567ffffffffffffffff9283821161035957806023830112156103595781600401359384116103595760248460051b830101116103595760240191906024356108b781610422565b90565b5034610359576108c936610842565b6108d4929192611e3a565b6108dd83611d2d565b60005b84811061095d57506000927fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9728480a183915b85831061092d576109238585611ed7565b6100216001600255565b909193600190610953610941878987611dec565b61094b8886611dca565b51908861233f565b0194019190610912565b8061098b610984610972600194869896611dca565b5161097e848a88611dec565b84613448565b9083612f30565b019290926108e0565b50346103595760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610359576004356109d081610422565b6024359060009133835282602052604083206dffffffffffffffffffffffffffff81541692838311610ad557848373ffffffffffffffffffffffffffffffffffffffff829593610a788496610a3f610a2c8798610ad29c6121c0565b6dffffffffffffffffffffffffffff1690565b6dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b6040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610acc611ea7565b50615ba2565b80f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b50346103595760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610359576020600435610b7181610422565b73ffffffffffffffffffffffffffffffffffffffff610b8e61035e565b911660005260018252610bc98160406000209077ffffffffffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b503461035957610c0736610842565b610c0f611e3a565b6000805b838210610df657610c249150611d2d565b7fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972600080a16000805b848110610d5c57505060008093815b818110610c9357610923868660007f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d8180a2611ed7565b610cf7610ca182848a6124cb565b610ccc610cb3610cb36020840161256d565b73ffffffffffffffffffffffffffffffffffffffff1690565b7f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d600080a280612519565b906000915b808310610d1457505050610d0f90612491565b610c5c565b90919497610d4f610d49610d5592610d438c8b610d3c82610d368e8b8d611dec565b92611dca565b519161233f565b906121d5565b99612491565b95612491565b9190610cfc565b610d678186886124cb565b6020610d7f610d768380612519565b9290930161256d565b9173ffffffffffffffffffffffffffffffffffffffff60009316905b828410610db45750505050610daf90612491565b610c4d565b90919294610d4f81610de985610de2610dd0610dee968d611dca565b51610ddc8c8b8a611dec565b85613448565b908b613148565b612491565b929190610d9b565b610e018285876124cb565b90610e0c8280612519565b92610e1c610cb36020830161256d565b9173ffffffffffffffffffffffffffffffffffffffff8316610e416001821415612577565b610e62575b505050610e5c91610e56916121d5565b91612491565b90610c13565b909592610e7b6040999693999895989788810190611fc8565b92908a3b156103595789938b918a5193849283927fe3563a4f00000000000000000000000000000000000000000000000000000000845260049e8f850193610ec294612711565b03815a93600094fa9081610f3b575b50610f255786517f86a9f75000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a16818a0190815281906020010390fd5b0390fd5b9497509295509093509181610e56610e5c610e46565b80610f48610f4e9261057b565b8061111e565b38610ed1565b50346103595760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103595761083e73ffffffffffffffffffffffffffffffffffffffff600435610fa881610422565b608060409283928351610fba81610535565b60009381858093528260208201528287820152826060820152015216815280602052209061104965ffffffffffff6001835194610ff686610535565b80546dffffffffffffffffffffffffffff8082168852607082901c60ff161515602089015260789190911c1685870152015463ffffffff8116606086015260201c16608084019065ffffffffffff169052565b5191829182919091608065ffffffffffff8160a08401956dffffffffffffffffffffffffffff808251168652602082015115156020870152604082015116604086015263ffffffff6060820151166060860152015116910152565b50346103595760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103595773ffffffffffffffffffffffffffffffffffffffff6004356110f581610422565b16600052600060205260206dffffffffffffffffffffffffffff60406000205416604051908152f35b600091031261035957565b50346103595760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261035957602060405160018152f35b50346103595760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261035957600467ffffffffffffffff8135818111610359576111b590369084016106b9565b9050602435916111c483610422565b604435908111610359576111db90369085016106b9565b92909115908161132d575b506112c6576014821015611236575b610f21836040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160409060208152600060208201520190565b6112466112529261124c92612b88565b90612b96565b60601c90565b3b1561125f5738806111f5565b610f21906040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601b60208201527f41413330207061796d6173746572206e6f74206465706c6f796564000000000060408201520190565b610f21836040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601960208201527f41413230206163636f756e74206e6f74206465706c6f7965640000000000000060408201520190565b90503b15386111e6565b50346103595760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103595760043567ffffffffffffffff81116103595761138960249136906004016106b9565b906113bf6040519283927f570e1a3600000000000000000000000000000000000000000000000000000000845260048401612d2c565b0360208273ffffffffffffffffffffffffffffffffffffffff92816000857f0000000000000000000000007fc98430eaedbb6070b35b39d798725049088348165af1918215611471575b600092611441575b50604051917f6ca7b806000000000000000000000000000000000000000000000000000000008352166004820152fd5b61146391925060203d811161146a575b61145b81836105ab565b810190612d17565b9038611411565b503d611451565b611479612183565b611409565b90816101609103126103595790565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610359576004359067ffffffffffffffff8211610359576108b79160040161147e565b50346103595760206114ef6114ea3661148d565b612a0c565b604051908152f35b5060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103595761002160043561153181610422565b61562b565b5034610359576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126116b1573381528060205260408120600181019063ffffffff825416908115611653576115f06115b5611618936115a76115a2855460ff9060701c1690565b61598f565b65ffffffffffff42166159f4565b84547fffffffffffffffffffffffffffffffffffffffffffff000000000000ffffffff16602082901b69ffffffffffff000000001617909455565b7fffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffff8154169055565b60405165ffffffffffff91909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b80fd5b50346103595760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610359576004356116f081610422565b610ad273ffffffffffffffffffffffffffffffffffffffff6117323373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b926117ea611755610a2c86546dffffffffffffffffffffffffffff9060781c1690565b94611761861515615a0e565b6117c26001820161179a65ffffffffffff611786835465ffffffffffff9060201c1690565b16611792811515615a73565b421015615ad8565b80547fffffffffffffffffffffffffffffffffffffffffffff00000000000000000000169055565b7fffffff0000000000000000000000000000ffffffffffffffffffffffffffffff8154169055565b6040805173ffffffffffffffffffffffffffffffffffffffff831681526020810186905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2600080809581948294165af1611847611ea7565b50615b3d565b50346103595760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103595767ffffffffffffffff6004358181116103595761189e90369060040161147e565b602435916118ab83610422565b604435908111610359576118c6610f219136906004016106b9565b6118ce611caa565b6118d785612e2b565b6118ea6118e48287613240565b906153ba565b946118fa826000924384526121e2565b96438252819360609573ffffffffffffffffffffffffffffffffffffffff8316611981575b50505050608001519361194e6040611940602084015165ffffffffffff1690565b92015165ffffffffffff1690565b906040519687967f8b7ac980000000000000000000000000000000000000000000000000000000008852600488016127e1565b8395508394965061199b60409492939451809481936127d3565b03925af19060806119aa611ea7565b92919038808061191f565b5034610359576119c43661148d565b6119cc611caa565b6119d582612e2b565b6119df8183613240565b825160a00151919391611a0c9073ffffffffffffffffffffffffffffffffffffffff166154dc565b6154dc565b90611a30611a07855173ffffffffffffffffffffffffffffffffffffffff90511690565b94611a39612b50565b50611a68611a4c60409586810190611fc8565b90600060148310611bc55750611246611a079261124c92612b88565b91611a72916153ba565b805173ffffffffffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff821660018114916080880151978781015191886020820151611ac79065ffffffffffff1690565b91015165ffffffffffff16916060015192611ae06105f9565b9a8b5260208b0152841515898b015265ffffffffffff1660608a015265ffffffffffff16608089015260a088015215159081611bbc575b50611b515750610f2192519485947fe0cff05f00000000000000000000000000000000000000000000000000000000865260048601612cbd565b9190610f2193611b60846154dc565b611b87611b6b610619565b73ffffffffffffffffffffffffffffffffffffffff9096168652565b6020850152519586957ffaecb4e400000000000000000000000000000000000000000000000000000000875260048701612c2b565b90501538611b17565b9150506154dc565b50346103595760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103595773ffffffffffffffffffffffffffffffffffffffff600435611c1e81610422565b16600052600060205260a0604060002065ffffffffffff60018254920154604051926dffffffffffffffffffffffffffff90818116855260ff8160701c161515602086015260781c16604084015263ffffffff8116606084015260201c166080820152f35b60209067ffffffffffffffff8111611c9d575b60051b0190565b611ca5610505565b611c96565b60405190611cb782610535565b604051608083610100830167ffffffffffffffff811184821017611d20575b60405260009283815283602082015283604082015283606082015283838201528360a08201528360c08201528360e082015281528260208201528260408201528260608201520152565b611d28610505565b611cd6565b90611d3782611c83565b611d4460405191826105ab565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611d728294611c83565b019060005b828110611d8357505050565b602090611d8e611caa565b82828501015201611d77565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020918151811015611ddf575b60051b010190565b611de7611d9a565b611dd7565b9190811015611e2d575b60051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea181360301821215610359570190565b611e35611d9a565b611df6565b6002805414611e495760028055565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b3d15611ed2573d90611eb882610639565b91611ec660405193846105ab565b82523d6000602084013e565b606090565b73ffffffffffffffffffffffffffffffffffffffff168015611f6a57600080809381935af1611f04611ea7565b5015611f0c57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610359570180359067ffffffffffffffff82116103595760200191813603831361035957565b90816020910312610359575190565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b60005b83811061207a5750506000910152565b818101518382015260200161206a565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020936120c681518092818752878088019101612067565b0116010190565b906120e76080916108b796946101c0808652850191612028565b9360e0815173ffffffffffffffffffffffffffffffffffffffff80825116602087015260208201516040870152604082015160608701526060820151858701528482015160a087015260a08201511660c086015260c081015182860152015161010084015260208101516101208401526040810151610140840152606081015161016084015201516101808201526101a081840391015261208a565b506040513d6000823e3d90fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b919082039182116121cd57565b61044d612190565b919082018092116121cd57565b905a918160206121fb6060830151936060810190611fc8565b906122348560405195869485947f1d732756000000000000000000000000000000000000000000000000000000008652600486016120cd565b03816000305af16000918161230f575b50612308575060206000803e7fdeaddead000000000000000000000000000000000000000000000000000000006000511461229b5761229561228a6108b7945a906121c0565b6080840151906121d5565b91614afc565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610f21600482016080906000815260406020820152600f60408201527f41413935206f7574206f6620676173000000000000000000000000000000000060608201520190565b9250505090565b61233191925060203d8111612338575b61232981836105ab565b810190612019565b9038612244565b503d61231f565b909291925a9380602061235b6060830151946060810190611fc8565b906123948660405195869485947f1d732756000000000000000000000000000000000000000000000000000000008652600486016120cd565b03816000305af160009181612471575b5061246a575060206000803e7fdeaddead00000000000000000000000000000000000000000000000000000000600051146123fc576123f66123eb6108b795965a906121c0565b6080830151906121d5565b92614ddf565b610f21836040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152600f60408201527f41413935206f7574206f6620676173000000000000000000000000000000000060608201520190565b9450505050565b61248a91925060203d81116123385761232981836105ab565b90386123a4565b6001907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146124bf570190565b6124c7612190565b0190565b919081101561250c575b60051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301821215610359570190565b612514611d9a565b6124d5565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610359570180359067ffffffffffffffff821161035957602001918160051b3603831361035957565b356108b781610422565b1561257e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393620696e76616c69642061676772656761746f720000000000000000006044820152fd5b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561035957016020813591019167ffffffffffffffff821161035957813603831361035957565b6108b7916126578161263d8461045c565b73ffffffffffffffffffffffffffffffffffffffff169052565b602082013560208201526126f26126a361268861267760408601866125dc565b610160806040880152860191612028565b61269560608601866125dc565b908583036060870152612028565b6080840135608084015260a084013560a084015260c084013560c084015260e084013560e084015261010080850135908401526101206126e5818601866125dc565b9185840390860152612028565b9161270361014091828101906125dc565b929091818503910152612028565b949391929083604087016040885252606086019360608160051b8801019482600090815b848310612754575050505050508460206108b795968503910152612028565b9091929394977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08b820301855288357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea1843603018112156127cf57600191846127bd920161262c565b98602090810196950193019190612735565b8280fd5b908092918237016000815290565b9290936108b796959260c0958552602085015265ffffffffffff8092166040850152166060830152151560808201528160a0820152019061208a565b1561282457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b9060406108b79260008152816020820152019061208a565b6040906108b793928152816020820152019061208a565b909291925a936128c230331461281d565b8151946040860151955a6113886060830151890101116129e2576108b7966000958051612909575b50505090612903915a9003608084015101943691610682565b91615047565b612938916129349161292f855173ffffffffffffffffffffffffffffffffffffffff1690565b615c12565b1590565b612944575b80806128ea565b61290392919450612953615c24565b908151612967575b5050600193909161293d565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a20173ffffffffffffffffffffffffffffffffffffffff6020870151926129d860206129c6835173ffffffffffffffffffffffffffffffffffffffff1690565b9201519560405193849316968361289a565b0390a3388061295b565b7fdeaddead0000000000000000000000000000000000000000000000000000000060005260206000fd5b612a22612a1c6040830183611fc8565b90615c07565b90612a33612a1c6060830183611fc8565b90612ae9612a48612a1c610120840184611fc8565b60405194859360208501956101008201359260e08301359260c08101359260a08201359260808301359273ffffffffffffffffffffffffffffffffffffffff60208201359135168c9693909a9998959261012098959273ffffffffffffffffffffffffffffffffffffffff6101408a019d168952602089015260408801526060870152608086015260a085015260c084015260e08301526101008201520152565b0391612b1b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938481018352826105ab565b51902060408051602081019283523091810191909152466060820152608092830181529091612b4a90826105ab565b51902090565b604051906040820182811067ffffffffffffffff821117612b7b575b60405260006020838281520152565b612b83610505565b612b6c565b906014116103595790601490565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009035818116939260148110612bcb57505050565b60140360031b82901b16169150565b9060c060a06108b793805184526020810151602085015260408101511515604085015265ffffffffffff80606083015116606086015260808201511660808501520151918160a0820152019061208a565b9294612c8c61044d95612c7a610100959998612c68612c54602097610140808c528b0190612bda565b9b878a019060208091805184520151910152565b80516060890152602001516080880152565b805160a08701526020015160c0860152565b73ffffffffffffffffffffffffffffffffffffffff81511660e0850152015191019060208091805184520151910152565b612d0661044d94612cf4612cdf60a0959998969960e0865260e0860190612bda565b98602085019060208091805184520151910152565b80516060840152602001516080830152565b019060208091805184520151910152565b9081602091031261035957516108b781610422565b9160206108b7938181520191612028565b90612d6c73ffffffffffffffffffffffffffffffffffffffff916108b797959694606085526060850191612028565b941660208201526040818503910152612028565b60009060033d11612d8d57565b905060046000803e60005160e01c90565b600060443d106108b7576040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc91823d016004833e815167ffffffffffffffff918282113d602484011117612e1a57818401948551938411612e22573d85010160208487010111612e1a57506108b7929101602001906105ab565b949350505050565b50949350505050565b612e386040820182611fc8565b612e50612e448461256d565b93610120810190611fc8565b9290303b1561035957600093612e949160405196879586957f957122ab00000000000000000000000000000000000000000000000000000000875260048701612d3d565b0381305afa9081612f1d575b5061044d576001612eaf612d80565b6308c379a014612ec8575b612ec057565b61044d612183565b612ed0612d9e565b80612edc575b50612eba565b80516000925015612ed657610f21906040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301612882565b80610f48612f2a9261057b565b38612ea0565b9190612f3b9061317f565b73ffffffffffffffffffffffffffffffffffffffff929183166130da5761306c57612f659061317f565b9116612ffe57612f725750565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f6500000000000000000000000000000000000000000000000000000000000000608482015260a490fd5b610f21826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601460408201527f41413334207369676e6174757265206572726f7200000000000000000000000060608201520190565b610f21836040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601760408201527f414132322065787069726564206f72206e6f742064756500000000000000000060608201520190565b610f21846040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601460408201527f41413234207369676e6174757265206572726f7200000000000000000000000060608201520190565b9291906131549061317f565b909273ffffffffffffffffffffffffffffffffffffffff808095169116036130da5761306c57612f65905b80156131d25761318e9061535f565b73ffffffffffffffffffffffffffffffffffffffff65ffffffffffff8060408401511642119081156131c2575b5091511691565b90506020830151164210386131bb565b50600090600090565b156131e257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152fd5b916000915a9381519061325382826136b3565b61325c81612a0c565b602084015261329a6effffffffffffffffffffffffffffff60808401516060850151176040850151176101008401359060e0850135171711156131db565b6132a382613775565b6132ae818584613836565b97906132df6129346132d4875173ffffffffffffffffffffffffffffffffffffffff1690565b60208801519061546c565b6133db576132ec43600052565b73ffffffffffffffffffffffffffffffffffffffff61332460a0606097015173ffffffffffffffffffffffffffffffffffffffff1690565b166133c1575b505a810360a0840135106133545760809360c092604087015260608601525a900391013501910152565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610f21600482016080906000815260406020820152601e60408201527f41413430206f76657220766572696669636174696f6e4761734c696d6974000060608201520190565b909350816133d2929750858461455c565b9590923861332a565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610f21600482016080906000815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b9290916000925a825161345b81846136b3565b61346483612a0c565b60208501526134a26effffffffffffffffffffffffffffff60808301516060840151176040840151176101008601359060e0870135171711156131db565b6134ab81613775565b6134b78186868b613ba2565b98906134e86129346134dd865173ffffffffffffffffffffffffffffffffffffffff1690565b60208701519061546c565b6135e0576134f543600052565b73ffffffffffffffffffffffffffffffffffffffff61352d60a0606096015173ffffffffffffffffffffffffffffffffffffffff1690565b166135c5575b505a840360a08601351061355f5750604085015260608401526080919060c0905a900391013501910152565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601e60448201527f41413430206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b909250816135d79298508686856147ef565b96909138613533565b610f21826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b1561365557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b613725906136dd6136c38261256d565b73ffffffffffffffffffffffffffffffffffffffff168452565b602081013560208401526080810135604084015260a0810135606084015260c0810135608084015260e081013560c084015261010081013560e0840152610120810190611fc8565b90811561376a5761374f61124c6112468460a09461374a601461044d9998101561364e565b612b88565b73ffffffffffffffffffffffffffffffffffffffff16910152565b505060a06000910152565b60a081015173ffffffffffffffffffffffffffffffffffffffff16156137b75760c060035b60ff60408401519116606084015102016080830151019101510290565b60c0600161379a565b6137d86040929594939560608352606083019061262c565b9460208201520152565b9061044d602f60405180947f414132332072657665727465643a20000000000000000000000000000000000060208301526138268151809260208686019101612067565b810103600f8101855201836105ab565b916000926000925a936139046020835193613865855173ffffffffffffffffffffffffffffffffffffffff1690565b9561387d6138766040830183611fc8565b9084613e0d565b60a086015173ffffffffffffffffffffffffffffffffffffffff16906138a243600052565b85809373ffffffffffffffffffffffffffffffffffffffff809416159889613b3a575b60600151908601516040517f3a871cdd0000000000000000000000000000000000000000000000000000000081529788968795869390600485016137c0565b03938a1690f1829181613b1a575b50613b115750600190613923612d80565b6308c379a014613abd575b50613a50575b613941575b50505a900391565b61396b9073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b613986610a2c82546dffffffffffffffffffffffffffff1690565b8083116139e3576139dc926dffffffffffffffffffffffffffff9103166dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b3880613939565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610f21600482016080906000815260406020820152601760408201527f41413231206469646e2774207061792070726566756e6400000000000000000060608201520190565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610f21600482016080906000815260406020820152601660408201527f4141323320726576657274656420286f72204f4f47290000000000000000000060608201520190565b613ac5612d9e565b9081613ad1575061392e565b610f2191613adf91506137e2565b6040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301612882565b95506139349050565b613b3391925060203d81116123385761232981836105ab565b9038613912565b9450613b80610a2c613b6c8c73ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b546dffffffffffffffffffffffffffff1690565b8b811115613b975750856060835b969150506138c5565b606087918d03613b8e565b90926000936000935a94613beb6020835193613bd2855173ffffffffffffffffffffffffffffffffffffffff1690565b9561387d613be36040830183611fc8565b90848c61412b565b03938a1690f1829181613ded575b50613de45750600190613c0a612d80565b6308c379a014613d8e575b50613d20575b613c29575b5050505a900391565b613c539073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b91613c6f610a2c84546dffffffffffffffffffffffffffff1690565b90818311613cba575082547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000169190036dffffffffffffffffffffffffffff16179055388080613c20565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b610f21846040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601660408201527f4141323320726576657274656420286f72204f4f47290000000000000000000060608201520190565b613d96612d9e565b9081613da25750613c15565b8691613dae91506137e2565b90610f216040519283927f220266b60000000000000000000000000000000000000000000000000000000084526004840161289a565b9650613c1b9050565b613e0691925060203d81116123385761232981836105ab565b9038613bf9565b909180613e1957505050565b81515173ffffffffffffffffffffffffffffffffffffffff1692833b6140be57606083510151604051907f570e1a3600000000000000000000000000000000000000000000000000000000825260208280613e78878760048401612d2c565b0381600073ffffffffffffffffffffffffffffffffffffffff95867f0000000000000000000000007fc98430eaedbb6070b35b39d7987250490883481690f19182156140b1575b600092614091575b508082169586156140245716809503613fb7573b15613f4a5761124c6112467fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d93613f1193612b88565b602083810151935160a001516040805173ffffffffffffffffffffffffffffffffffffffff9485168152939091169183019190915290a3565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610f21600482016080906000815260406020820152602060408201527f4141313520696e6974436f6465206d757374206372656174652073656e64657260608201520190565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610f21600482016080906000815260406020820152602060408201527f4141313420696e6974436f6465206d7573742072657475726e2073656e64657260608201520190565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610f21600482016080906000815260406020820152601b60408201527f4141313320696e6974436f6465206661696c6564206f72204f4f47000000000060608201520190565b6140aa91925060203d811161146a5761145b81836105ab565b9038613ec7565b6140b9612183565b613ebf565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610f21600482016080906000815260406020820152601f60408201527f414131302073656e64657220616c726561647920636f6e73747275637465640060608201520190565b9290918161413a575b50505050565b82515173ffffffffffffffffffffffffffffffffffffffff1693843b6143e257606084510151604051907f570e1a3600000000000000000000000000000000000000000000000000000000825260208280614199888860048401612d2c565b0381600073ffffffffffffffffffffffffffffffffffffffff95867f0000000000000000000000007fc98430eaedbb6070b35b39d7987250490883481690f19182156143d5575b6000926143b5575b5080821696871561434757168096036142d9573b15614273575061124c6112467fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9361423393612b88565b602083810151935160a001516040805173ffffffffffffffffffffffffffffffffffffffff9485168152939091169183019190915290a338808080614134565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b610f21826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152602060408201527f4141313420696e6974436f6465206d7573742072657475726e2073656e64657260608201520190565b610f21846040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601b60408201527f4141313320696e6974436f6465206661696c6564206f72204f4f47000000000060608201520190565b6143ce91925060203d811161146a5761145b81836105ab565b90386141e8565b6143dd612183565b6141e0565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b1561444f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4141343120746f6f206c6974746c6520766572696669636174696f6e476173006044820152fd5b919060408382031261035957825167ffffffffffffffff81116103595783019080601f83011215610359578151916144e483610639565b916144f260405193846105ab565b838352602084830101116103595760209261451291848085019101612067565b92015190565b9061044d602f60405180947f414133332072657665727465643a20000000000000000000000000000000000060208301526138268151809260208686019101612067565b93919260609460009460009380519261459b60a08a86015195614580888811614448565b015173ffffffffffffffffffffffffffffffffffffffff1690565b916145c68373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b946145e2610a2c87546dffffffffffffffffffffffffffff1690565b968588106147825773ffffffffffffffffffffffffffffffffffffffff60208a98946146588a966dffffffffffffffffffffffffffff8b6146919e03166dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b015194604051998a98899788937ff465c77e000000000000000000000000000000000000000000000000000000008552600485016137c0565b0395169103f190818391849361475c575b506147555750506001906146b4612d80565b6308c379a014614733575b506146c657565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610f21600482016080906000815260406020820152601660408201527f4141333320726576657274656420286f72204f4f47290000000000000000000060608201520190565b61473b612d9e565b908161474757506146bf565b610f2191613adf9150614518565b9450925050565b90925061477b91503d8085833e61477381836105ab565b8101906144ad565b91386146a2565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610f21600482016080906000815260406020820152601e60408201527f41413331207061796d6173746572206465706f73697420746f6f206c6f77000060608201520190565b91949293909360609560009560009382519061481660a08b84015193614580848611614448565b936148418573ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b61485c610a2c82546dffffffffffffffffffffffffffff1690565b8781106149b7579273ffffffffffffffffffffffffffffffffffffffff60208a989693946146588a966dffffffffffffffffffffffffffff8d6148d69e9c9a03166dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b0395169103f1908183918493614999575b506149915750506001906148f9612d80565b6308c379a014614972575b5061490c5750565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601660448201527f4141333320726576657274656420286f72204f4f4729000000000000000000006064820152608490fd5b61497a612d9e565b90816149865750614904565b613dae925050614518565b955093505050565b9092506149b091503d8085833e61477381836105ab565b91386148e7565b610f218a6040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601e60408201527f41413331207061796d6173746572206465706f73697420746f6f206c6f77000060608201520190565b60031115614a2f57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b929190614a7c6040916002865260606020870152606086019061208a565b930152565b939291906003811015614a2f57604091614a7c91865260606020870152606086019061208a565b9061044d603660405180947f4141353020706f73744f702072657665727465643a20000000000000000000006020830152614aec8151809260208686019101612067565b81010360168101855201836105ab565b929190925a93600091805191614b1183615318565b9260a0810195614b35875173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff93908481169081614ca457505050614b76825173ffffffffffffffffffffffffffffffffffffffff1690565b985b5a90030193840297604084019089825110614c37577f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f94614bc26020928c614c329551039061553a565b015194896020614c04614be9865173ffffffffffffffffffffffffffffffffffffffff1690565b9a5173ffffffffffffffffffffffffffffffffffffffff1690565b9401519785604051968796169a16988590949392606092608083019683521515602083015260408201520152565b0390a4565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610f21600482016080906000815260406020820152602060408201527f414135312070726566756e642062656c6f772061637475616c476173436f737460608201520190565b9a918051614cb4575b5050614b78565b6060850151600099509091803b15614ddb579189918983614d07956040518097819682957fa9a234090000000000000000000000000000000000000000000000000000000084528c029060048401614a5e565b0393f19081614dc8575b50614dc3576001614d20612d80565b6308c379a014614da4575b614d37575b3880614cad565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610f21600482016080906000815260406020820152601260408201527f4141353020706f73744f7020726576657274000000000000000000000000000060608201520190565b614dac612d9e565b80614db75750614d2b565b613adf610f2191614aa8565b614d30565b80610f48614dd59261057b565b38614d11565b8980fd5b9392915a90600092805190614df382615318565b9360a0830196614e17885173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff95908681169081614f0d57505050614e58845173ffffffffffffffffffffffffffffffffffffffff1690565b915b5a9003019485029860408301908a825110614ea757507f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f949392614bc2614c32938c60209451039061553a565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602060448201527f414135312070726566756e642062656c6f772061637475616c476173436f73746064820152608490fd5b93918051614f1d575b5050614e5a565b606087015160009a509091803b1561504357918a918a83614f70956040518097819682957fa9a234090000000000000000000000000000000000000000000000000000000084528c029060048401614a5e565b0393f19081615030575b5061502b576001614f89612d80565b6308c379a01461500e575b614fa0575b3880614f16565b610f218b6040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601260408201527f4141353020706f73744f7020726576657274000000000000000000000000000060608201520190565b615016612d9e565b806150215750614f94565b613dae8d91614aa8565b614f99565b80610f4861503d9261057b565b38614f7a565b8a80fd5b909392915a9480519161505983615318565b9260a081019561507d875173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff938185169182615165575050506150bd825173ffffffffffffffffffffffffffffffffffffffff1690565b985b5a90030193840297604084019089825110614c37577f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f946151096020928c614c329551039061553a565b61511288614a25565b015194896020615139614be9865173ffffffffffffffffffffffffffffffffffffffff1690565b940151604080519182529815602082015297880152606087015290821695909116939081906080820190565b9a918151615175575b50506150bf565b8784026151818a614a25565b60028a1461520c576060860151823b15610359576151d493600080948d604051978896879586937fa9a2340900000000000000000000000000000000000000000000000000000000855260048501614a81565b0393f180156151ff575b6151ec575b505b388061516e565b80610f486151f99261057b565b386151e3565b615207612183565b6151de565b6060860151823b156103595761525793600080948d604051978896879586937fa9a2340900000000000000000000000000000000000000000000000000000000855260048501614a81565b0393f19081615305575b50615300576001615270612d80565b6308c379a0146152ed575b156151e5576040517f220266b600000000000000000000000000000000000000000000000000000000815280610f21600482016080906000815260406020820152601260408201527f4141353020706f73744f7020726576657274000000000000000000000000000060608201520190565b6152f5612d9e565b80614db7575061527b565b6151e5565b80610f486153129261057b565b38615261565b60e060c082015191015180821461533c57480180821015615337575090565b905090565b5090565b6040519061534d8261058f565b60006040838281528260208201520152565b615367615340565b5065ffffffffffff808260a01c1680156153b3575b604051926153898461058f565b73ffffffffffffffffffffffffffffffffffffffff8116845260d01c602084015216604082015290565b508061537c565b6153cf6153d5916153c9615340565b5061535f565b9161535f565b9073ffffffffffffffffffffffffffffffffffffffff9182825116928315615461575b65ffffffffffff928391826040816020850151169301511693836040816020840151169201511690808410615459575b50808511615451575b506040519561543f8761058f565b16855216602084015216604082015290565b935038615431565b925038615428565b8151811693506153f8565b73ffffffffffffffffffffffffffffffffffffffff16600052600160205267ffffffffffffffff6154c88260401c60406000209077ffffffffffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b918254926154d584612491565b9055161490565b9073ffffffffffffffffffffffffffffffffffffffff6154fa612b50565b9216600052600060205263ffffffff600160406000206dffffffffffffffffffffffffffff815460781c1685520154166020830152565b61044d3361562b565b73ffffffffffffffffffffffffffffffffffffffff16600052600060205260406000206dffffffffffffffffffffffffffff8082541692830180931161561e575b8083116155c05761044d92166dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6465706f736974206f766572666c6f77000000000000000000000000000000006044820152fd5b615626612190565b61557b565b73ffffffffffffffffffffffffffffffffffffffff9061564b348261553a565b168060005260006020527f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206dffffffffffffffffffffffffffff60406000205416604051908152a2565b1561569e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b1561570357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b1561576857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b156157cd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b9065ffffffffffff6080600161044d9461588b6dffffffffffffffffffffffffffff86511682906dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b602085015115156eff000000000000000000000000000082549160701b16807fffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffff83161783557fffffff000000000000000000000000000000ffffffffffffffffffffffffffff7cffffffffffffffffffffffffffff000000000000000000000000000000604089015160781b16921617178155019263ffffffff6060820151167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000008554161784550151167fffffffffffffffffffffffffffffffffffffffffffff000000000000ffffffff69ffffffffffff0000000083549260201b169116179055565b1561599657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b91909165ffffffffffff808094169116019182116121cd57565b15615a1557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b15615a7a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b15615adf57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b15615b4457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b15615ba957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b816040519182372090565b9060009283809360208451940192f190565b3d610800808211615c4b575b50604051906020818301016040528082526000602083013e90565b905038615c3056fea2646970667358221220a706d8b02d7086d80e9330811f5af84b2614abdc5e9a1f2260126070a31d7cee64736f6c63430008110033", + "nonce": "2", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x0000000000000000000000000000000000000000000000000000000000000001" + } + }, + "0x762bae358067d954c3d5fd2221c8df850b7d2dea": { + "balance": "0x4224d6abd6c1f50", + "nonce": "4" + }, + "0x7fc98430eaedbb6070b35b39d798725049088348": { + "balance": "0x0", + "code": "0x6080604052600436101561001257600080fd5b6000803560e01c63570e1a361461002857600080fd5b346100c95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c95760043567ffffffffffffffff918282116100c957366023830112156100c95781600401359283116100c95736602484840101116100c9576100c561009e84602485016100fc565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b80fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90806014116101bb5767ffffffffffffffff917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec82018381116101cd575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81600b8701160116850190858210908211176101c0575b604052808452602084019036848401116101bb576020946000600c819682946014880187378301015251923560601c5af19060005191156101b557565b60009150565b600080fd5b6101c86100cc565b610178565b6101d56100cc565b61013a56fea26469706673582212201927e80b76ab9b71c952137dd676621a9fdf520c25928815636594036eb1c40364736f6c63430008110033", + "nonce": "1" + }, + "0x8abb13360b87be5eeb1b98647a016add927a136c": { + "balance": "0x0", + "code": "0x60806040526004361061012c5760003560e01c806352d1902d116100a5578063bc197c8111610074578063c4d66de811610059578063c4d66de8146103d0578063d087d288146103f0578063f23a6e611461040557600080fd5b8063bc197c8114610373578063c399ec88146103bb57600080fd5b806352d1902d146102b35780638da5cb5b146102c8578063b0d691fe14610320578063b61d27f61461035357600080fd5b80633659cfe6116100fc5780634a58db19116100e15780634a58db19146102785780634d44560d146102805780634f1ef286146102a057600080fd5b80633659cfe61461022a5780633a871cdd1461024a57600080fd5b806223de291461013857806301ffc9a71461015f578063150b7a021461019457806318dfb3c71461020a57600080fd5b3661013357005b600080fd5b34801561014457600080fd5b5061015d610153366004611cbf565b5050505050505050565b005b34801561016b57600080fd5b5061017f61017a366004611d70565b61044b565b60405190151581526020015b60405180910390f35b3480156101a057600080fd5b506101d96101af366004611db2565b7f150b7a020000000000000000000000000000000000000000000000000000000095945050505050565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161018b565b34801561021657600080fd5b5061015d610225366004611e6a565b610530565b34801561023657600080fd5b5061015d610245366004611ed6565b610654565b34801561025657600080fd5b5061026a610265366004611ef3565b610859565b60405190815260200161018b565b61015d61087f565b34801561028c57600080fd5b5061015d61029b366004611f47565b61091e565b61015d6102ae366004611fa2565b6109d5565b3480156102bf57600080fd5b5061026a610bcb565b3480156102d457600080fd5b506000546102fb9062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161018b565b34801561032c57600080fd5b507f0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d27896102fb565b34801561035f57600080fd5b5061015d61036e366004612084565b610cb7565b34801561037f57600080fd5b506101d961038e3660046120d4565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b3480156103c757600080fd5b5061026a610d06565b3480156103dc57600080fd5b5061015d6103eb366004611ed6565b610dbd565b3480156103fc57600080fd5b5061026a610f50565b34801561041157600080fd5b506101d9610420366004612172565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f150b7a020000000000000000000000000000000000000000000000000000000014806104de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b8061052a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610538610fcc565b8281146105a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f77726f6e67206172726179206c656e677468730000000000000000000000000060448201526064015b60405180910390fd5b60005b8381101561064d5761063b8585838181106105c6576105c66121ee565b90506020020160208101906105db9190611ed6565b60008585858181106105ef576105ef6121ee565b9050602002810190610601919061221d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061109592505050565b8061064581612282565b9150506105a9565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000008abb13360b87be5eeb1b98647a016add927a136c163003610719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840161059d565b7f0000000000000000000000008abb13360b87be5eeb1b98647a016add927a136c73ffffffffffffffffffffffffffffffffffffffff1661078e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610831576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840161059d565b61083a81611112565b604080516000808252602082019092526108569183919061111a565b50565b600061086361131e565b61086d84846113bd565b9050610878826114a3565b9392505050565b7f0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d27896040517fb760faf900000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff919091169063b760faf99034906024016000604051808303818588803b15801561090a57600080fd5b505af115801561064d573d6000803e3d6000fd5b61092661150e565b7f0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d27896040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052919091169063205c287890604401600060405180830381600087803b1580156109b957600080fd5b505af11580156109cd573d6000803e3d6000fd5b505050505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000008abb13360b87be5eeb1b98647a016add927a136c163003610a9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840161059d565b7f0000000000000000000000008abb13360b87be5eeb1b98647a016add927a136c73ffffffffffffffffffffffffffffffffffffffff16610b0f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610bb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840161059d565b610bbb82611112565b610bc78282600161111a565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000008abb13360b87be5eeb1b98647a016add927a136c1614610c92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161059d565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610cbf610fcc565b610d00848484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061109592505050565b50505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d278916906370a08231906024015b602060405180830381865afa158015610d94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db891906122e1565b905090565b600054610100900460ff1615808015610ddd5750600054600160ff909116105b80610df75750303b158015610df7575060005460ff166001145b610e83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161059d565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610ee157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610eea8261159f565b8015610bc757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6040517f35567e1a0000000000000000000000000000000000000000000000000000000081523060048201526000602482018190529073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d278916906335567e1a90604401610d77565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d278916148061102d575060005462010000900473ffffffffffffffffffffffffffffffffffffffff1633145b611093576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e74604482015260640161059d565b565b6000808473ffffffffffffffffffffffffffffffffffffffff1684846040516110be9190612326565b60006040518083038185875af1925050503d80600081146110fb576040519150601f19603f3d011682016040523d82523d6000602084013e611100565b606091505b50915091508161064d57805160208201fd5b61085661150e565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156111525761114d8361163e565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156111d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526111d4918101906122e1565b60015b611263576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f742055555053000000000000000000000000000000000000606482015260840161059d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611312576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c65555549440000000000000000000000000000000000000000000000606482015260840161059d565b5061114d838383611748565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d27891614611093576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e7400000000604482015260640161059d565b600080611417836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b905061146761142a61014086018661221d565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250859392505061176d9050565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff90811691161461149957600191505061052a565b5060009392505050565b80156108565760405160009033907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90849084818181858888f193505050503d806000811461064d576040519150601f19603f3d011682016040523d82523d6000602084013e61064d565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff1633148061153957503330145b611093576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c79206f776e657200000000000000000000000000000000000000000000604482015260640161059d565b600080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000073ffffffffffffffffffffffffffffffffffffffff8481168202929092178084556040519190048216927f0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789909216917f47e55c76e7a6f1fd8996a1da8008c1ea29699cca35e7bcd057f2dec313b6e5de91a350565b73ffffffffffffffffffffffffffffffffffffffff81163b6116e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840161059d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61175183611791565b60008251118061175e5750805b1561114d57610d0083836117de565b600080600061177c8585611803565b9150915061178981611848565b509392505050565b61179a8161163e565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061087883836040518060600160405280602781526020016123c3602791396119fb565b60008082516041036118395760208301516040840151606085015160001a61182d87828585611a80565b94509450505050611841565b506000905060025b9250929050565b600081600481111561185c5761185c612342565b036118645750565b600181600481111561187857611878612342565b036118df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161059d565b60028160048111156118f3576118f3612342565b0361195a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161059d565b600381600481111561196e5761196e612342565b03610856576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161059d565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611a259190612326565b600060405180830381855af49150503d8060008114611a60576040519150601f19603f3d011682016040523d82523d6000602084013e611a65565b606091505b5091509150611a7686838387611b6f565b9695505050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611ab75750600090506003611b66565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611b0b573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116611b5f57600060019250925050611b66565b9150600090505b94509492505050565b60608315611c05578251600003611bfe5773ffffffffffffffffffffffffffffffffffffffff85163b611bfe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161059d565b5081611c0f565b611c0f8383611c17565b949350505050565b815115611c275781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059d9190612371565b73ffffffffffffffffffffffffffffffffffffffff8116811461085657600080fd5b60008083601f840112611c8f57600080fd5b50813567ffffffffffffffff811115611ca757600080fd5b60208301915083602082850101111561184157600080fd5b60008060008060008060008060c0898b031215611cdb57600080fd5b8835611ce681611c5b565b97506020890135611cf681611c5b565b96506040890135611d0681611c5b565b955060608901359450608089013567ffffffffffffffff80821115611d2a57600080fd5b611d368c838d01611c7d565b909650945060a08b0135915080821115611d4f57600080fd5b50611d5c8b828c01611c7d565b999c989b5096995094979396929594505050565b600060208284031215611d8257600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461087857600080fd5b600080600080600060808688031215611dca57600080fd5b8535611dd581611c5b565b94506020860135611de581611c5b565b935060408601359250606086013567ffffffffffffffff811115611e0857600080fd5b611e1488828901611c7d565b969995985093965092949392505050565b60008083601f840112611e3757600080fd5b50813567ffffffffffffffff811115611e4f57600080fd5b6020830191508360208260051b850101111561184157600080fd5b60008060008060408587031215611e8057600080fd5b843567ffffffffffffffff80821115611e9857600080fd5b611ea488838901611e25565b90965094506020870135915080821115611ebd57600080fd5b50611eca87828801611e25565b95989497509550505050565b600060208284031215611ee857600080fd5b813561087881611c5b565b600080600060608486031215611f0857600080fd5b833567ffffffffffffffff811115611f1f57600080fd5b84016101608187031215611f3257600080fd5b95602085013595506040909401359392505050565b60008060408385031215611f5a57600080fd5b8235611f6581611c5b565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611fb557600080fd5b8235611fc081611c5b565b9150602083013567ffffffffffffffff80821115611fdd57600080fd5b818501915085601f830112611ff157600080fd5b81358181111561200357612003611f73565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561204957612049611f73565b8160405282815288602084870101111561206257600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000806000806060858703121561209a57600080fd5b84356120a581611c5b565b935060208501359250604085013567ffffffffffffffff8111156120c857600080fd5b611eca87828801611c7d565b60008060008060008060008060a0898b0312156120f057600080fd5b88356120fb81611c5b565b9750602089013561210b81611c5b565b9650604089013567ffffffffffffffff8082111561212857600080fd5b6121348c838d01611e25565b909850965060608b013591508082111561214d57600080fd5b6121598c838d01611e25565b909650945060808b0135915080821115611d4f57600080fd5b60008060008060008060a0878903121561218b57600080fd5b863561219681611c5b565b955060208701356121a681611c5b565b94506040870135935060608701359250608087013567ffffffffffffffff8111156121d057600080fd5b6121dc89828a01611c7d565b979a9699509497509295939492505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261225257600080fd5b83018035915067ffffffffffffffff82111561226d57600080fd5b60200191503681900382131561184157600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122da577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6000602082840312156122f357600080fd5b5051919050565b60005b838110156123155781810151838201526020016122fd565b83811115610d005750506000910152565b600082516123388184602087016122fa565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60208152600082518060208401526123908160408501602087016122fa565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e7edcd8c7b9333c2bbdd5f8fa69f1cd2cb0f5cbfa76648b9830bcf0cbfef288e64736f6c634300080f0033", + "nonce": "1" + }, + "0x9406cc6185a346906296840746125a0e44976454": { + "balance": "0x0", + "code": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806311464fbe146100465780635fbfb9cf146100965780638cb84e18146100a9575b600080fd5b61006d7f0000000000000000000000008abb13360b87be5eeb1b98647a016add927a136c81565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006d6100a436600461039d565b6100bc565b61006d6100b736600461039d565b6101ee565b6000806100c984846101ee565b905073ffffffffffffffffffffffffffffffffffffffff81163b80156100f1575090506101e8565b60405173ffffffffffffffffffffffffffffffffffffffff8616602482015284907f0000000000000000000000008abb13360b87be5eeb1b98647a016add927a136c90604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de800000000000000000000000000000000000000000000000000000000179052516101b790610390565b6101c2929190610412565b8190604051809103906000f59050801580156101e2573d6000803e3d6000fd5b50925050505b92915050565b60006103578260001b6040518060200161020790610390565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f90910116604081905273ffffffffffffffffffffffffffffffffffffffff871660248201527f0000000000000000000000008abb13360b87be5eeb1b98647a016add927a136c90604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de800000000000000000000000000000000000000000000000000000000179052905161030093929101610412565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261033c9291602001610480565b6040516020818303038152906040528051906020012061035e565b9392505050565b60006103578383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6107c1806104b083390190565b600080604083850312156103b057600080fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146103d457600080fd5b946020939093013593505050565b60005b838110156103fd5781810151838201526020016103e5565b8381111561040c576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000825180604084015261044d8160608501602087016103e2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b600083516104928184602088016103e2565b8351908301906104a68183602088016103e2565b0194935050505056fe60806040526040516107c13803806107c183398101604081905261002291610321565b61002e82826000610035565b505061043e565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d0838360405180606001604052806027815260200161079a602791396101a9565b9392505050565b6100ea8161022260201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61023160201b6100711760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101c691906103ef565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b50909250905061021886838387610234565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a357825160000361029c576001600160a01b0385163b61029c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610148565b50816102ad565b6102ad83836102b5565b949350505050565b8151156102c55781518083602001fd5b8060405162461bcd60e51b8152600401610148919061040b565b634e487b7160e01b600052604160045260246000fd5b60005b838110156103105781810151838201526020016102f8565b838111156100645750506000910152565b6000806040838503121561033457600080fd5b82516001600160a01b038116811461034b57600080fd5b60208401519092506001600160401b038082111561036857600080fd5b818501915085601f83011261037c57600080fd5b81518181111561038e5761038e6102df565b604051601f8201601f19908116603f011681019083821181831017156103b6576103b66102df565b816040528281528860208487010111156103cf57600080fd5b6103e08360208301602088016102f5565b80955050505050509250929050565b600082516104018184602087016102f5565b9190910192915050565b602081526000825180602084015261042a8160408501602087016102f5565b601f01601f19169190910160400192915050565b61034d8061044d6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102f1602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101079190610283565b600060405180830381855af49150503d8060008114610142576040519150601f19603f3d011682016040523d82523d6000602084013e610147565b606091505b509150915061015886838387610162565b9695505050505050565b606083156101fd5782516000036101f65773ffffffffffffffffffffffffffffffffffffffff85163b6101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610207565b610207838361020f565b949350505050565b81511561021f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed919061029f565b60005b8381101561026e578181015183820152602001610256565b8381111561027d576000848401525b50505050565b60008251610295818460208701610253565b9190910192915050565b60208152600082518060208401526102be816040850160208701610253565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201cd78ab6a31213989661cff2d7d05fc9b9c38b1a848e8249e2e398659a9eb7e364736f6c634300080f0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122070aa03035a81441673770173c347020a4af1bf8f651ceebc066752c059bdbac764736f6c634300080f0033", + "nonce": "2" + } + }, + "baseFeePerGas": "7", + "config": { + "chainId": 17000, + "homesteadBlock": 0, + "daoForkSupport": true, + "eip150Block": 0, + "eip155Block": 0, + "eip158Block": 0, + "byzantiumBlock": 0, + "constantinopleBlock": 0, + "petersburgBlock": 0, + "istanbulBlock": 0, + "berlinBlock": 0, + "londonBlock": 0, + "shanghaiTime": 1696000704, + "cancunTime": 1707305664, + "terminalTotalDifficulty": 0, + "depositContractAddress": "0x0000000000000000000000000000000000000000", + "ethash": {} + }, + "difficulty": "0", + "extraData": "0xd883010d04846765746888676f312e32312e33856c696e7578", + "gasLimit": "30000000", + "hash": "0x51d27336b67190a223f09e010f2c395a09b9efbc79978d4128488438bcebe204", + "miner": "0x455e5aa18469bc6ccef49594645666c587a3a71b", + "mixHash": "0x5620ac2ec6be561b4bdb808b1b0e2e812f7037e068af5ed5e77552c52a59c074", + "nonce": "0x0000000000000000", + "number": "207937", + "stateRoot": "0x7f44580e6d68e7e641a516625593492793b799e77063abb21fb956f03b0f9a69", + "timestamp": "1698574260", + "totalDifficulty": "0", + "withdrawals": [ + { + "address": "0x778f5f13c4be78a3a4d7141bcb26999702f407cf", + "amount": "0x4f5a01", + "index": "0x30f81e", + "validatorIndex": "0xd5251" + }, + { + "address": "0x778f5f13c4be78a3a4d7141bcb26999702f407cf", + "amount": "0x4ec972", + "index": "0x30f81f", + "validatorIndex": "0xd5252" + }, + { + "address": "0x778f5f13c4be78a3a4d7141bcb26999702f407cf", + "amount": "0x4ea6b6", + "index": "0x30f820", + "validatorIndex": "0xd5253" + }, + { + "address": "0x778f5f13c4be78a3a4d7141bcb26999702f407cf", + "amount": "0x4e847c", + "index": "0x30f821", + "validatorIndex": "0xd5254" + }, + { + "address": "0x778f5f13c4be78a3a4d7141bcb26999702f407cf", + "amount": "0x4e8892", + "index": "0x30f822", + "validatorIndex": "0xd5255" + }, + { + "address": "0x778f5f13c4be78a3a4d7141bcb26999702f407cf", + "amount": "0x4f0dff", + "index": "0x30f823", + "validatorIndex": "0xd5256" + }, + { + "address": "0x778f5f13c4be78a3a4d7141bcb26999702f407cf", + "amount": "0x4f754a", + "index": "0x30f824", + "validatorIndex": "0xd5257" + }, + { + "address": "0x778f5f13c4be78a3a4d7141bcb26999702f407cf", + "amount": "0x4fba0a", + "index": "0x30f825", + "validatorIndex": "0xd5258" + }, + { + "address": "0x778f5f13c4be78a3a4d7141bcb26999702f407cf", + "amount": "0x4efb55", + "index": "0x30f826", + "validatorIndex": "0xd5259" + }, + { + "address": "0x778f5f13c4be78a3a4d7141bcb26999702f407cf", + "amount": "0x4f635c", + "index": "0x30f827", + "validatorIndex": "0xd525a" + }, + { + "address": "0x778f5f13c4be78a3a4d7141bcb26999702f407cf", + "amount": "0x4f155f", + "index": "0x30f828", + "validatorIndex": "0xd525b" + }, + { + "address": "0x778f5f13c4be78a3a4d7141bcb26999702f407cf", + "amount": "0x4f5cc3", + "index": "0x30f829", + "validatorIndex": "0xd525c" + }, + { + "address": "0x778f5f13c4be78a3a4d7141bcb26999702f407cf", + "amount": "0x4e4d42", + "index": "0x30f82a", + "validatorIndex": "0xd525d" + }, + { + "address": "0x778f5f13c4be78a3a4d7141bcb26999702f407cf", + "amount": "0x4f3bb4", + "index": "0x30f82b", + "validatorIndex": "0xd525e" + }, + { + "address": "0x778f5f13c4be78a3a4d7141bcb26999702f407cf", + "amount": "0x4ebf95", + "index": "0x30f82c", + "validatorIndex": "0xd525f" + }, + { + "address": "0x778f5f13c4be78a3a4d7141bcb26999702f407cf", + "amount": "0x4f5a95", + "index": "0x30f82d", + "validatorIndex": "0xd5260" + } + ], + "withdrawalsRoot": "0xe7d06c15072a0b642de8a6038ee041797e0e191e706f2e4dd23ce56237d4b6d3" + }, + "input": "0xf908cd0485012a05f200830493e0945ff137d4b0fdcd49dca30c7cf57e578a026d278980b908641fad948c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000762bae358067d954c3d5fd2221c8df850b7d2dea000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000420000000000000000000000000023b8381813a7d98d973ef70cfe3b6fd3eb5af8f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000249f000000000000000000000000000000000000000000000000000000000000052080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000000589406cc6185a346906296840746125a0e449764545fbfb9cf000000000000000000000000762bae358067d954c3d5fd2221c8df850b7d2dea0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e4b61d27f60000000000000000000000007d773af3d29743442dc991c168c434d99836a723000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044095ea7b3000000000000000000000000b98cb1da4f9bd640879f0bbcb30a541c84163406ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028b98cb1da4f9bd640879f0bbcb30a541c841634067d773af3d29743442dc991c168c434d99836a723000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004163db6c745bf7619037403905c091a651a0d322869f5130310f777ffd07fb4f69586b80e4644bd5a5c380fdaa805e55fb88b73a4335d32bcbfb8789f14813b5821c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000023b8381813a7d98d973ef70cfe3b6fd3eb5af8f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000249f000000000000000000000000000000000000000000000000000000000000052080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000000589406cc6185a346906296840746125a0e449764545fbfb9cf000000000000000000000000762bae358067d954c3d5fd2221c8df850b7d2dea0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e4b61d27f60000000000000000000000007d773af3d29743442dc991c168c434d99836a723000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000023b8381813a7d98d973ef70cfe3b6fd3eb5af8f0000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028b98cb1da4f9bd640879f0bbcb30a541c841634067d773af3d29743442dc991c168c434d99836a7230000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041757afb34d07363b77b151d44706f101683fb6f2a388e544739bafde73ac37fa80b1436db66c8ed20ca96b9b5a68f8a15b510a495482003745370e1c8dda4d18b1b000000000000000000000000000000000000000000000000000000000000008284f3a0483300636794233ba87f8da2b896e9ec8095aa7066611653c1aca6136a33adc0a06e4f84003dd488b51fc51cc7dc16efe72f0deeb84a11248c4705eeddbaabc9a4" +} \ No newline at end of file diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/suicide_double_withdraw/block.1550267.golden.json b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/suicide_double_withdraw/block.1550267.golden.json new file mode 100644 index 0000000000..59e48e3ce6 --- /dev/null +++ b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/suicide_double_withdraw/block.1550267.golden.json @@ -0,0 +1,379 @@ +{ + "hash": "ycVHQ3rBt3mfRIpHGewnuEXRq5LmU9/i+qoNZkx0qew=", + "number": "1550267", + "size": "4196", + "header": { + "parentHash": "Lqnb2KULZPqYeoP7inwY5jwKzNhQQaD6YS01a/i6ZrA=", + "uncleHash": "HcxN6N7HXXqrhbVntszUGtMSRRuUinQT8KFC/UDUk0c=", + "coinbase": "Kx2Hm14QLmAWYgLeeVN7SOLxikI=", + "stateRoot": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "transactionsRoot": "UGovRwB9IOw9P7ACFl+hfCxFwgTa3lRZNqwqrJ0NJ20=", + "receiptRoot": "VugfFxvMVab/g0XmksD4bltI4BuZbK3AAWIvteNjtCE=", + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "difficulty": { + "bytes": "AA==" + }, + "number": "1550267", + "gasLimit": "30000000", + "timestamp": "2024-05-15T17:12:36Z", + "mixHash": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "hash": "ycVHQ3rBt3mfRIpHGewnuEXRq5LmU9/i+qoNZkx0qew=", + "baseFeePerGas": { + "bytes": "kwcfxw==" + }, + "parentBeaconRoot": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + }, + "transactionTraces": [ + { + "to": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "nonce": "8", + "gasPrice": { + "bytes": "mVhWcg==" + }, + "gasLimit": "779146", + "value": { + "bytes": "d1bOoA==" + }, + "input": "YIBgQFJzQwAAAAAAAAAAAAAAAAAAAAAAAABgAl9hAQAKgVSBc///////////////////////////AhkWkINz//////////////////////////8WAheQVVBzeiOPKY1V+NsnuGDv8eAtFSixZYVgA19hAQAKgVSBc///////////////////////////AhkWkINz//////////////////////////8WAheQVVBhALphAL9gIBtgIBxWW2EDHlZbX3+cIv9fIfC4GxE+Y/fbbalP7e8RshGbQIi4lmT7mjy2WJBQgGBAUWEA8JBhAnhWW4GQYEBRgJEDkF/1kFCAFYAVYQENVz1fgD49X/1bUF+AYQEACoFUgXP//////////////////////////wIZFpCDc///////////////////////////FgIXkFVQX4BUkGEBAAqQBHP//////////////////////////xZz//////////////////////////8WNGBAUWEBj5BhArJWW19gQFGAgwOBhYda8ZJQUFA9gF+BFGEByVdgQFGRUGAfGWA/PQEWggFgQFI9glI9X2AghAE+YQHOVltgYJFQW1BQUF+AVJBhAQAKkARz//////////////////////////8Wc///////////////////////////FmMPrxAhX4BUkGEBAAqQBHP//////////////////////////xZgQFGCY/////8WYOAbgVJgBAFhAkiRkGEDBVZbX2BAUYCDA4Ffh4A7FYAVYQJfV1+A/VtQWvEVgBVhAnFXPV+APj1f/VtQUFBQUFZbYQKKgGELSYM5AZBWW1+BkFCSkVBQVltQVltfYQKdX4NhAoVWW5FQYQKogmECj1ZbX4IBkFCRkFBWW19hAryCYQKSVluRUIGQUJGQUFZbX3P//////////////////////////4IWkFCRkFBWW19hAu+CYQLGVluQUJGQUFZbYQL/gWEC5VZbglJQUFZbX2AgggGQUGEDGF+DAYRhAvZWW5KRUFBWW2EIHoBhAytfOV/z/mCAYEBSYAQ2EGEAc1dfNWDgHIBjTffj0BFhAE1XgGNN9+PQFGEA3FeAY3R39wAUYQEGV4Bjex2CnBRhATBXgGPPOiF+FGEBWldhAHpWW4BjC2HNfxRhAH5XgGMNvmcfFGEAiFeAYx1j4k0UYQCyV2EAelZbNmEAelcAW1+A/VthAIZhAXBWWwBbNIAVYQCTV1+A/VtQYQCcYQMpVltgQFFhAKmRkGEEmlZbYEBRgJEDkPNbNIAVYQC9V1+A/VtQYQDGYQNMVltgQFFhANORkGEEy1ZbYEBRgJEDkPNbNIAVYQDnV1+A/VtQYQDwYQNSVltgQFFhAP2RkGEEmlZbYEBRgJEDkPNbNIAVYQERV1+A/VtQYQEaYQN3VltgQFFhASeRkGEEy1ZbYEBRgJEDkPNbNIAVYQE7V1+A/VtQYQFEYQN9VltgQFFhAVGRkGEEy1ZbYEBRgJEDkPNbNIAVYQFlV1+A/VtQYQFuYQODVlsAW19/nCL/XyHwuBsRPmP3222pT+3vEbIRm0CIuJZk+5o8tliQUIBgQFFhAaGQYQQTVluBkGBAUYCRA5Bf9ZBQgBWAFWEBvlc9X4A+PV/9W1BfgGEBAAqBVIFz//////////////////////////8CGRaQg3P//////////////////////////xYCF5BVUF+AVJBhAQAKkARz//////////////////////////8Wc///////////////////////////FjRgQFFhAkCQYQURVltfYEBRgIMDgYWHWvGSUFBQPYBfgRRhAnpXYEBRkVBgHxlgPz0BFoIBYEBSPYJSPV9gIIQBPmECf1ZbYGCRUFtQUFBfgFSQYQEACpAEc///////////////////////////FnP//////////////////////////xZjD68QIV+AVJBhAQAKkARz//////////////////////////8WYEBRgmP/////FmDgG4FSYAQBYQL5kZBhBUVWW19gQFGAgwOBX4eAOxWAFWEDEFdfgP1bUFrxFYAVYQMiVz1fgD49X/1bUFBQUFBWW1+AVJBhAQAKkARz//////////////////////////8WgVZbYAVUgVZbYAFfkFSQYQEACpAEc///////////////////////////FoFWW2AEVIFWW2AGVIFWW19/nCL/XyHwuBsRPmP3222pT+3vEbIRm0CIuJZk+5o8tliQUIBgQFFhA7SQYQQTVluBkGBAUYCRA5Bf9ZBQgBWAFWED0Vc9X4A+PV/9W1BfgGEBAAqBVIFz//////////////////////////8CGRaQg3P//////////////////////////xYCF5BVUFBWW2ECioBhBV+DOQGQVltfc///////////////////////////ghaQUJGQUFZbX4GQUJGQUFZbX2EEYmEEXWEEWIRhBCBWW2EEP1ZbYQQgVluQUJGQUFZbX2EEc4JhBEhWW5BQkZBQVltfYQSEgmEEaVZbkFCRkFBWW2EElIFhBHpWW4JSUFBWW19gIIIBkFBhBK1fgwGEYQSLVluSkVBQVltfgZBQkZBQVlthBMWBYQSzVluCUlBQVltfYCCCAZBQYQTeX4MBhGEEvFZbkpFQUFZbX4GQUJKRUFBWW1BWW19hBPxfg2EE5FZbkVBhBQeCYQTuVltfggGQUJGQUFZbX2EFG4JhBPFWW5FQgZBQkZBQVltfYQUvgmEEIFZbkFCRkFBWW2EFP4FhBSVWW4JSUFBWW19gIIIBkFBhBVhfgwGEYQU2VluSkVBQVv5ggGBAUnNDAAAAAAAAAAAAAAAAAAAAAAAAAF+AYQEACoFUgXP//////////////////////////wIZFpCDc///////////////////////////FgIXkFVQc3ojjymNVfjbJ7hg7/HgLRUosWWFYAFfYQEACoFUgXP//////////////////////////wIZFpCDc///////////////////////////FgIXkFVQNIAVYLVXX4D9W1BhAceAYQDDXzlf8/5ggGBAUmAENhBhADdXXzVg4ByAYw+vECEUYQBCV4BjHWPiTRRhAF5XgGN0d/cAFGEAiFdhAD5WWzZhAD5XAFtfgP1bYQBcYASANgOBAZBhAFeRkGEBNVZbYQCyVlsAWzSAFWEAaVdfgP1bUGEAcmEAy1ZbYEBRYQB/kZBhAXhWW2BAUYCRA5DzWzSAFWEAk1dfgP1bUGEAnGEA0VZbYEBRYQCpkZBhAXhWW2BAUYCRA5DzW4Bz//////////////////////////8W/1tgA1SBVltgAlSBVltfgP1bX3P//////////////////////////4IWkFCRkFBWW19hAQSCYQDbVluQUJGQUFZbYQEUgWEA+lZbgRRhAR5XX4D9W1BWW1+BNZBQYQEvgWEBC1ZbkpFQUFZbX2AggoQDEhVhAUpXYQFJYQDXVltbX2EBV4SChQFhASFWW5FQUJKRUFBWW1+BkFCRkFBWW2EBcoFhAWBWW4JSUFBWW19gIIIBkFBhAYtfgwGEYQFpVluSkVBQVv6iZGlwZnNYIhIgeJ3+vUw6BPBQJteR8YhtD8wTPcLbIRYEWUqAC1vSMjBkc29sY0MACBkAM6JkaXBmc1giEiC/VJdrQtHrDXIpsr3UjopR7bzpzAzhLuPtNOmtg7kBFWRzb2xjQwAIGQAzYIBgQFJzQwAAAAAAAAAAAAAAAAAAAAAAAABfgGEBAAqBVIFz//////////////////////////8CGRaQg3P//////////////////////////xYCF5BVUHN6I48pjVX42ye4YO/x4C0VKLFlhWABX2EBAAqBVIFz//////////////////////////8CGRaQg3P//////////////////////////xYCF5BVUDSAFWC1V1+A/VtQYQHHgGEAw185X/P+YIBgQFJgBDYQYQA3V181YOAcgGMPrxAhFGEAQleAYx1j4k0UYQBeV4BjdHf3ABRhAIhXYQA+Vls2YQA+VwBbX4D9W2EAXGAEgDYDgQGQYQBXkZBhATVWW2EAslZbAFs0gBVhAGlXX4D9W1BhAHJhAMtWW2BAUWEAf5GQYQF4VltgQFGAkQOQ81s0gBVhAJNXX4D9W1BhAJxhANFWW2BAUWEAqZGQYQF4VltgQFGAkQOQ81uAc///////////////////////////Fv9bYANUgVZbYAJUgVZbX4D9W19z//////////////////////////+CFpBQkZBQVltfYQEEgmEA21ZbkFCRkFBWW2EBFIFhAPpWW4EUYQEeV1+A/VtQVltfgTWQUGEBL4FhAQtWW5KRUFBWW19gIIKEAxIVYQFKV2EBSWEA11ZbW19hAVeEgoUBYQEhVluRUFCSkVBQVltfgZBQkZBQVlthAXKBYQFgVluCUlBQVltfYCCCAZBQYQGLX4MBhGEBaVZbkpFQUFb+omRpcGZzWCISIHid/r1MOgTwUCbXkfGIbQ/MEz3C2yEWBFlKgAtb0jIwZHNvbGNDAAgZADM=", + "r": "uEHvjD26MNMUOogGHEac8h8Gyz2aw+Nbzc+mi2kmRS8=", + "s": "E8IkJGk6TjnE8pl+DO4Ty/WfNsTFicVgSpPI2ayGblU=", + "gasUsed": "771853", + "type": "TRX_TYPE_DYNAMIC_FEE", + "maxFeePerGas": { + "bytes": "yOKYzA==" + }, + "maxPriorityFeePerGas": { + "bytes": "BlE2qw==" + }, + "hash": "5gTFisgmyZvp3w4jvWMAn6e93CFPnMRbzXnM9NcV2lg=", + "from": "eiOPKY1V+NsnuGDv8eAtFSixZYU=", + "beginOrdinal": "1", + "endOrdinal": "44", + "status": "SUCCEEDED", + "receipt": { + "cumulativeGasUsed": "771853", + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + }, + "calls": [ + { + "index": 1, + "callType": "CREATE", + "caller": "eiOPKY1V+NsnuGDv8eAtFSixZYU=", + "address": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "value": { + "bytes": "d1bOoA==" + }, + "gasLimit": "671148", + "gasConsumed": "663855", + "storageChanges": [ + { + "address": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "newValue": "AAAAAAAAAAAAAAAAQwAAAAAAAAAAAAAAAAAAAAAAAAA=", + "ordinal": "9" + }, + { + "address": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "newValue": "AAAAAAAAAAAAAAAAeiOPKY1V+NsnuGDv8eAtFSixZYU=", + "ordinal": "10" + }, + { + "address": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "newValue": "AAAAAAAAAAAAAAAAVmsCLVeUvExlb0NlkADTCzuyRWs=", + "ordinal": "24" + } + ], + "balanceChanges": [ + { + "address": "eiOPKY1V+NsnuGDv8eAtFSixZYU=", + "oldValue": { + "bytes": "Dbv1zrT3nx0=" + }, + "newValue": { + "bytes": "DbTWtv/L76k=" + }, + "reason": "REASON_GAS_BUY", + "ordinal": "2" + }, + { + "address": "eiOPKY1V+NsnuGDv8eAtFSixZYU=", + "oldValue": { + "bytes": "DbTWtv/L76k=" + }, + "newValue": { + "bytes": "DbTWtoh1IQk=" + }, + "reason": "REASON_TRANSFER", + "ordinal": "7" + }, + { + "address": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "newValue": { + "bytes": "d1bOoA==" + }, + "reason": "REASON_TRANSFER", + "ordinal": "8" + }, + { + "address": "eiOPKY1V+NsnuGDv8eAtFSixZYU=", + "oldValue": { + "bytes": "DbTWtoh1IQk=" + }, + "newValue": { + "bytes": "DbTnxxILzrM=" + }, + "reason": "REASON_GAS_REFUND", + "ordinal": "42" + }, + { + "address": "Kx2Hm14QLmAWYgLeeVN7SOLxikI=", + "oldValue": { + "bytes": "3mbtxTnosse6" + }, + "newValue": { + "bytes": "3mbuD6C1qntp" + }, + "reason": "REASON_REWARD_TRANSACTION_FEE", + "ordinal": "43" + } + ], + "nonceChanges": [ + { + "address": "eiOPKY1V+NsnuGDv8eAtFSixZYU=", + "oldValue": "8", + "newValue": "9", + "ordinal": "5" + }, + { + "address": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "newValue": "1", + "ordinal": "6" + } + ], + "codeChanges": [ + { + "address": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "oldHash": "xdJGAYb3IzySfn2y3McDwOUAtlPKgic7e/rYBF2FpHA=", + "newHash": "SCiyEasTfEh/c8vA9xQ/UVY7EnPvfmQlXKBqXUD/TxU=", + "newCode": "YIBgQFJgBDYQYQBzV181YOAcgGNN9+PQEWEATVeAY03349AUYQDcV4BjdHf3ABRhAQZXgGN7HYKcFGEBMFeAY886IX4UYQFaV2EAelZbgGMLYc1/FGEAfleAYw2+Zx8UYQCIV4BjHWPiTRRhALJXYQB6Vls2YQB6VwBbX4D9W2EAhmEBcFZbAFs0gBVhAJNXX4D9W1BhAJxhAylWW2BAUWEAqZGQYQSaVltgQFGAkQOQ81s0gBVhAL1XX4D9W1BhAMZhA0xWW2BAUWEA05GQYQTLVltgQFGAkQOQ81s0gBVhAOdXX4D9W1BhAPBhA1JWW2BAUWEA/ZGQYQSaVltgQFGAkQOQ81s0gBVhARFXX4D9W1BhARphA3dWW2BAUWEBJ5GQYQTLVltgQFGAkQOQ81s0gBVhATtXX4D9W1BhAURhA31WW2BAUWEBUZGQYQTLVltgQFGAkQOQ81s0gBVhAWVXX4D9W1BhAW5hA4NWWwBbX3+cIv9fIfC4GxE+Y/fbbalP7e8RshGbQIi4lmT7mjy2WJBQgGBAUWEBoZBhBBNWW4GQYEBRgJEDkF/1kFCAFYAVYQG+Vz1fgD49X/1bUF+AYQEACoFUgXP//////////////////////////wIZFpCDc///////////////////////////FgIXkFVQX4BUkGEBAAqQBHP//////////////////////////xZz//////////////////////////8WNGBAUWECQJBhBRFWW19gQFGAgwOBhYda8ZJQUFA9gF+BFGECeldgQFGRUGAfGWA/PQEWggFgQFI9glI9X2AghAE+YQJ/VltgYJFQW1BQUF+AVJBhAQAKkARz//////////////////////////8Wc///////////////////////////FmMPrxAhX4BUkGEBAAqQBHP//////////////////////////xZgQFGCY/////8WYOAbgVJgBAFhAvmRkGEFRVZbX2BAUYCDA4Ffh4A7FYAVYQMQV1+A/VtQWvEVgBVhAyJXPV+APj1f/VtQUFBQUFZbX4BUkGEBAAqQBHP//////////////////////////xaBVltgBVSBVltgAV+QVJBhAQAKkARz//////////////////////////8WgVZbYARUgVZbYAZUgVZbX3+cIv9fIfC4GxE+Y/fbbalP7e8RshGbQIi4lmT7mjy2WJBQgGBAUWEDtJBhBBNWW4GQYEBRgJEDkF/1kFCAFYAVYQPRVz1fgD49X/1bUF+AYQEACoFUgXP//////////////////////////wIZFpCDc///////////////////////////FgIXkFVQUFZbYQKKgGEFX4M5AZBWW19z//////////////////////////+CFpBQkZBQVltfgZBQkZBQVltfYQRiYQRdYQRYhGEEIFZbYQQ/VlthBCBWW5BQkZBQVltfYQRzgmEESFZbkFCRkFBWW19hBISCYQRpVluQUJGQUFZbYQSUgWEEelZbglJQUFZbX2AgggGQUGEErV+DAYRhBItWW5KRUFBWW1+BkFCRkFBWW2EExYFhBLNWW4JSUFBWW19gIIIBkFBhBN5fgwGEYQS8VluSkVBQVltfgZBQkpFQUFZbUFZbX2EE/F+DYQTkVluRUGEFB4JhBO5WW1+CAZBQkZBQVltfYQUbgmEE8VZbkVCBkFCRkFBWW19hBS+CYQQgVluQUJGQUFZbYQU/gWEFJVZbglJQUFZbX2AgggGQUGEFWF+DAYRhBTZWW5KRUFBW/mCAYEBSc0MAAAAAAAAAAAAAAAAAAAAAAAAAX4BhAQAKgVSBc///////////////////////////AhkWkINz//////////////////////////8WAheQVVBzeiOPKY1V+NsnuGDv8eAtFSixZYVgAV9hAQAKgVSBc///////////////////////////AhkWkINz//////////////////////////8WAheQVVA0gBVgtVdfgP1bUGEBx4BhAMNfOV/z/mCAYEBSYAQ2EGEAN1dfNWDgHIBjD68QIRRhAEJXgGMdY+JNFGEAXleAY3R39wAUYQCIV2EAPlZbNmEAPlcAW1+A/VthAFxgBIA2A4EBkGEAV5GQYQE1VlthALJWWwBbNIAVYQBpV1+A/VtQYQByYQDLVltgQFFhAH+RkGEBeFZbYEBRgJEDkPNbNIAVYQCTV1+A/VtQYQCcYQDRVltgQFFhAKmRkGEBeFZbYEBRgJEDkPNbgHP//////////////////////////xb/W2ADVIFWW2ACVIFWW1+A/Vtfc///////////////////////////ghaQUJGQUFZbX2EBBIJhANtWW5BQkZBQVlthARSBYQD6VluBFGEBHldfgP1bUFZbX4E1kFBhAS+BYQELVluSkVBQVltfYCCChAMSFWEBSldhAUlhANdWW1tfYQFXhIKFAWEBIVZbkVBQkpFQUFZbX4GQUJGQUFZbYQFygWEBYFZbglJQUFZbX2AgggGQUGEBi1+DAYRhAWlWW5KRUFBW/qJkaXBmc1giEiB4nf69TDoE8FAm15HxiG0PzBM9wtshFgRZSoALW9IyMGRzb2xjQwAIGQAzomRpcGZzWCISIL9Ul2tC0esNcimyvdSOilHtvOnMDOEu4+006a2DuQEVZHNvbGNDAAgZADM=", + "ordinal": "40" + } + ], + "gasChanges": [ + { + "oldValue": "779146", + "newValue": "671148", + "reason": "REASON_INTRINSIC_GAS", + "ordinal": "3" + }, + { + "oldValue": "626722", + "newValue": "626589", + "reason": "REASON_CODE_COPY", + "ordinal": "11" + }, + { + "oldValue": "626548", + "newValue": "594380", + "reason": "REASON_CONTRACT_CREATION2", + "ordinal": "12" + }, + { + "oldValue": "594380", + "newValue": "9287", + "reason": "REASON_CONTRACT_CREATION2", + "ordinal": "13" + }, + { + "oldValue": "9287", + "newValue": "458909", + "reason": "REASON_REFUND_AFTER_EXECUTION", + "ordinal": "23" + }, + { + "oldValue": "436353", + "newValue": "6675", + "reason": "REASON_CALL", + "ordinal": "25" + }, + { + "oldValue": "6675", + "newValue": "429498", + "reason": "REASON_REFUND_AFTER_EXECUTION", + "ordinal": "30" + }, + { + "oldValue": "428786", + "newValue": "6698", + "reason": "REASON_CALL", + "ordinal": "31" + }, + { + "oldValue": "6698", + "newValue": "423285", + "reason": "REASON_REFUND_AFTER_EXECUTION", + "ordinal": "37" + }, + { + "oldValue": "423220", + "newValue": "422895", + "reason": "REASON_CODE_COPY", + "ordinal": "38" + }, + { + "oldValue": "422893", + "newValue": "7293", + "reason": "REASON_CODE_STORAGE", + "ordinal": "39" + } + ], + "endOrdinal": "41" + }, + { + "index": 2, + "parentIndex": 1, + "depth": 1, + "callType": "CREATE", + "caller": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "gasLimit": "585093", + "gasConsumed": "135471", + "storageChanges": [ + { + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "newValue": "AAAAAAAAAAAAAAAAQwAAAAAAAAAAAAAAAAAAAAAAAAA=", + "ordinal": "17" + }, + { + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "newValue": "AAAAAAAAAAAAAAAAeiOPKY1V+NsnuGDv8eAtFSixZYU=", + "ordinal": "18" + } + ], + "nonceChanges": [ + { + "address": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "oldValue": "1", + "newValue": "2", + "ordinal": "15" + }, + { + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "newValue": "1", + "ordinal": "16" + } + ], + "codeChanges": [ + { + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "oldHash": "xdJGAYb3IzySfn2y3McDwOUAtlPKgic7e/rYBF2FpHA=", + "newHash": "6CUXyeRMWXwdWTThEgzSUhJR2IxY3DiiPnUZpa1qPpY=", + "newCode": "YIBgQFJgBDYQYQA3V181YOAcgGMPrxAhFGEAQleAYx1j4k0UYQBeV4BjdHf3ABRhAIhXYQA+Vls2YQA+VwBbX4D9W2EAXGAEgDYDgQGQYQBXkZBhATVWW2EAslZbAFs0gBVhAGlXX4D9W1BhAHJhAMtWW2BAUWEAf5GQYQF4VltgQFGAkQOQ81s0gBVhAJNXX4D9W1BhAJxhANFWW2BAUWEAqZGQYQF4VltgQFGAkQOQ81uAc///////////////////////////Fv9bYANUgVZbYAJUgVZbX4D9W19z//////////////////////////+CFpBQkZBQVltfYQEEgmEA21ZbkFCRkFBWW2EBFIFhAPpWW4EUYQEeV1+A/VtQVltfgTWQUGEBL4FhAQtWW5KRUFBWW19gIIKEAxIVYQFKV2EBSWEA11ZbW19hAVeEgoUBYQEhVluRUFCSkVBQVltfgZBQkZBQVlthAXKBYQFgVluCUlBQVltfYCCCAZBQYQGLX4MBhGEBaVZbkpFQUFb+omRpcGZzWCISIHid/r1MOgTwUCbXkfGIbQ/MEz3C2yEWBFlKgAtb0jIwZHNvbGNDAAgZADM=", + "ordinal": "21" + } + ], + "gasChanges": [ + { + "oldValue": "540708", + "newValue": "540624", + "reason": "REASON_CODE_COPY", + "ordinal": "19" + }, + { + "oldValue": "540622", + "newValue": "449622", + "reason": "REASON_CODE_STORAGE", + "ordinal": "20" + } + ], + "beginOrdinal": "14", + "endOrdinal": "22" + }, + { + "index": 3, + "parentIndex": 1, + "depth": 1, + "callType": "CALL", + "caller": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "value": { + "bytes": "d1bOoA==" + }, + "gasLimit": "422878", + "gasConsumed": "55", + "balanceChanges": [ + { + "address": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "oldValue": { + "bytes": "d1bOoA==" + }, + "reason": "REASON_TRANSFER", + "ordinal": "27" + }, + { + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "newValue": { + "bytes": "d1bOoA==" + }, + "reason": "REASON_TRANSFER", + "ordinal": "28" + } + ], + "beginOrdinal": "26", + "endOrdinal": "29" + }, + { + "index": 4, + "parentIndex": 1, + "depth": 1, + "callType": "CALL", + "caller": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "gasLimit": "421988", + "gasConsumed": "5401", + "input": "D68QIQAAAAAAAAAAAAAAAFZrAi1XlLxMZW9DZZAA0ws7skVr", + "executedCode": true, + "suicide": true, + "balanceChanges": [ + { + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "newValue": { + "bytes": "d1bOoA==" + }, + "reason": "REASON_SUICIDE_REFUND", + "ordinal": "34" + }, + { + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "oldValue": { + "bytes": "d1bOoA==" + }, + "reason": "REASON_SUICIDE_WITHDRAW", + "ordinal": "35" + } + ], + "gasChanges": [ + { + "oldValue": "421587", + "newValue": "416587", + "reason": "REASON_SELF_DESTRUCT", + "ordinal": "33" + } + ], + "beginOrdinal": "32", + "endOrdinal": "36" + } + ] + } + ], + "ver": 3 +} \ No newline at end of file diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/suicide_double_withdraw/prestate.json b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/suicide_double_withdraw/prestate.json new file mode 100644 index 0000000000..dfce0d7dc7 --- /dev/null +++ b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/suicide_double_withdraw/prestate.json @@ -0,0 +1,171 @@ +{ + "context": { + "baseFeePerGas": "2466717639", + "difficulty": "0", + "gasLimit": "30000000", + "miner": "0x2b1d879b5e102e60166202de79537b48e2f18a42", + "number": "1550267", + "timestamp": "1715793156" + }, + "genesis": { + "alloc": { + "0x2b1d879b5e102e60166202de79537b48e2f18a42": { + "balance": "0xde66edc539e8b2c7ba", + "nonce": "36" + }, + "0x566b022d5794bc4c656f43659000d30b3bb2456b": { + "balance": "0x0", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + }, + "0x7a238f298d55f8db27b860eff1e02d1528b16585": { + "balance": "0xdbbf5ceb4f79f1d", + "nonce": "8" + }, + "0xb661c9f3034237501433bd7a6587784b7020b254": { + "balance": "0x0", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "baseFeePerGas": "2412067821", + "blobGasUsed": "0x60000", + "config": { + "chainId": 17000, + "homesteadBlock": 0, + "daoForkSupport": true, + "eip150Block": 0, + "eip155Block": 0, + "eip158Block": 0, + "byzantiumBlock": 0, + "constantinopleBlock": 0, + "petersburgBlock": 0, + "istanbulBlock": 0, + "berlinBlock": 0, + "londonBlock": 0, + "shanghaiTime": 1696000704, + "cancunTime": 1707305664, + "terminalTotalDifficulty": 0, + "depositContractAddress": "0x0000000000000000000000000000000000000000", + "ethash": {} + }, + "difficulty": "0", + "totalDifficulty": "0", + "excessBlobGas": "0x5000000", + "extraData": "0x", + "gasLimit": "30000000", + "hash": "0x480fe829b1192cad4708bb5802c40ab123265b870eb8647a0aa356a3338ac5c9", + "miner": "0xc6e2459991bfe27cca6d86722f35da23a1e4cb97", + "mixHash": "0xd9aa01bad13cfc5bb4707367bdaec1f7790c1a387faf1acab7fb2fe01788f753", + "nonce": "0x0000000000000000", + "number": "1550266", + "parentBeaconBlockRoot": "0x090f4855361251c1e7496c2fde588cf530635fd7528f93eec22e50366b174dcc", + "stateRoot": "0xc3495340c7aaa4064cc1233cbbe29a93f10a96a4b76fff84760475263b75b225", + "timestamp": "1715793144", + "withdrawals": [ + { + "address": "0x2b1d879b5e102e60166202de79537b48e2f18a42", + "amount": "0x6a2410", + "index": "0x177fb21", + "validatorIndex": "0x159270" + }, + { + "address": "0x2b1d879b5e102e60166202de79537b48e2f18a42", + "amount": "0x690f5c", + "index": "0x177fb22", + "validatorIndex": "0x159271" + }, + { + "address": "0x2b1d879b5e102e60166202de79537b48e2f18a42", + "amount": "0x6979d3", + "index": "0x177fb23", + "validatorIndex": "0x159272" + }, + { + "address": "0x2b1d879b5e102e60166202de79537b48e2f18a42", + "amount": "0x683056", + "index": "0x177fb24", + "validatorIndex": "0x159273" + }, + { + "address": "0x2b1d879b5e102e60166202de79537b48e2f18a42", + "amount": "0x69a405", + "index": "0x177fb25", + "validatorIndex": "0x159274" + }, + { + "address": "0x2b1d879b5e102e60166202de79537b48e2f18a42", + "amount": "0x69728f", + "index": "0x177fb26", + "validatorIndex": "0x159275" + }, + { + "address": "0x2b1d879b5e102e60166202de79537b48e2f18a42", + "amount": "0x697300", + "index": "0x177fb27", + "validatorIndex": "0x159276" + }, + { + "address": "0x2b1d879b5e102e60166202de79537b48e2f18a42", + "amount": "0x699d11", + "index": "0x177fb28", + "validatorIndex": "0x159277" + }, + { + "address": "0x2b1d879b5e102e60166202de79537b48e2f18a42", + "amount": "0x6a9be7", + "index": "0x177fb29", + "validatorIndex": "0x159278" + }, + { + "address": "0x2b1d879b5e102e60166202de79537b48e2f18a42", + "amount": "0x6941a6", + "index": "0x177fb2a", + "validatorIndex": "0x159279" + }, + { + "address": "0x2b1d879b5e102e60166202de79537b48e2f18a42", + "amount": "0x697011", + "index": "0x177fb2b", + "validatorIndex": "0x15927a" + }, + { + "address": "0x2b1d879b5e102e60166202de79537b48e2f18a42", + "amount": "0x69fe61", + "index": "0x177fb2c", + "validatorIndex": "0x15927b" + }, + { + "address": "0x2b1d879b5e102e60166202de79537b48e2f18a42", + "amount": "0x699117", + "index": "0x177fb2d", + "validatorIndex": "0x15927c" + }, + { + "address": "0x2b1d879b5e102e60166202de79537b48e2f18a42", + "amount": "0x694474", + "index": "0x177fb2e", + "validatorIndex": "0x15927d" + }, + { + "address": "0x2b1d879b5e102e60166202de79537b48e2f18a42", + "amount": "0x69b479", + "index": "0x177fb2f", + "validatorIndex": "0x15927e" + }, + { + "address": "0x2b1d879b5e102e60166202de79537b48e2f18a42", + "amount": "0x691ff4", + "index": "0x177fb30", + "validatorIndex": "0x15927f" + } + ], + "withdrawalsRoot": "0x0b4e1c1cd3f289e89a9e26649ac236ba45431c24dfddd0553e324bf9428d3110" + }, + "input": "0xb90e3602f90e328242680884065136ab84c8e298cc830be38a80847756cea0b90dd3608060405273430000000000000000000000000000000000000060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a238f298d55f8db27b860eff1e02d1528b1658560035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506100ba6100bf60201b60201c565b61031e565b5f7f9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb6589050806040516100f090610278565b8190604051809103905ff590508015801561010d573d5f803e3d5ffd5b505f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460405161018f906102b2565b5f6040518083038185875af1925050503d805f81146101c9576040519150601f19603f3d011682016040523d82523d5f602084013e6101ce565b606091505b5050505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630faf10215f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016102489190610305565b5f604051808303815f87803b15801561025f575f80fd5b505af1158015610271573d5f803e3d5ffd5b5050505050565b61028a80610b4983390190565b5f81905092915050565b50565b5f61029d5f83610285565b91506102a88261028f565b5f82019050919050565b5f6102bc82610292565b9150819050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6102ef826102c6565b9050919050565b6102ff816102e5565b82525050565b5f6020820190506103185f8301846102f6565b92915050565b61081e8061032b5f395ff3fe608060405260043610610073575f3560e01c80634df7e3d01161004d5780634df7e3d0146100dc5780637477f700146101065780637b1d829c14610130578063cf3a217e1461015a5761007a565b80630b61cd7f1461007e5780630dbe671f146100885780631d63e24d146100b25761007a565b3661007a57005b5f80fd5b610086610170565b005b348015610093575f80fd5b5061009c610329565b6040516100a9919061049a565b60405180910390f35b3480156100bd575f80fd5b506100c661034c565b6040516100d391906104cb565b60405180910390f35b3480156100e7575f80fd5b506100f0610352565b6040516100fd919061049a565b60405180910390f35b348015610111575f80fd5b5061011a610377565b60405161012791906104cb565b60405180910390f35b34801561013b575f80fd5b5061014461037d565b60405161015191906104cb565b60405180910390f35b348015610165575f80fd5b5061016e610383565b005b5f7f9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb6589050806040516101a190610413565b8190604051809103905ff59050801580156101be573d5f803e3d5ffd5b505f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460405161024090610511565b5f6040518083038185875af1925050503d805f811461027a576040519150601f19603f3d011682016040523d82523d5f602084013e61027f565b606091505b5050505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630faf10215f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016102f99190610545565b5f604051808303815f87803b158015610310575f80fd5b505af1158015610322573d5f803e3d5ffd5b5050505050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b60065481565b5f7f9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb6589050806040516103b490610413565b8190604051809103905ff59050801580156103d1573d5f803e3d5ffd5b505f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61028a8061055f83390190565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61046261045d61045884610420565b61043f565b610420565b9050919050565b5f61047382610448565b9050919050565b5f61048482610469565b9050919050565b6104948161047a565b82525050565b5f6020820190506104ad5f83018461048b565b92915050565b5f819050919050565b6104c5816104b3565b82525050565b5f6020820190506104de5f8301846104bc565b92915050565b5f81905092915050565b50565b5f6104fc5f836104e4565b9150610507826104ee565b5f82019050919050565b5f61051b826104f1565b9150819050919050565b5f61052f82610420565b9050919050565b61053f81610525565b82525050565b5f6020820190506105585f830184610536565b9291505056fe60806040527343000000000000000000000000000000000000005f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a238f298d55f8db27b860eff1e02d1528b1658560015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801560b5575f80fd5b506101c7806100c35f395ff3fe608060405260043610610037575f3560e01c80630faf1021146100425780631d63e24d1461005e5780637477f700146100885761003e565b3661003e57005b5f80fd5b61005c60048036038101906100579190610135565b6100b2565b005b348015610069575f80fd5b506100726100cb565b60405161007f9190610178565b60405180910390f35b348015610093575f80fd5b5061009c6100d1565b6040516100a99190610178565b60405180910390f35b8073ffffffffffffffffffffffffffffffffffffffff16ff5b60035481565b60025481565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610104826100db565b9050919050565b610114816100fa565b811461011e575f80fd5b50565b5f8135905061012f8161010b565b92915050565b5f6020828403121561014a576101496100d7565b5b5f61015784828501610121565b91505092915050565b5f819050919050565b61017281610160565b82525050565b5f60208201905061018b5f830184610169565b9291505056fea2646970667358221220789dfebd4c3a04f05026d791f1886d0fcc133dc2db211604594a800b5bd2323064736f6c63430008190033a2646970667358221220bf54976b42d1eb0d7229b2bdd48e8a51edbce9cc0ce12ee3ed34e9ad83b9011564736f6c6343000819003360806040527343000000000000000000000000000000000000005f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a238f298d55f8db27b860eff1e02d1528b1658560015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801560b5575f80fd5b506101c7806100c35f395ff3fe608060405260043610610037575f3560e01c80630faf1021146100425780631d63e24d1461005e5780637477f700146100885761003e565b3661003e57005b5f80fd5b61005c60048036038101906100579190610135565b6100b2565b005b348015610069575f80fd5b506100726100cb565b60405161007f9190610178565b60405180910390f35b348015610093575f80fd5b5061009c6100d1565b6040516100a99190610178565b60405180910390f35b8073ffffffffffffffffffffffffffffffffffffffff16ff5b60035481565b60025481565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610104826100db565b9050919050565b610114816100fa565b811461011e575f80fd5b50565b5f8135905061012f8161010b565b92915050565b5f6020828403121561014a576101496100d7565b5b5f61015784828501610121565b91505092915050565b5f819050919050565b61017281610160565b82525050565b5f60208201905061018b5f830184610169565b9291505056fea2646970667358221220789dfebd4c3a04f05026d791f1886d0fcc133dc2db211604594a800b5bd2323064736f6c63430008190033c080a0b841ef8c3dba30d3143a88061c469cf21f06cb3d9ac3e35bcdcfa68b6926452fa013c22424693a4e39c4f2997e0cee13cbf59f36c4c589c5604a93c8d9ac866e55" +} \ No newline at end of file