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