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