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