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