diff --git a/EIPTests/StateTests/stEIP5656-MCOPY/MCOPY.json b/EIPTests/StateTests/stEIP5656-MCOPY/MCOPY.json new file mode 100644 index 00000000000..37e1649a10e --- /dev/null +++ b/EIPTests/StateTests/stEIP5656-MCOPY/MCOPY.json @@ -0,0 +1,301 @@ +{ + "MCOPY" : { + "_info" : { + "comment" : "MCOPY tests\n", + "filling-rpc-server" : "evmone-t8n 0.11.0-dev+commit.2a788824.dirty", + "filling-tool-version" : "retesteth-0.3.1-shanghai+commit.9de66016.Linux.g++", + "generatedTestHash" : "b4ae79dc770e735a1173151b66ea422b234699db78ad9f8078f7113e2bc2b30d", + "labels" : { + "0" : "forward_size0_0", + "1" : "forward_size0_1", + "10" : "forward_adjacent_0", + "11" : "forward_adjacent_1", + "12" : "backward_overlapped_0", + "13" : "backward_overlapped_1", + "14" : "backward_disjoint_0", + "15" : "backward_disjoint_1", + "16" : "backward_adjacent_0", + "17" : "backward_adjacent_1", + "18" : "inplace_0", + "19" : "inplace_1", + "2" : "backward_size0_0", + "3" : "backward_size0_1", + "4" : "inplace_size0_0", + "5" : "inplace_size0_1", + "6" : "forward_overlapped_0", + "7" : "forward_overlapped_1", + "8" : "forward_disjoint_0", + "9" : "forward_disjoint_1" + }, + "lllcversion" : "Version: 0.5.14-develop.2022.6.30+commit.401d5358.mod.Linux.g++", + "solidity" : "Version: 0.8.18-develop.2022.12.14+commit.a9fe05e8.Linux.g++", + "source" : "src/EIPTestsFiller/StateTests/stEIP5656-MCOPY/MCOPYFiller.yml", + "sourceHash" : "9a86d09e7a22b00b3c639ffb801e443e2139be18bc8a48867970c348c47786ab" + }, + "env" : { + "currentBaseFee" : "0x0a", + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x020000", + "currentGasLimit" : "0x0f4240", + "currentNumber" : "0x01", + "currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000020000", + "currentTimestamp" : "0x64903c57", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "post" : { + "Cancun" : [ + { + "hash" : "0xbc4b05b9371d0d053e3119ba76cd01515bffba3a5442d3ae08c5e5514347e510", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b8600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ca0f225c2292ba248fe3ed544f7d45dd4172337ba41dc480c3b17af63e03d281dafa035360ae92ae767c1d0a9e0358e4398174b10eeea046bceedf323e7bf3b17c652" + }, + { + "hash" : "0x0defc269e98f946c02160f7eb054b311d02ff1e2d644ac09a2c66e907002b35e", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b8600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001ca02803e433a92ecdc5ce8ba38c27507aada02c16b0eb2772bc7a625c84a259e519a039e77b893309c1f972527af357875218f04d140b848c6f293c200b5227e90451" + }, + { + "hash" : "0xbc4b05b9371d0d053e3119ba76cd01515bffba3a5442d3ae08c5e5514347e510", + "indexes" : { + "data" : 2, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b8600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001ba085242acf30de7d07f968d18b97e127c672fa6cfd28283e2402c92ea2ef58f886a06e74a7012d61499064f9862ffb93f41c4dbc56d2d685f31787e273545c282410" + }, + { + "hash" : "0x0defc269e98f946c02160f7eb054b311d02ff1e2d644ac09a2c66e907002b35e", + "indexes" : { + "data" : 3, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b8600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002100000000000000000000000000000000000000000000000000000000000000001ba0d5caa79887771d24f9ee7e391f05754cb4575254208ab991f8532008f175a020a0744966dd1cd265b947d475e98a92de0db29b227d25af706934114e2f119c96c3" + }, + { + "hash" : "0x38eee85c87ae70dbd5bf33e66c608c61ce0ab3086cc0f3d5ece566ca6cc6417b", + "indexes" : { + "data" : 4, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b8600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ca0207e44b591a10414eea2af042d6ea34a1f4f4438263f7d4d6cbff2ab7d34ec4aa065d0b4972fc53631ac4122ce1850b861cfadc8b4c9d9d590875bbbb67cebccf2" + }, + { + "hash" : "0x0defc269e98f946c02160f7eb054b311d02ff1e2d644ac09a2c66e907002b35e", + "indexes" : { + "data" : 5, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b860000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000001f00000000000000000000000000000000000000000000000000000000000000001ca0daec43fbb615c080a6fc4e70582640222483b459e940527afb74ca4121806ab9a00ea10b4ec7491e0b4d997923c028aa0d8b5136a0215160c0e5b68e59053cd698" + }, + { + "hash" : "0x4c168420e005c0e824bd79a329f7ea6f45743cd9d94ed87731a5320cf1b9d328", + "indexes" : { + "data" : 18, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b8600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011ca08d09cd1b4b48f1bdd085a092d3964252ec641b9dbafa7986747c512c1a26a530a0672144a01e167d1571d887e30499a7131a82a4b4419810bb2759df512c955d56" + }, + { + "hash" : "0x48dfbf72706d84aa0560159457416d9e4501a8948d84565a623ce8bf024f8eb1", + "indexes" : { + "data" : 19, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b8600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000331ba07953c68fade8c8722406851720dbf6575bfd1a3e210ce716a3bc0a666c7d77e1a0179685298aeebe39db9e831e3fa0af28ba29a0459833f2d25ded2b8a3ef75dc2" + }, + { + "hash" : "0x4ed2fa2488facb3a74b5167df9d0c08d59b37e463095a5924c9bce8e5b8d55bd", + "indexes" : { + "data" : 6, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b8600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021ca0bff6e4fab667398829f5509a33b309bcb33c2f0212d4886d058107cef6f11690a03a4800444c3d80b5df5e0eaaad4578927c9afa1521a51ec84510259ddfa5d821" + }, + { + "hash" : "0xd31c529f80dceb5a5e2964bcb314935cfc5b65efae722060c204619902936bbd", + "indexes" : { + "data" : 7, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b86000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001f1ca01dd5045c3b432cba192b31bdb58a4197fbb32ef1e4928dd38d6658558221281ea0437ac782368905e640ad65e726adeb1ec3c64659244f64f7e1b2563b1562bbed" + }, + { + "hash" : "0x5671ee1ca68315fbf0f52959af6cae104b01290ba03373fe02d7bf0cb0df9268", + "indexes" : { + "data" : 8, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b86000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f1ba00b42447ee87e37bc629aa3c5db5f923242e3a851ea0244a452dbc531823227afa03d0e826d90b0e92e9830426098978bed9ed4fb96cc987e140542edc493203c20" + }, + { + "hash" : "0x41facbc588ee940bb33a253e20fd630c922ba456122eb505222db157ae0b6639", + "indexes" : { + "data" : 9, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b8600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000021ca001acee3fc96f5450fa023821fbca2542e3f01236d0235c36b9956e53981f9085a04f9f4fef3fc48ce340b3eef8bcefa9340d8c8f707e169a548e6994f40fa098e4" + }, + { + "hash" : "0x627336353c89946b355d306d31be11b366fc88092d828d21dfd6c37566272d89", + "indexes" : { + "data" : 10, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b8600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021ca0419ef6548001a0d058424c64e231ec541700d1f254e707cbb62fb0ba705497f7a07c7450a343a76beca26752271dd186ecf0c47a32e4118e8cab2278943b56cec0" + }, + { + "hash" : "0x3f0a3a98bf786a072b5e246607745f20ea9625c234618fdbf662b5a456ac8da9", + "indexes" : { + "data" : 11, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b8600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001f00000000000000000000000000000000000000000000000000000000000000011ca0d80c69d2748cad17f39cb3c5276d89b55d67adcc91d36352f050bc3d87cf109aa01fd51cb46290c2dc8c889f4b0109cd225cfc1e9d7496edecf82d5ff1cab72dd1" + }, + { + "hash" : "0xcb45c8a5effcaa226c91fea1a3f74c96b4831c8d6712326500e407d77a575c38", + "indexes" : { + "data" : 12, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b8600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f00000000000000000000000000000000000000000000000000000000000000211ca0d6d4015c4aa949e01cb35e29a56327669db6c9c74f824f3068dea0b27d21722ba06e3b20668d9b35f8f1ea6588e13ddd48087abedc61eeb4b2a5c5248549354d8c" + }, + { + "hash" : "0x340221031439ceda562a74a50f38c735244a4389118d9181ea632eb4ebeab538", + "indexes" : { + "data" : 13, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b8600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000211ba0f8005508f7430cd98dc9fac92384f9b7c4a49724bb122bb0d1c87d5ec4dd74dca00bead40432f287ac43380130f19ff93a8f39c773c515954e8407bdfeeaa62925" + }, + { + "hash" : "0xaf8485e3335c2e9b1e2b5d8e3079e91cfa10fc5c3d9dff21e0751727a463acbb", + "indexes" : { + "data" : 14, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b8600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002100000000000000000000000000000000000000000000000000000000000000201ba0e1673abb19f2b8c4d4f7ebd683710c473a67bd36efc9863dc81db6c83929d577a04853ff20bfb1dd0552e8ea00361ed0e6a88d4e453fce20c9355acdff0f98865d" + }, + { + "hash" : "0x7e09e48e0d3263520332b5b4e07c4e5f7029eb3328a75a78a8a41c35ab071bb8", + "indexes" : { + "data" : 15, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b8600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002100000000000000000000000000000000000000000000000000000000000000011ba01fc198adad51cf9b7683a9e5563dcb5c17abea9ffe20773cd4f0d5d10d886b36a072eb62df156e65df452a08cfb0371ff80ee54f7ee9315b67e7daa3c60da52487" + }, + { + "hash" : "0x7e0ba8e4e1a60108e977e8f36af221b251eb676668a7326ebe29066b97f6c13c", + "indexes" : { + "data" : 16, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b8600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000201ba0fad772b4bbf4579068e9058ab53b71610779cc781af5d9d84ef3a781f8be2d98a06181c97b55a721601de1ba69b456ba2f0b2d0b3a9219e789ad3a64c797101bbc" + }, + { + "hash" : "0x4b2b1d5be6c0795cc7696b4062c59145a02d5060b110f402905de65a0e6cff26", + "indexes" : { + "data" : 17, + "gas" : 0, + "value" : 0 + }, + "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "txbytes" : "0xf8c1800a830f424094000000000000000000000000000000000000c0de80b8600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002100000000000000000000000000000000000000000000000000000000000000011ba05fe02ddd2bc8bc2a7422bf80a768f1627bdb8dbf6844e9856ad303914cd6f98da03deed9fe0d66ceb0f39f7aadf78d489b303882418c009105de31fd961f0648c8" + } + ] + }, + "pre" : { + "0x000000000000000000000000000000000000c0de" : { + "balance" : "0x00", + "code" : "0x600c565b8282825e505050565b7fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf6000527fc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedf6020527fe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff60405260876040356020356000356003565b600051600055602051600155604051600255", + "nonce" : "0x01", + "storage" : { + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0ba1a9ce0ba1a9ce", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "data" : [ + "0x000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000001f0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", + "0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001f", + "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f", + "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002", + "0x000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001f0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f0000000000000000000000000000000000000000000000000000000000000021", + "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000021", + "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000020", + "0x000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000001", + "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020", + "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000001", + "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "0x000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000033" + ], + "gasLimit" : [ + "0x0f4240" + ], + "gasPrice" : "0x0a", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "to" : "0x000000000000000000000000000000000000c0de", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file diff --git a/src/EIPTestsFiller/StateTests/stEIP5656-MCOPY/MCOPYFiller.yml b/src/EIPTestsFiller/StateTests/stEIP5656-MCOPY/MCOPYFiller.yml new file mode 100644 index 00000000000..fe37ae64233 --- /dev/null +++ b/src/EIPTestsFiller/StateTests/stEIP5656-MCOPY/MCOPYFiller.yml @@ -0,0 +1,319 @@ +MCOPY: + + _info: + comment: MCOPY memory copy test cases + + env: + currentNumber: 1 + currentTimestamp: 1687174231 + currentGasLimit: 1000000 + currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba + previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6 + + pre: + + # Executed code (transaction destination) + 000000000000000000000000000000000000c0de: + balance: 0 + nonce: 1 + code: | + :yul { + function mcopy(dst, src, size) { verbatim_3i_0o(hex"5e", dst, src, size) } + + // Fill memory at [0-96] (3x32) with the pattern of unique bytes. + mstore( 0, 0xa0a1a2a3a4a5a6a7a8a9aAaBaCaDaEaFb0b1b2b3b4b5b6b7b8b9bAbBbCbDbEbF) + mstore(32, 0xc0c1c2c3c4c5c6c7c8c9cAcBcCcDcEcFd0d1d2d3d4d5d6d7d8d9dAdBdCdDdEdF) + mstore(64, 0xe0e1e2e3e4e5e6e7e8e9eAeBeCeDeEeFf0f1f2f3f4f5f6f7f8f9fAfBfCfDfEfF) + + // MCOPY using parameters from CALLDATA. + mcopy(calldataload(0), calldataload(32), calldataload(64)) + + // Dump memory at [0-96] to 3 storage slots. + sstore(0, mload( 0)) + sstore(1, mload(32)) + sstore(2, mload(64)) + } + storage: { } + + # Transaction sender + a94f5374fce5edbc8e2a8697c15331677e6ebf0b: + balance: '0x0ba1a9ce0ba1a9ce' + nonce: 0 + code: '' + storage: { } + + transaction: + to: 000000000000000000000000000000000000c0de + nonce: 0 + gasLimit: + - 1000000 + gasPrice: 10 + value: + - 0 + secretKey: 45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8 + data: + - > + :label forward_size0_0 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000002 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + - > + :label forward_size0_1 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000020 + 0000000000000000000000000000000000000000000000000000000000000001 + 0000000000000000000000000000000000000000000000000000000000000000 + - > + :label backward_size0_0 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + 0000000000000000000000000000000000000000000000000000000000000000 + - > + :label backward_size0_1 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000020 + 0000000000000000000000000000000000000000000000000000000000000021 + 0000000000000000000000000000000000000000000000000000000000000000 + - > + :label inplace_size0_0 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + - > + :label inplace_size0_1 :raw 0x + 000000000000000000000000000000000000000000000000000000000000001f + 000000000000000000000000000000000000000000000000000000000000001f + 0000000000000000000000000000000000000000000000000000000000000000 + - > + :label forward_overlapped_0 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000001 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000002 + - > + :label forward_overlapped_1 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000002 + 0000000000000000000000000000000000000000000000000000000000000001 + 000000000000000000000000000000000000000000000000000000000000001f + - > + :label forward_disjoint_0 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000020 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000001f + - > + :label forward_disjoint_1 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000020 + 0000000000000000000000000000000000000000000000000000000000000001 + 0000000000000000000000000000000000000000000000000000000000000002 + - > + :label forward_adjacent_0 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000002 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000002 + - > + :label forward_adjacent_1 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000020 + 000000000000000000000000000000000000000000000000000000000000001f + 0000000000000000000000000000000000000000000000000000000000000001 + - > + :label backward_overlapped_0 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000001f + 0000000000000000000000000000000000000000000000000000000000000021 + - > + :label backward_overlapped_1 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000001 + 0000000000000000000000000000000000000000000000000000000000000002 + 0000000000000000000000000000000000000000000000000000000000000021 + - > + :label backward_disjoint_0 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000021 + 0000000000000000000000000000000000000000000000000000000000000020 + - > + :label backward_disjoint_1 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000002 + 0000000000000000000000000000000000000000000000000000000000000021 + 0000000000000000000000000000000000000000000000000000000000000001 + - > + :label backward_adjacent_0 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000020 + 0000000000000000000000000000000000000000000000000000000000000020 + - > + :label backward_adjacent_1 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000020 + 0000000000000000000000000000000000000000000000000000000000000021 + 0000000000000000000000000000000000000000000000000000000000000001 + - > + :label inplace_0 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000001 + - > + :label inplace_1 :raw 0x + 0000000000000000000000000000000000000000000000000000000000000002 + 0000000000000000000000000000000000000000000000000000000000000002 + 0000000000000000000000000000000000000000000000000000000000000033 + + expect: + + - indexes: + data: + - :label forward_size0_0 + - :label forward_size0_1 + - :label backward_size0_0 + - :label backward_size0_1 + - :label inplace_size0_0 + - :label inplace_size0_1 + - :label inplace_0 + - :label inplace_1 + network: + - '>=Cancun' + result: + 000000000000000000000000000000000000c0de: + storage: + 0: 0xa0a1a2a3a4a5a6a7a8a9aAaBaCaDaEaFb0b1b2b3b4b5b6b7b8b9bAbBbCbDbEbF + 1: 0xc0c1c2c3c4c5c6c7c8c9cAcBcCcDcEcFd0d1d2d3d4d5d6d7d8d9dAdBdCdDdEdF + 2: 0xe0e1e2e3e4e5e6e7e8e9eAeBeCeDeEeFf0f1f2f3f4f5f6f7f8f9fAfBfCfDfEfF + + - indexes: + data: + - :label forward_overlapped_0 + network: + - '>=Cancun' + result: + 000000000000000000000000000000000000c0de: + storage: + 0: 0xa0a0a1a3a4a5a6a7a8a9aAaBaCaDaEaFb0b1b2b3b4b5b6b7b8b9bAbBbCbDbEbF + 1: 0xc0c1c2c3c4c5c6c7c8c9cAcBcCcDcEcFd0d1d2d3d4d5d6d7d8d9dAdBdCdDdEdF + 2: 0xe0e1e2e3e4e5e6e7e8e9eAeBeCeDeEeFf0f1f2f3f4f5f6f7f8f9fAfBfCfDfEfF + + - indexes: + data: + - :label forward_overlapped_1 + network: + - '>=Cancun' + result: + 000000000000000000000000000000000000c0de: + storage: + 0: 0xa0a1a1a2a3a4a5a6a7a8a9aAaBaCaDaEaFb0b1b2b3b4b5b6b7b8b9bAbBbCbDbE + 1: 0xbFc1c2c3c4c5c6c7c8c9cAcBcCcDcEcFd0d1d2d3d4d5d6d7d8d9dAdBdCdDdEdF + 2: 0xe0e1e2e3e4e5e6e7e8e9eAeBeCeDeEeFf0f1f2f3f4f5f6f7f8f9fAfBfCfDfEfF + + - indexes: + data: + - :label forward_disjoint_0 + network: + - '>=Cancun' + result: + 000000000000000000000000000000000000c0de: + storage: + 0: 0xa0a1a2a3a4a5a6a7a8a9aAaBaCaDaEaFb0b1b2b3b4b5b6b7b8b9bAbBbCbDbEbF + 1: 0xa0a1a2a3a4a5a6a7a8a9aAaBaCaDaEaFb0b1b2b3b4b5b6b7b8b9bAbBbCbDbEdF + 2: 0xe0e1e2e3e4e5e6e7e8e9eAeBeCeDeEeFf0f1f2f3f4f5f6f7f8f9fAfBfCfDfEfF + + - indexes: + data: + - :label forward_disjoint_1 + network: + - '>=Cancun' + result: + 000000000000000000000000000000000000c0de: + storage: + 0: 0xa0a1a2a3a4a5a6a7a8a9aAaBaCaDaEaFb0b1b2b3b4b5b6b7b8b9bAbBbCbDbEbF + 1: 0xa1a2c2c3c4c5c6c7c8c9cAcBcCcDcEcFd0d1d2d3d4d5d6d7d8d9dAdBdCdDdEdF + 2: 0xe0e1e2e3e4e5e6e7e8e9eAeBeCeDeEeFf0f1f2f3f4f5f6f7f8f9fAfBfCfDfEfF + + - indexes: + data: + - :label forward_adjacent_0 + network: + - '>=Cancun' + result: + 000000000000000000000000000000000000c0de: + storage: + 0: 0xa0a1a0a1a4a5a6a7a8a9aAaBaCaDaEaFb0b1b2b3b4b5b6b7b8b9bAbBbCbDbEbF + 1: 0xc0c1c2c3c4c5c6c7c8c9cAcBcCcDcEcFd0d1d2d3d4d5d6d7d8d9dAdBdCdDdEdF + 2: 0xe0e1e2e3e4e5e6e7e8e9eAeBeCeDeEeFf0f1f2f3f4f5f6f7f8f9fAfBfCfDfEfF + + - indexes: + data: + - :label forward_adjacent_1 + network: + - '>=Cancun' + result: + 000000000000000000000000000000000000c0de: + storage: + 0: 0xa0a1a2a3a4a5a6a7a8a9aAaBaCaDaEaFb0b1b2b3b4b5b6b7b8b9bAbBbCbDbEbF + 1: 0xbFc1c2c3c4c5c6c7c8c9cAcBcCcDcEcFd0d1d2d3d4d5d6d7d8d9dAdBdCdDdEdF + 2: 0xe0e1e2e3e4e5e6e7e8e9eAeBeCeDeEeFf0f1f2f3f4f5f6f7f8f9fAfBfCfDfEfF + + - indexes: + data: + - :label backward_overlapped_0 + network: + - '>=Cancun' + result: + 000000000000000000000000000000000000c0de: + storage: + 0: 0xbFc0c1c2c3c4c5c6c7c8c9cAcBcCcDcEcFd0d1d2d3d4d5d6d7d8d9dAdBdCdDdE + 1: 0xdFc1c2c3c4c5c6c7c8c9cAcBcCcDcEcFd0d1d2d3d4d5d6d7d8d9dAdBdCdDdEdF + 2: 0xe0e1e2e3e4e5e6e7e8e9eAeBeCeDeEeFf0f1f2f3f4f5f6f7f8f9fAfBfCfDfEfF + + - indexes: + data: + - :label backward_overlapped_1 + network: + - '>=Cancun' + result: + 000000000000000000000000000000000000c0de: + storage: + 0: 0xa0a2a3a4a5a6a7a8a9aAaBaCaDaEaFb0b1b2b3b4b5b6b7b8b9bAbBbCbDbEbFc0 + 1: 0xc1c2c2c3c4c5c6c7c8c9cAcBcCcDcEcFd0d1d2d3d4d5d6d7d8d9dAdBdCdDdEdF + 2: 0xe0e1e2e3e4e5e6e7e8e9eAeBeCeDeEeFf0f1f2f3f4f5f6f7f8f9fAfBfCfDfEfF + + - indexes: + data: + - :label backward_disjoint_0 + network: + - '>=Cancun' + result: + 000000000000000000000000000000000000c0de: + storage: + 0: 0xc1c2c3c4c5c6c7c8c9cAcBcCcDcEcFd0d1d2d3d4d5d6d7d8d9dAdBdCdDdEdFe0 + 1: 0xc0c1c2c3c4c5c6c7c8c9cAcBcCcDcEcFd0d1d2d3d4d5d6d7d8d9dAdBdCdDdEdF + 2: 0xe0e1e2e3e4e5e6e7e8e9eAeBeCeDeEeFf0f1f2f3f4f5f6f7f8f9fAfBfCfDfEfF + + - indexes: + data: + - :label backward_disjoint_1 + network: + - '>=Cancun' + result: + 000000000000000000000000000000000000c0de: + storage: + 0: 0xa0a1c1a3a4a5a6a7a8a9aAaBaCaDaEaFb0b1b2b3b4b5b6b7b8b9bAbBbCbDbEbF + 1: 0xc0c1c2c3c4c5c6c7c8c9cAcBcCcDcEcFd0d1d2d3d4d5d6d7d8d9dAdBdCdDdEdF + 2: 0xe0e1e2e3e4e5e6e7e8e9eAeBeCeDeEeFf0f1f2f3f4f5f6f7f8f9fAfBfCfDfEfF + + - indexes: + data: + - :label backward_adjacent_0 + network: + - '>=Cancun' + result: + 000000000000000000000000000000000000c0de: + storage: + 0: 0xc0c1c2c3c4c5c6c7c8c9cAcBcCcDcEcFd0d1d2d3d4d5d6d7d8d9dAdBdCdDdEdF + 1: 0xc0c1c2c3c4c5c6c7c8c9cAcBcCcDcEcFd0d1d2d3d4d5d6d7d8d9dAdBdCdDdEdF + 2: 0xe0e1e2e3e4e5e6e7e8e9eAeBeCeDeEeFf0f1f2f3f4f5f6f7f8f9fAfBfCfDfEfF + + - indexes: + data: + - :label backward_adjacent_1 + network: + - '>=Cancun' + result: + 000000000000000000000000000000000000c0de: + storage: + 0: 0xa0a1a2a3a4a5a6a7a8a9aAaBaCaDaEaFb0b1b2b3b4b5b6b7b8b9bAbBbCbDbEbF + 1: 0xc1c1c2c3c4c5c6c7c8c9cAcBcCcDcEcFd0d1d2d3d4d5d6d7d8d9dAdBdCdDdEdF + 2: 0xe0e1e2e3e4e5e6e7e8e9eAeBeCeDeEeFf0f1f2f3f4f5f6f7f8f9fAfBfCfDfEfF