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