EVMSEALEDEVM
▒○#○○■!@!*!^&@○░█▫!▫▓░◇?▓╳◆?*○&●■%◆^□~╳^╳█□◇╳╲╱◆□~#~■%▒%█$█○○◆●□
Transaction ID
Execution Fee
0.00758 FLOWTransaction Summary
EVMCalled EVM
EVM Hashes
Contracts
Script Arguments
0hexEncodedTxs[String]
[ "f9109083017edf8503bbf07580830594aa942880ab155794e7179c9ee2e38200202908c17b4307b91024b9256d2800000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000e200000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000d47504e41550100000003b801000000040d02ae7f818cca247fd48ae2b3ae39f39b1c10ebdf4558722ac5d1dc381250465f2370bd36df2dca11b6adfd7a394a3a6322ef26a1801f1ea866a6566225cb58fded0003f58c0ec4f32ce3c87ef5d7e6e51412544278c51434881e84a68f06ec87b72480191c33fec58f4ac99c15d658b507b416d0132be04d0ce83ed684ce725f6a1d380004ec10187abec423003b7b1cf7abd03a94aba7bbe6639da28b888cb3605d8b390b33d6b76b15e90d89718b65ac46368a55779943448a9027a5fa64f592ce3d5b1600066b0a554adb116cf0c7b3de69bc36ea7b1383d66fda736f9d35496c33996992c81db0e2ba8b79bdbb78d5da52545a709771fbb22a0d279a6bcd6d8b8e534230ea0108f22666223a8e232aad0f1c6592728a1e865dcf8128b04b3fa6f83fd1261378dc53fb33dc296df7260c9f1fdce521f5d5b211fa3a688dd17ca94406810a8f8d5f000a234b6edb6762212c3f1efbf9045849c44182569a22aae74d3f2189e684aa72fb025d0bc174a8b47ba602f2c42b55dfc1be4ea986eab53f2cb70c898633858dc9000b2ecd8cee97cb374c8927af2597f75257c6444bc88705310ab02c952808f44cb833db41da07160befab34af432d8ad054ef09bc59f77eb49cfc0774b98143ef84000c2ff1e65dae051e22f080f78846c77c3abbe956fba29aedca59952500e2e44b0436ba9e6ba25c9256752f271b8029b65a679831178b76f9b994184f7b145295a5010d8e44376125d4ffe773de782fff89febb6c260f7861537eb3226ba1caf306c9377c43c92750e261f0c1f1d0ba79d2077c49aa5ff60a48f14e16143863652934fb000eb82cb46f874dfea0611814ff2d567672f5743a9950bb17b5db79fc1d7e66fb115c94af306f37741f959818719e9faf471be24a0d52f7218ae1137947755d0b37010f8ed97fe2a6844b8917b6c45b687f4648238c7bcbf4ca6d110092ec8b127311a736dd4bb5dc7539619844d93c1e9457a9eb80e1ac2b0f1b15bac4e0ed536ce734011035f3e7b3d1ec9a082ff5f314dec13ad9f6060b7df84ab6d62fba15ee9c75566e7265a9a1420ca1bb24bfd05ac02fd2b0404f29d4a31839cea11949f85d0c05f10011f34e1a9b6e8af5d3307b303c793f4ddd88598945bf85cfdfb6ddbc0e39ba1a506241262d6ed10fb5e21b3f3e55dc0b98b6acb13d8e9bdc6896c49f06835ec510016965d8a400000000001ae101faedac5851e32b9b23b5f9411a8c2bac4aae3ed4dd7b811dd1a72ea4aa71000000000ad8d1d7014155575600000000000fe6796c000027103cec3ca9d31605ec6dcbe25f97154aab51cf8b93070055002fb245b9a84554a0f15aa123cbb5f64cd263b59e9a87d80148cbffab50c69f3000000000008be53c000000000007cfeffffffff8000000006965d8a4000000006965d8a3000000000089e6fb0000000000085e480d337a0797d3a5a1b0e0fbb39473719b160cd3f40d7116f9f1428770301896753c88ecb93f8ea2c1b20ed22c5379a41965265ef7ddf3ac61de8d389107040a9b6670c2f85d39b3ed1e1c1acade7b940c6eb11213a08080b3732b127ff076c987b51c2bcefc5eb1bb013573bc0f133276e565c4826f2c6d9e4dec220e64dbdc6f6408e2d5dd4288a8c49f196d31ade374d5b62e726b57dd06a2623151f490b3b5d8ad2cad750d6044af3d2351e52d82224369de7302ea78bb4e3eae3297d07612d1a7016240898c96aa6fc5682f704385f9aff5a5aea4fced82f9d56284fb0546f72d0c2d82a50193635b2cc79a0d33fdeb1fe3db14c40a179a542b4ccbd61f65e29cc3aaf20055002817d7bfe5c64b8ea956e9a26f573ef64e72e4d7891f2d6af9bcc93f7aff9a970000085e6203660b000000017fe0516ffffffff8000000006965d8a4000000006965d8a30000085123e9d46000000001486489b40dcd8df6438f13aaa6f31e4a9027a4def523c8aa1d1346abf6eeec235333f62b3dc3f8437d5d65be97cc58ae2635a1b889f8f1b1593acd5018974b3d2108791dba327f87b3e155c1a42caff028c31302b4930262094a17821dc2f2ba49d91e5563d1c851e4cc96cce253722758fea4baf5cb66ee19a6b5d87f29aca8cace6154ea1f35b09d69860edf3d780d6492a3b9fcd453e408c1854fe6ac98ff224e275d9bba8c3cb69d4f6a2f8c8f0d600c0fac9ed0953ee88539f0ad89ed121c25069ee7676ba5c55fdce8256fc5682f704385f9aff5a5aea4fced82f9d56284fb0546f72d0c2d82a50193635b2cc79a0d33fdeb1fe3db14c40a179a542b4ccbd61f65e29cc3aaf2005500eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a0000000005f5707d000000000001d421fffffff8000000006965d8a4000000006965d8a30000000005f57597000000000001ce4c0d27c581491a7265cd79ea8d7d458a51fa675dd49acdfae5be78f97649e2c75abae450065945b99d4325ad8b87f6b8c42811b7ead1aba8a86797e9fd2a33f13a2e5359144448d3a573043c49099ec6afcec9d6eda6212f94b7f1b666753cad9e043d0c896dc10c48e143d8e74730e39b9e841f5e4029991223d4cc74a6d1546f527089841a217b0174c019aa707ca2915904fbb02a03ece4aaac45d719ee9e90eb09c13fab3bc8c21ca9937bcbacf4b03b8e200589e2083dbdba5031aecd82a6699020414965b506a450aa78d867b838ccce2bea84d40902dea046e8d911db93e220bb84ec591cbc1f98c3b17bf889d2b21fe3db14c40a179a542b4ccbd61f65e29cc3aaf2005500c1da1b73d7f01e7ddd54b3766cf7fcd644395ad14f70aa706ec5384c59e766920000000005f5aed4000000000002e499fffffff8000000006965d8a4000000006965d8a30000000005f5adcf00000000000252270d620716d3ea4063f856ca6154a00ae478a0d6acfe4e7f12ee005b400c4f889d905274cc5b4092f1b6363d1541878e576b4759b64a0ef21507bdf9dd151117c51f88e7992407e993ee08127a273e316f4935d5323dd74cdc694fdb50a23baa5247e2583a4e88a0671b83f9e1c59df5dfbd3113f6545dfec83382299ed3d5e7f84052c7d41eede614cd1fec7b9b57d077b69651f5e0766a5f64e039f70238f8a5b7dc82fd2cdd9c3f9c3220800fe4d5e5e89eacf45d5dff10c930e5d47f7a5514ac152dcbe803100a4f50aa78d867b838ccce2bea84d40902dea046e8d911db93e220bb84ec591cbc1f98c3b17bf889d2b21fe3db14c40a179a542b4ccbd61f65e29cc3aaf2005500879551021853eec7a7dc827578e8e69da7e4fa8148339aa0d3d5296405be4b1a0000000020276b2a00000000000910d7fffffff8000000006965d8a4000000006965d8a30000000020076e1000000000000b04e60d5a52493a43b7d693f3816ea189ed01bb5c7c880e01f1438ac3933350b685b527513965c619498d200c95789ff0f98aedec50529c56ac3d995a5d63208d97cb50a08be708d442251c299fc6c01b93ed717de38d4865fdccd9dffe66ff3eb1a8666399f12454c231046d44c170a856135301bf59209100ac7282e97984cd913f47d83807076f50b08287915fd149b9d178731ade46a1c921501f1a2f72ae0307b2fb05020ecd367a7f1a797fece740630806b2815a0dee7a7260d619fa075384c798128f184c76f00b1b1393fc2a06531f51876e496648607c49869d36fb0546f72d0c2d82a50193635b2cc79a0d33fdeb1fe3db14c40a179a542b4ccbd61f65e29cc3aaf20055009d4294bbcd1174d6f2003ec365831e64cc31d9f6f15a2b85399db8d5000960f600000049184724930000000033b0ae91fffffff8000000006965d8a4000000006965d8a300000048903c0d600000000021bd614c0ddc478b31237cf2f24165ed2c89edda2ec9ef7209d6ffa42bdda5f495ac676f33c82c3d69fecee30c316699d77ed82c69d561f456121581b73e1b8e94a37ef655d821c0f7f1eb7f5e1a044f00cfc5fed164be3ae38eb3e38a1a203eb46219b5e06327cc98ea264387bffbfd2942079eff0fd0c4719b2e2dab6fd14766809e998bfeb95a7df1e93a224db330e20889046183e6352deae4f21d0f2bf136173c903e8dbd39b5ce3fc505f3d068205276ea75876deecb4112fcff79f6fb76ffe5854a4c392a83872777051b1393fc2a06531f51876e496648607c49869d36fb0546f72d0c2d82a50193635b2cc79a0d33fdeb1fe3db14c40a179a542b4ccbd61f65e29cc3aaf2005500c9d8b075a5c69303365ae23633d4e085199bf5c520a3b90fed1322a0342ffc3300000858ec00bd2300000001f4ea07defffffff8000000006965d8a4000000006965d8a30000084da182ae0000000001e7540ff40de51dbf2d0f316dd487c480a8365ce55b9660fae559fedfd4ac2c5ea15eb4af5cb4ac9295a60b7aa6007b631ff773fdc20aaa1bd30f88822b32a286fff11fb88cdbff79becf85c7e0b5d28b36f198c49d56c6b808607c4cde7b6e4038ac933c852d53891abaa5bda223d77fa6a8976ee05ab0544c9b6a8a1b208969156fc8b04789822aa7cd7692038d8059ca57d077b69651f5e0766a5f64e039f70238f8a5b7dc82fd2cdd9c3f9c3220800fe4d5e5e89eacf45d5dff10c930e5d47f7a5514ac152dcbe803100a4f50aa78d867b838ccce2bea84d40902dea046e8d911db93e220bb84ec591cbc1f98c3b17bf889d2b21fe3db14c40a179a542b4ccbd61f65e29cc3aaf20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000072fb245b9a84554a0f15aa123cbb5f64cd263b59e9a87d80148cbffab50c69f302817d7bfe5c64b8ea956e9a26f573ef64e72e4d7891f2d6af9bcc93f7aff9a97eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94ac1da1b73d7f01e7ddd54b3766cf7fcd644395ad14f70aa706ec5384c59e76692879551021853eec7a7dc827578e8e69da7e4fa8148339aa0d3d5296405be4b1a9d4294bbcd1174d6f2003ec365831e64cc31d9f6f15a2b85399db8d5000960f6c9d8b075a5c69303365ae23633d4e085199bf5c520a3b90fed1322a0342ffc330000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000006965d890000000000000000000000000000000000000000000000000000000006965d890000000000000000000000000000000000000000000000000000000006965d890000000000000000000000000000000000000000000000000000000006965d890000000000000000000000000000000000000000000000000000000006965d890000000000000000000000000000000000000000000000000000000006965d890000000000000000000000000000000000000000000000000000000006965d8908205f9a0ddae02e72bc0a0fa6d46a1f24b8dd5d531a34749d560531f9b26136a9106f5aaa05d01c4444fb7f7f8cf2746febd53aeddda45419208cc9875fb5b07ddd42b0e48" ]
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}