tx · 73FyeHyUszJq4372tCxgp11b3PEcuetSgzKPZDeqZAjV 3NAAQMEFj8Cy37pzLC4gtTeHbuaEiGEX1M3: -0.00500000 Waves 2025.02.08 14:33 [3494708] smart account 3NAAQMEFj8Cy37pzLC4gtTeHbuaEiGEX1M3 > SELF 0.00000000 Waves
{ "type": 13, "id": "73FyeHyUszJq4372tCxgp11b3PEcuetSgzKPZDeqZAjV", "fee": 500000, "feeAssetId": null, "timestamp": 1739014436398, "version": 2, "chainId": 84, "sender": "3NAAQMEFj8Cy37pzLC4gtTeHbuaEiGEX1M3", "senderPublicKey": "4uGJR82rhHgF5XxnT6AqckK4odfCisfsUoBv7MQqXZj8", "proofs": [ "tTsbctHh512WHuj9gkGq6AcQKbLg1g7nhQrZXHi8WhCVGoS6hfNnmthT5ZGjgbwLv6CHPcUJygeH36stfiV1Epm" ], "script": "base64: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MF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkBAVhZ2dycwgFBnJlc3VsdAJfMwoBCHZhbGlkYXRlAgFhAXADCQECIT0CCQCRAwIFBWFnZ3JzBQFhCAUBcAZhbW91bnQJAAIBAidBZ2dyZWdhdGVkIGFtb3VudHMgZG9uJ3QgbWF0Y2ggcGF5bWVudHMJAGQCBQFhAAEECXZhbGlkYXRlZAoAAiRsCAUBaQhwYXltZW50cwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMV8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEIdmFsaWRhdGUCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjFfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYxXzICCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoJAJQKAggFBnJlc3VsdAJfMQUJdmFsaWRhdGVkACg1wzg=", "height": 3494708, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EaZ5TR1uTMkMctN1nFzar7rL2PYs4mNFETbp3xHwJwVo Next: none Diff:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 8 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | + | ||
5 | + | ||
6 | + | @Callable(i) | |
7 | + | func massXferMono (recipients,amounts,attachment) = if ((size(recipients) != size(amounts))) | |
8 | + | then throw("Array sizes mismatch") | |
9 | + | else if ((size(i.payments) != 1)) | |
10 | + | then throw("Exactly 1 payment expected") | |
11 | + | else { | |
12 | + | let payment = i.payments[0] | |
13 | + | func xferGenMono (acc,addr) = { | |
14 | + | let $t0747773 = acc | |
15 | + | let xfers = $t0747773._1 | |
16 | + | let j = $t0747773._2 | |
17 | + | let aggr = $t0747773._3 | |
18 | + | let amount = amounts[j] | |
19 | + | $Tuple3((xfers :+ ScriptTransfer(addressFromStringValue(addr), amount, payment.assetId)), (j + 1), (aggr + amount)) | |
20 | + | } | |
21 | + | ||
22 | + | let result = { | |
23 | + | let $l = recipients | |
24 | + | let $s = size($l) | |
25 | + | let $acc0 = $Tuple3(nil, 0, 0) | |
26 | + | func $f0_1 ($a,$i) = if (($i >= $s)) | |
27 | + | then $a | |
28 | + | else xferGenMono($a, $l[$i]) | |
29 | + | ||
30 | + | func $f0_2 ($a,$i) = if (($i >= $s)) | |
31 | + | then $a | |
32 | + | else throw("List size exceeds 100") | |
33 | + | ||
34 | + | $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100) | |
35 | + | } | |
36 | + | if ((result._3 != payment.amount)) | |
37 | + | then throw("Aggregated amount doesn't match payment") | |
38 | + | else $Tuple2(result._1, 0) | |
39 | + | } | |
40 | + | ||
4 | 41 | ||
5 | 42 | ||
6 | 43 | @Callable(i) | |
11 | 48 | else { | |
12 | 49 | let recipientsSize = size(recipients) | |
13 | 50 | func xferGen (acc,addr) = { | |
14 | - | let $ | |
15 | - | let xfers = $ | |
16 | - | let j = $ | |
17 | - | let aggrs = $ | |
51 | + | let $t019191946 = acc | |
52 | + | let xfers = $t019191946._1 | |
53 | + | let j = $t019191946._2 | |
54 | + | let aggrs = $t019191946._3 | |
18 | 55 | let pIdx = paymentIdx[j] | |
19 | 56 | if ((pIdx >= size(i.payments))) | |
20 | 57 | then throw("paymentIdx out of bounds") |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 8 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | + | ||
5 | + | ||
6 | + | @Callable(i) | |
7 | + | func massXferMono (recipients,amounts,attachment) = if ((size(recipients) != size(amounts))) | |
8 | + | then throw("Array sizes mismatch") | |
9 | + | else if ((size(i.payments) != 1)) | |
10 | + | then throw("Exactly 1 payment expected") | |
11 | + | else { | |
12 | + | let payment = i.payments[0] | |
13 | + | func xferGenMono (acc,addr) = { | |
14 | + | let $t0747773 = acc | |
15 | + | let xfers = $t0747773._1 | |
16 | + | let j = $t0747773._2 | |
17 | + | let aggr = $t0747773._3 | |
18 | + | let amount = amounts[j] | |
19 | + | $Tuple3((xfers :+ ScriptTransfer(addressFromStringValue(addr), amount, payment.assetId)), (j + 1), (aggr + amount)) | |
20 | + | } | |
21 | + | ||
22 | + | let result = { | |
23 | + | let $l = recipients | |
24 | + | let $s = size($l) | |
25 | + | let $acc0 = $Tuple3(nil, 0, 0) | |
26 | + | func $f0_1 ($a,$i) = if (($i >= $s)) | |
27 | + | then $a | |
28 | + | else xferGenMono($a, $l[$i]) | |
29 | + | ||
30 | + | func $f0_2 ($a,$i) = if (($i >= $s)) | |
31 | + | then $a | |
32 | + | else throw("List size exceeds 100") | |
33 | + | ||
34 | + | $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100) | |
35 | + | } | |
36 | + | if ((result._3 != payment.amount)) | |
37 | + | then throw("Aggregated amount doesn't match payment") | |
38 | + | else $Tuple2(result._1, 0) | |
39 | + | } | |
40 | + | ||
4 | 41 | ||
5 | 42 | ||
6 | 43 | @Callable(i) | |
7 | 44 | func massXfer (recipients,amounts,paymentIdx,attachment) = if (!(if ((size(recipients) == size(amounts))) | |
8 | 45 | then (size(recipients) == size(paymentIdx)) | |
9 | 46 | else false)) | |
10 | 47 | then throw("Array sizes mismatch") | |
11 | 48 | else { | |
12 | 49 | let recipientsSize = size(recipients) | |
13 | 50 | func xferGen (acc,addr) = { | |
14 | - | let $ | |
15 | - | let xfers = $ | |
16 | - | let j = $ | |
17 | - | let aggrs = $ | |
51 | + | let $t019191946 = acc | |
52 | + | let xfers = $t019191946._1 | |
53 | + | let j = $t019191946._2 | |
54 | + | let aggrs = $t019191946._3 | |
18 | 55 | let pIdx = paymentIdx[j] | |
19 | 56 | if ((pIdx >= size(i.payments))) | |
20 | 57 | then throw("paymentIdx out of bounds") | |
21 | 58 | else { | |
22 | 59 | let pj = i.payments[pIdx] | |
23 | 60 | let amount = amounts[j] | |
24 | 61 | $Tuple3((xfers :+ ScriptTransfer(addressFromStringValue(addr), amount, pj.assetId)), (j + 1), replaceByIndex(aggrs, pIdx, (aggrs[pIdx] + amount))) | |
25 | 62 | } | |
26 | 63 | } | |
27 | 64 | ||
28 | 65 | let result = { | |
29 | 66 | let $l = recipients | |
30 | 67 | let $s = size($l) | |
31 | 68 | let $acc0 = $Tuple3(nil, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) | |
32 | 69 | func $f0_1 ($a,$i) = if (($i >= $s)) | |
33 | 70 | then $a | |
34 | 71 | else xferGen($a, $l[$i]) | |
35 | 72 | ||
36 | 73 | func $f0_2 ($a,$i) = if (($i >= $s)) | |
37 | 74 | then $a | |
38 | 75 | else throw("List size exceeds 100") | |
39 | 76 | ||
40 | 77 | $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100) | |
41 | 78 | } | |
42 | 79 | let aggrs = result._3 | |
43 | 80 | func validate (a,p) = if ((aggrs[a] != p.amount)) | |
44 | 81 | then throw("Aggregated amounts don't match payments") | |
45 | 82 | else (a + 1) | |
46 | 83 | ||
47 | 84 | let validated = { | |
48 | 85 | let $l = i.payments | |
49 | 86 | let $s = size($l) | |
50 | 87 | let $acc0 = 0 | |
51 | 88 | func $f1_1 ($a,$i) = if (($i >= $s)) | |
52 | 89 | then $a | |
53 | 90 | else validate($a, $l[$i]) | |
54 | 91 | ||
55 | 92 | func $f1_2 ($a,$i) = if (($i >= $s)) | |
56 | 93 | then $a | |
57 | 94 | else throw("List size exceeds 10") | |
58 | 95 | ||
59 | 96 | $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
60 | 97 | } | |
61 | 98 | $Tuple2(result._1, validated) | |
62 | 99 | } | |
63 | 100 | ||
64 | 101 |
github/deemru/w8io/169f3d6 30.68 ms ◑![]()