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