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