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