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