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