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