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