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