EVMSEALEDEVM
□$▓▪░╲╲▪□▓^#?*▒■*~○◇~#◇○$^◇▓#$□?▫◇█╳▒*▓~◇#╱█~◆╱&╱&^▓◇╳○◇▫!●■╱&╳□
Transaction ID
Execution Fee
0.00758 FLOWTransaction Summary
EVMCalled EVM
EVM Hashes
Contracts
Script Arguments
0hexEncodedTxs[String]
[ "f9109083028c2f8503bbf075808305946a942880ab155794e7179c9ee2e38200202908c17b4307b91024b9256d2800000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000e200000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000d47504e41550100000003b801000000040d00abe004b12fa57a285754b6f8f6b26ccbb7a1224410a307351db805d32f54f7ce41948f3cdde305f75f3014dbe2a5e850d04bc8ac37f7df10f89118f7f467061b0102edab489a240d9824683b1d3563f0acbcc246efcb738cac46da27ae927356469e2595834539201b29d7f5bf0c75873b6569c66ac349263df2256d6f9e23a849f4010325a8a38fb10c7498c53788a03ca92d71baaa86b1ab7946ada69330a7307ada581b7b1f57013e0c10aeafd9b981313e6796a83ef7919dc85277d46c1e2eeb93980004de1777884cc2079ea5cddcf582249ecf3a1d6cee0e3cd765663f75dccda2744f3d4643b3686fe3d4e963e0bab201f6a118ef2da6d7cc64f4d3cd088a5b41fcfc010601d68d2f8693ab5f8635a85d4b37767bf2efa2d7bc9006e0096720cf38126f9a2f684bb642ba1cc38c7f2a07d05eec693f7ae547aafdf7986b89c4dbe1e0e3aa0108a16bf950cef22d3ad4993fdd3b34349b910882fac9e330756bab04a1ad8627515656a331b9bcac6686be7369631057558a8e28abe556d7e06dccf8a275d6005e010a3bea1a2afefe302e7f04c1792737569b748573bd4fb15f9b83b38efa008f700c22b8d8e4762b97b0245a8da08e448fc8cbc5165f75f2d3b56e20ef8c155c0aa3010bef589daea4c62d210626f93bf7151ff25aa13444e33172398052559780a5d09f2516fcb90e3a02e7b93c8fa28691b6e15c4aaf4307fd8a3f40103c7c8447356e000c5c8394da4ccd23f3c35aca7d4c28b03c510e478080e328e8192f342e6f9d153b7dd1a74cb99f509af1039c7a97d8a23feed46a916b383d1fcb86f4b0243c00cb000d41d04310cf999aa5c9dbfe4c302d9f0556ac8fce39529e19a4516ac1e7ffe5706aabec3d4b5b8ce0b6a817a616385c0adcec21446ceb9cb91907b82c58ce5b70010f744ac73bed7b1118b41457aed304d8d4801bd70d97ae933c8182effd6d6340b72dd3f0040f7796a870863b24cbadcd4692a1d8f3942c43e819adbb393f18d9c200104b4d8048045357b7aa4a61ead6bd03e64670a720c343ce02ed3127183c2b36f7649445967e678c84d8c82d717bd5e293b1db74418defe82b0f0a272918efda5301110b5efc047a4953037694b547885587f2f5e6d83e0a01ea3c26df00ff2423807d2aa8e89f2b3d55a77bc998ca7e618a753a3058602c850b8b0dc923ed2caa288d00698d408200000000001ae101faedac5851e32b9b23b5f9411a8c2bac4aae3ed4dd7b811dd1a72ea4aa71000000000b332132014155575600000000001040ca12000027100724d2c776de4b4a482a9fa09d09e409390e499a070055002fb245b9a84554a0f15aa123cbb5f64cd263b59e9a87d80148cbffab50c69f30000000000050d7140000000000073756fffffff800000000698d408200000000698d408100000000004f453d00000000000815d70da59d285d929bb21c6a4831079aa0668f3ba87ef801c2985a0c448513d0edd66ed5b26d02a98423a4eb3fc9fa49e8a4b95d7eb546a006c627acf089a6a164ed1cbb9d38a8074116823d7991d2a95445ace1e5e674799fd0c6d85eef93d783838a3a8a4910b2d68b30e80ec605e21bde365fafe15135d8bf60a17b3b66bd0ea5e913e4574b121be9100950e321977fc9d2517f37bad0dd3801a925c1e913522074606fc3da64c4c9781c1a7bfba09c15f766992469c41f85079075431e9fb9bdca67b085c2444d10c86e3f7eefe7bbaf5f86ef51e91d58ad8613fe9a2f9823156e34b754915d5c2ec1244df76eb3ac257368f9c51404758f550992a189ea815f3238d4898b0055002817d7bfe5c64b8ea956e9a26f573ef64e72e4d7891f2d6af9bcc93f7aff9a9700000626efa909e400000000ba0d67d4fffffff800000000698d408200000000698d4081000006258a121f0000000000dd2b20e00d1dbe384cb41f0aa3f4ff2558050dee4362d4029878e8fa2eb197f1ac95a7b5a149ecf80405859693de6bec27c538dddbb81582ad0d8ac3889e2caf553aa22dd231b86ad0bb96ce8a4aa46ac3736800527a00a5835216bba907c2f2a0bd4565782bfe0938b9ce6f26cf9075a3461b48f3a144a62bdf4ce9e22d05ca7001fe9dfe92f775a14ff11f429dd0558f3b14a1a3472cef392f3beb896a88308b142a7285f42a2f153ff9200fa53935062232b3907515e1565a35d0ed019aa9707fe211f0bd14caafd6cd3dee6e3f7eefe7bbaf5f86ef51e91d58ad8613fe9a2f9823156e34b754915d5c2ec1244df76eb3ac257368f9c51404758f550992a189ea815f3238d4898b005500eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a0000000005f5c93d000000000001292efffffff800000000698d408200000000698d40810000000005f5c2eb000000000001279f0da8c47f42c7ab45abab0bd397a926293680ab02893de74864fb5b1c40a3637132b9cb2af08bb89bf442e41a77db7dbc5f8fa36e88f36ce158ac1ab8034822cfc87a18a6f9bcb0d77ae18a3a0775cd98303ace57303de5a40d54ddc137850ab7ecd348ee9f63ad9b89ce17809ac5111b8cadc9f6a1b5b13e969ce18c73adaa3e2b23e00436c45050f0f403d5eb1ef4f11efa687cf1f2c40c5eae9bf8f37fb0e809fedeeed7f1df31e0d17d7a1e766a392267c367f8d529f73645749b567961b345117cfe487dc0e648035163236e61d11f34b8ad275dac4550070081d1fc93508e5e90ec18e5b519f8b2e3b7d0ea4b261768f9c51404758f550992a189ea815f3238d4898b005500c1da1b73d7f01e7ddd54b3766cf7fcd644395ad14f70aa706ec5384c59e766920000000005f5e13500000000000112b9fffffff800000000698d408200000000698d40810000000005f5d9b700000000000148640dea62e6ca28a33a9c48638b36dc7cebadce5ede3435568df7370fbae92452758b7d8a9f0168b4373e7a7baec0a95c2ac656bab6123e0dadda275116af1ae7a96599f9e87fa37e2f1fe339bb2e9b74f66dc6ae340ca18e68919afe89f3cfdddf333cec2069c58677024febe34314d8eb02fed9180af59104aaf0247dd31d80140e67989437bef588c1550224cced203367898b1b124680cc5aa0d24990ffbfed2239556ad846138a8935e224753e19e37db340391361c80487cf52667cee894e366d166cfb5b7c06a6035163236e61d11f34b8ad275dac4550070081d1fc93508e5e90ec18e5b519f8b2e3b7d0ea4b261768f9c51404758f550992a189ea815f3238d4898b005500879551021853eec7a7dc827578e8e69da7e4fa8148339aa0d3d5296405be4b1a000000001362a64d000000000006113bfffffff800000000698d408200000000698d4081000000001356b86a00000000000577ae0db939d0d510a81c77ba838fb614983f09c0fbd6aba5a3e8073a57b2ae2cdb2d023635034e9ff391e6150d7e763a5c8bb99816cee5da4bdd4e2a90f42f8d458404b1d82dd1c27c6e5198b87eb96098b3a9a7581275a1fc92fc8f11f46a5ce81d8fd09ec19fd00a29bc57cf395dabd55c5e1542a9e5a5598c4d2751e1d5a62fd35f67eaa5cc326de8e0ebdf3c507bd33535259fa809f686ed87d2d9876f584e40447efac5f6f7e7fd07a43d6d22d6c041139a8f48c3eedb36d0a0b25fdc47aa078e73fc807d9aebbd4af3858b24a398e82d093a6e342e79e5f5da5448559823156e34b754915d5c2ec1244df76eb3ac257368f9c51404758f550992a189ea815f3238d4898b0055009d4294bbcd1174d6f2003ec365831e64cc31d9f6f15a2b85399db8d5000960f60000002db6db8edf000000000fc09f86fffffff800000000698d408200000000698d40810000002db1edccc00000000013302ef20dc74028741d50b5608e7baab3bd4cd89c30352c1a7074be21f2a05642ce08b9f740f4e62269444cb676a737001960c1e44d5e53ba752e3d9575e47c0fe110dd073f47e07c05ba5de2988467e24e710e5e7e0876b1c72653a497b0a5fb743baf7565b93da0eaaac069749155b3c0c40b86be5d514eeabcbff49895166b262e47813df048d024c1784603fefc439909b8bde55f4f09f15c8388d1252d6aab5b701bf67aa696a7df8b7559d14b9b8e5cdde20017824eeedb36d0a0b25fdc47aa078e73fc807d9aebbd4af3858b24a398e82d093a6e342e79e5f5da5448559823156e34b754915d5c2ec1244df76eb3ac257368f9c51404758f550992a189ea815f3238d4898b005500c9d8b075a5c69303365ae23633d4e085199bf5c520a3b90fed1322a0342ffc3300000622e732c10200000001434bf1a2fffffff800000000698d408200000000698d4081000006224bb667a0000000015d1e6c580d08237914c30417253272f5a1d5eaaca19580655e5c6147149914eebb01a3d21c5bf7aafc78095d413ca00b01d5ac0d687a1ea9c5cb5c4b3a2a6ea6214b61ebd7d4610a3c854f836e677ae301e3e040a66e686b8f752f6e9b72bbf5a455a9595491b0632488db859d7080efeb721c268f269ecc66e473c7a96907a57c56c1416201e066bc67a0677fbb676d96ed203367898b1b124680cc5aa0d24990ffbfed2239556ad846138a8935e224753e19e37db340391361c80487cf52667cee894e366d166cfb5b7c06a6035163236e61d11f34b8ad275dac4550070081d1fc93508e5e90ec18e5b519f8b2e3b7d0ea4b261768f9c51404758f550992a189ea815f3238d4898b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000072fb245b9a84554a0f15aa123cbb5f64cd263b59e9a87d80148cbffab50c69f302817d7bfe5c64b8ea956e9a26f573ef64e72e4d7891f2d6af9bcc93f7aff9a97eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94ac1da1b73d7f01e7ddd54b3766cf7fcd644395ad14f70aa706ec5384c59e76692879551021853eec7a7dc827578e8e69da7e4fa8148339aa0d3d5296405be4b1a9d4294bbcd1174d6f2003ec365831e64cc31d9f6f15a2b85399db8d5000960f6c9d8b075a5c69303365ae23633d4e085199bf5c520a3b90fed1322a0342ffc33000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000698d406f00000000000000000000000000000000000000000000000000000000698d406f00000000000000000000000000000000000000000000000000000000698d406f00000000000000000000000000000000000000000000000000000000698d406f00000000000000000000000000000000000000000000000000000000698d406f00000000000000000000000000000000000000000000000000000000698d406f00000000000000000000000000000000000000000000000000000000698d406f8205f9a0d030d19bf3351082c13f2ee1d5f5a129f32b84d32d5751cfa8575e66a472ee4da06be331c40d10e2870e7e82e8c06bd587b8fb49bb7216cdb822b8050243fdd30b" ]
Cadence Script
1import EVM from 0xe467b9dd11fa00df
2
3transaction(hexEncodedTxs: [String], coinbase: String) {
4 execute {
5 let txs: [[UInt8]] = []
6 for tx in hexEncodedTxs {
7 txs.append(tx.decodeHex())
8 }
9
10 // If there's only one tx, use `EVM.run`.
11 // If there are more, then use `EVM.batchRun`
12 if txs.length == 1 {
13 let txResult = EVM.run(
14 tx: txs[0],
15 coinbase: EVM.addressFromString(coinbase)
16 )
17 assert(
18 txResult.status == EVM.Status.failed || txResult.status == EVM.Status.successful,
19 message: "evm_error=\(txResult.errorMessage);evm_error_code=\(txResult.errorCode)"
20 )
21 return
22 }
23
24 let txResults = EVM.batchRun(
25 txs: txs,
26 coinbase: EVM.addressFromString(coinbase)
27 )
28
29 // If at least one of the EVM transactions in the batch is either
30 // failed or successful, in other words not invalid, we let the
31 // Cadence transaction succeed.
32 for txResult in txResults {
33 if txResult.status == EVM.Status.failed || txResult.status == EVM.Status.successful {
34 return
35 }
36 }
37
38 // Otherwise, all EVM transactions are invalid txs and can't be
39 // executed (such as nonce too low).
40 // In this case, we fail the Cadence transaction with the error
41 // message from the first EVM transaction.
42 for txResult in txResults {
43 assert(
44 txResult.status == EVM.Status.failed || txResult.status == EVM.Status.successful,
45 message: "evm_error=\(txResult.errorMessage);evm_error_code=\(txResult.errorCode)"
46 )
47 }
48 }
49}