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:
OldNewDifferences
44
55
66 @Callable(a)
7-func massXfer (b,c,d,e) = if (!(if ((size(b) == size(c)))
8- then (size(b) == size(d))
7+func massXferMono (b,c,d) = if ((size(b) != size(c)))
8+ then throw("Array sizes mismatch")
9+ else if ((size(a.payments) != 1))
10+ then throw("Exactly 1 payment expected")
11+ else {
12+ let e = a.payments[0]
13+ func f (g,h) = {
14+ let i = g
15+ let j = i._1
16+ let k = i._2
17+ let l = i._3
18+ let m = c[k]
19+ $Tuple3((j :+ ScriptTransfer(addressFromStringValue(h), m, e.assetId)), (k + 1), (l + m))
20+ }
21+
22+ let n = {
23+ let o = b
24+ let p = size(o)
25+ let q = $Tuple3(nil, 0, 0)
26+ func r (s,t) = if ((t >= p))
27+ then s
28+ else f(s, o[t])
29+
30+ func u (s,t) = if ((t >= p))
31+ then s
32+ else throw("List size exceeds 100")
33+
34+ u(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(q, 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 ((n._3 != e.amount))
37+ then throw("Aggregated amount doesn't match payment")
38+ else $Tuple2(n._1, 0)
39+ }
40+
41+
42+
43+@Callable(a)
44+func massXfer (b,c,v,d) = if (!(if ((size(b) == size(c)))
45+ then (size(b) == size(v))
946 else false))
1047 then throw("Array sizes mismatch")
1148 else {
12- let f = size(b)
13- func g (h,i) = {
14- let j = h
15- let k = j._1
16- let l = j._2
17- let m = j._3
18- let n = d[l]
19- if ((n >= size(a.payments)))
49+ let w = size(b)
50+ func x (g,h) = {
51+ let y = g
52+ let j = y._1
53+ let k = y._2
54+ let z = y._3
55+ let A = v[k]
56+ if ((A >= size(a.payments)))
2057 then throw("paymentIdx out of bounds")
2158 else {
22- let o = a.payments[n]
23- let p = c[l]
24- $Tuple3((k :+ ScriptTransfer(addressFromStringValue(i), p, o.assetId)), (l + 1), replaceByIndex(m, n, (m[n] + p)))
59+ let B = a.payments[A]
60+ let m = c[k]
61+ $Tuple3((j :+ ScriptTransfer(addressFromStringValue(h), m, B.assetId)), (k + 1), replaceByIndex(z, A, (z[A] + m)))
2562 }
2663 }
2764
28- let q = {
29- let r = b
30- let s = size(r)
31- let t = $Tuple3(nil, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
32- func u (v,w) = if ((w >= s))
33- then v
34- else g(v, r[w])
65+ let n = {
66+ let o = b
67+ let p = size(o)
68+ let q = $Tuple3(nil, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
69+ func r (s,t) = if ((t >= p))
70+ then s
71+ else x(s, o[t])
3572
36- func x (v,w) = if ((w >= s))
37- then v
73+ func u (s,t) = if ((t >= p))
74+ then s
3875 else throw("List size exceeds 100")
3976
40- x(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(t, 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)
77+ u(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(q, 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)
4178 }
42- let m = q._3
43- func y (z,A) = if ((m[z] != A.amount))
79+ let z = n._3
80+ func C (D,E) = if ((z[D] != E.amount))
4481 then throw("Aggregated amounts don't match payments")
45- else (z + 1)
82+ else (D + 1)
4683
47- let B = {
48- let r = a.payments
49- let s = size(r)
50- let t = 0
51- func C (v,w) = if ((w >= s))
52- then v
53- else y(v, r[w])
84+ let F = {
85+ let o = a.payments
86+ let p = size(o)
87+ let q = 0
88+ func G (s,t) = if ((t >= p))
89+ then s
90+ else C(s, o[t])
5491
55- func D (v,w) = if ((w >= s))
56- then v
92+ func H (s,t) = if ((t >= p))
93+ then s
5794 else throw("List size exceeds 10")
5895
59- D(C(C(C(C(C(C(C(C(C(C(t, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
96+ H(G(G(G(G(G(G(G(G(G(G(q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
6097 }
61- $Tuple2(q._1, B)
98+ $Tuple2(n._1, F)
6299 }
63100
64101
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 8 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(a)
7-func massXfer (b,c,d,e) = if (!(if ((size(b) == size(c)))
8- then (size(b) == size(d))
7+func massXferMono (b,c,d) = if ((size(b) != size(c)))
8+ then throw("Array sizes mismatch")
9+ else if ((size(a.payments) != 1))
10+ then throw("Exactly 1 payment expected")
11+ else {
12+ let e = a.payments[0]
13+ func f (g,h) = {
14+ let i = g
15+ let j = i._1
16+ let k = i._2
17+ let l = i._3
18+ let m = c[k]
19+ $Tuple3((j :+ ScriptTransfer(addressFromStringValue(h), m, e.assetId)), (k + 1), (l + m))
20+ }
21+
22+ let n = {
23+ let o = b
24+ let p = size(o)
25+ let q = $Tuple3(nil, 0, 0)
26+ func r (s,t) = if ((t >= p))
27+ then s
28+ else f(s, o[t])
29+
30+ func u (s,t) = if ((t >= p))
31+ then s
32+ else throw("List size exceeds 100")
33+
34+ u(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(q, 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 ((n._3 != e.amount))
37+ then throw("Aggregated amount doesn't match payment")
38+ else $Tuple2(n._1, 0)
39+ }
40+
41+
42+
43+@Callable(a)
44+func massXfer (b,c,v,d) = if (!(if ((size(b) == size(c)))
45+ then (size(b) == size(v))
946 else false))
1047 then throw("Array sizes mismatch")
1148 else {
12- let f = size(b)
13- func g (h,i) = {
14- let j = h
15- let k = j._1
16- let l = j._2
17- let m = j._3
18- let n = d[l]
19- if ((n >= size(a.payments)))
49+ let w = size(b)
50+ func x (g,h) = {
51+ let y = g
52+ let j = y._1
53+ let k = y._2
54+ let z = y._3
55+ let A = v[k]
56+ if ((A >= size(a.payments)))
2057 then throw("paymentIdx out of bounds")
2158 else {
22- let o = a.payments[n]
23- let p = c[l]
24- $Tuple3((k :+ ScriptTransfer(addressFromStringValue(i), p, o.assetId)), (l + 1), replaceByIndex(m, n, (m[n] + p)))
59+ let B = a.payments[A]
60+ let m = c[k]
61+ $Tuple3((j :+ ScriptTransfer(addressFromStringValue(h), m, B.assetId)), (k + 1), replaceByIndex(z, A, (z[A] + m)))
2562 }
2663 }
2764
28- let q = {
29- let r = b
30- let s = size(r)
31- let t = $Tuple3(nil, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
32- func u (v,w) = if ((w >= s))
33- then v
34- else g(v, r[w])
65+ let n = {
66+ let o = b
67+ let p = size(o)
68+ let q = $Tuple3(nil, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
69+ func r (s,t) = if ((t >= p))
70+ then s
71+ else x(s, o[t])
3572
36- func x (v,w) = if ((w >= s))
37- then v
73+ func u (s,t) = if ((t >= p))
74+ then s
3875 else throw("List size exceeds 100")
3976
40- x(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(t, 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)
77+ u(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(q, 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)
4178 }
42- let m = q._3
43- func y (z,A) = if ((m[z] != A.amount))
79+ let z = n._3
80+ func C (D,E) = if ((z[D] != E.amount))
4481 then throw("Aggregated amounts don't match payments")
45- else (z + 1)
82+ else (D + 1)
4683
47- let B = {
48- let r = a.payments
49- let s = size(r)
50- let t = 0
51- func C (v,w) = if ((w >= s))
52- then v
53- else y(v, r[w])
84+ let F = {
85+ let o = a.payments
86+ let p = size(o)
87+ let q = 0
88+ func G (s,t) = if ((t >= p))
89+ then s
90+ else C(s, o[t])
5491
55- func D (v,w) = if ((w >= s))
56- then v
92+ func H (s,t) = if ((t >= p))
93+ then s
5794 else throw("List size exceeds 10")
5895
59- D(C(C(C(C(C(C(C(C(C(C(t, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
96+ H(G(G(G(G(G(G(G(G(G(G(q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
6097 }
61- $Tuple2(q._1, B)
98+ $Tuple2(n._1, F)
6299 }
63100
64101

github/deemru/w8io/169f3d6 
123.11 ms