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