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