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