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