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