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