tx · DxEXssfr91Gy92tWHptDrhHEQLi2K1zCs6F1w6wBB4Zn 3Ms2ssGBpsFccHLtdb5zApeJ51jU3377r1d: -0.01000000 Waves 2023.10.08 17:02 [2789745] smart account 3Ms2ssGBpsFccHLtdb5zApeJ51jU3377r1d > SELF 0.00000000 Waves
{ "type": 13, "id": "DxEXssfr91Gy92tWHptDrhHEQLi2K1zCs6F1w6wBB4Zn", "fee": 1000000, "feeAssetId": null, "timestamp": 1696773797497, "version": 2, "chainId": 84, "sender": "3Ms2ssGBpsFccHLtdb5zApeJ51jU3377r1d", "senderPublicKey": "7E4cNcg8gSYTmNbmLG2kvAiePh9KZoAT7W64shHxCc6n", "proofs": [ "63pcASfyL8wSJUD1BHSy27RJ2jVwHwCFxRp1nGcGYdE6Yfq1jy3scSGniauokjuWYNnE6eMduMcTPBBTiDh8X5NQ" ], "script": "base64:BgIKCAISBgoEGBERCAEBEXZhbGlkYXRlQXJndW1lbnRzBApyZWNpcGllbnRzB2Ftb3VudHMKcGF5bWVudElkeAhwYXltZW50cwQOcmVjaXBpZW50c1NpemUJAJADAQUKcmVjaXBpZW50cwQLYW1vdW50c1NpemUJAJADAQUHYW1vdW50cwQOcGF5bWVudElkeFNpemUJAJADAQUKcGF5bWVudElkeAQMcGF5bWVudHNTaXplCQCQAwEFCHBheW1lbnRzBAltaW5BbW91bnQJAJcDAQUHYW1vdW50cwQNbWluUGF5bWVudElkeAkAlwMBBQpwYXltZW50SWR4BA1tYXhQYXltZW50SWR4CQCWAwEFCnBheW1lbnRJZHgKARFwYXltZW50c1ZhbGlkYXRvcgIMcGF5bWVudEFjY3VtC25leHRQYXltZW50BAkkdDA1ODM2MjAFDHBheW1lbnRBY2N1bQQNdmFsaWRQYXltZW50cwgFCSR0MDU4MzYyMAJfMQQBaggFCSR0MDU4MzYyMAJfMgMJAGcCBQFqBQxwYXltZW50c1NpemUJAJQKAgUNdmFsaWRQYXltZW50cwkAZAIFAWoAAQoBEWFtb3VudHNBZ2dyZWdhdG9yAgthbW91bnRBY2N1bQpuZXh0QW1vdW50BAkkdDA3NzU4MDQFC2Ftb3VudEFjY3VtBAZhbW91bnQIBQkkdDA3NzU4MDQCXzEEAWsIBQkkdDA3NzU4MDQCXzIDAwkAZwIFAWsFDnJlY2lwaWVudHNTaXplBgkBAiE9AgkAkQMCBQpwYXltZW50SWR4BQFrBQFqCQCUCgIFBmFtb3VudAkAZAIFAWsAAQkAlAoCCQBkAgUGYW1vdW50BQpuZXh0QW1vdW50CQBkAgUBawABBBBhZ2dyZWdhdGVkQW1vdW50CgACJGwFB2Ftb3VudHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCUCgIAAAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARFhbW91bnRzQWdncmVnYXRvcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIVTGlzdCBzaXplIGV4Y2VlZHMgMTAwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQDCQAAAggFEGFnZ3JlZ2F0ZWRBbW91bnQCXzEIBQtuZXh0UGF5bWVudAZhbW91bnQJAJQKAgkAZAIFDXZhbGlkUGF5bWVudHMAAQkAZAIFAWoAAQkAlAoCBQ12YWxpZFBheW1lbnRzCQBkAgUBagABBBJwYXltZW50c1ZhbGlkYXRpb24KAAIkbAUIcGF5bWVudHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCUCgIAAAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARFwYXltZW50c1ZhbGlkYXRvcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgMDAwMDAwMDCQAAAgUOcmVjaXBpZW50c1NpemUFC2Ftb3VudHNTaXplCQAAAgUOcmVjaXBpZW50c1NpemUFDnBheW1lbnRJZHhTaXplBwkAZgIFDnJlY2lwaWVudHNTaXplAAAHCQBnAgBkBQ5yZWNpcGllbnRzU2l6ZQcJAGYCBQxwYXltZW50c1NpemUAAAcJAGYCBQltaW5BbW91bnQAAAcJAAACBQ1taW5QYXltZW50SWR4AAAHCQAAAgUNbWF4UGF5bWVudElkeAkAZQIFDHBheW1lbnRzU2l6ZQABBwkAAAIIBRJwYXltZW50c1ZhbGlkYXRpb24CXzEFDHBheW1lbnRzU2l6ZQcBAWkBDG1hc3NUcmFuc2ZlcgQKcmVjaXBpZW50cwdhbW91bnRzCnBheW1lbnRJZHgKYXR0YWNobWVudAQDcG10CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAEEWxwX2FkZHJlc3NfcHVia2V5ASDjrdey1Io21qI8AxObYBZMNWPHMCK947HpXHsKae68IwQgbWFzc3RyYW5zZmVyX3doaXRlbGlzdGVkX2FkZHJlc3MJAKcIAQURbHBfYWRkcmVzc19wdWJrZXkDCQECIT0CCAUBaQZjYWxsZXIFIG1hc3N0cmFuc2Zlcl93aGl0ZWxpc3RlZF9hZGRyZXNzCQACAQkArAICCQCsAgICEU5vdCBhbiBBZG1pbiBvbmx5CQClCAEFIG1hc3N0cmFuc2Zlcl93aGl0ZWxpc3RlZF9hZGRyZXNzAg0gY2FuIHNpZ24gaXQuAwkBCWlzRGVmaW5lZAEIBQNwbXQHYXNzZXRJZAkAAgECK09ubHkgV2F2ZXMgaXMgYWxsb3dlZCB0byBBdHRhY2ggYXMgcGF5bWVudC4DCQEBIQEJARF2YWxpZGF0ZUFyZ3VtZW50cwQFCnJlY2lwaWVudHMFB2Ftb3VudHMFCnBheW1lbnRJZHgIBQFpCHBheW1lbnRzCQACAQIRSW52YWxpZCBhcmd1bWVudHMEDnJlY2lwaWVudHNTaXplCQCQAwEFCnJlY2lwaWVudHMKARhzY3JpcHRUcmFuc2ZlcnNHZW5lcmF0b3ICBWFjY3VtBG5leHQECyR0MDIzMjQyMzU2BQVhY2N1bQQPc2NyaXB0VHJhbnNmZXJzCAULJHQwMjMyNDIzNTYCXzEEAWoIBQskdDAyMzI0MjM1NgJfMgMJAGcCBQFqBQ5yZWNpcGllbnRzU2l6ZQkAlAoCBQ9zY3JpcHRUcmFuc2ZlcnMJAGQCBQFqAAEJAJQKAgkAzQgCBQ9zY3JpcHRUcmFuc2ZlcnMJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUKcmVjaXBpZW50cwUBagUEbmV4dAgJAJEDAggFAWkIcGF5bWVudHMJAJEDAgUKcGF5bWVudElkeAUBagdhc3NldElkCQBkAgUBagABBAZyZXN1bHQKAAIkbAUHYW1vdW50cwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJQKAgUDbmlsAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBGHNjcmlwdFRyYW5zZmVyc0dlbmVyYXRvcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIVTGlzdCBzaXplIGV4Y2VlZHMgMTAwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQJAJQKAggFBnJlc3VsdAJfMQUEdW5pdADj0mGX", "height": 2789745, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9RiUbEcaeQEqtDLN56pyEbLBpQWv4t3QgizERPrnbCKy Next: BF5P1XLobzcSf2Py5W1mF8k8xn4Qyd5ZYyBvK2ogH93c Diff:
Old | New | Differences | |
---|---|---|---|
83 | 83 | ||
84 | 84 | @Callable(H) | |
85 | 85 | func massTransfer (b,c,d,I) = { | |
86 | - | let J = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr' | |
87 | - | let K = addressFromPublicKey(J) | |
88 | - | if ((H.caller != K)) | |
89 | - | then throw((("Not an Admin only" + toString(K)) + " can sign it.")) | |
90 | - | else if (!(a(b, c, d, H.payments))) | |
91 | - | then throw("Invalid arguments") | |
92 | - | else { | |
93 | - | let f = size(b) | |
94 | - | func L (M,N) = { | |
95 | - | let O = M | |
96 | - | let P = O._1 | |
97 | - | let r = O._2 | |
98 | - | if ((r >= f)) | |
99 | - | then $Tuple2(P, (r + 1)) | |
100 | - | else $Tuple2((P :+ ScriptTransfer(addressFromStringValue(b[r]), N, H.payments[d[r]].assetId)), (r + 1)) | |
86 | + | let J = value(H.payments[0]) | |
87 | + | let K = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr' | |
88 | + | let L = addressFromPublicKey(K) | |
89 | + | if ((H.caller != L)) | |
90 | + | then throw((("Not an Admin only" + toString(L)) + " can sign it.")) | |
91 | + | else if (isDefined(J.assetId)) | |
92 | + | then throw("Only Waves is allowed to Attach as payment.") | |
93 | + | else if (!(a(b, c, d, H.payments))) | |
94 | + | then throw("Invalid arguments") | |
95 | + | else { | |
96 | + | let f = size(b) | |
97 | + | func M (N,O) = { | |
98 | + | let P = N | |
99 | + | let Q = P._1 | |
100 | + | let r = P._2 | |
101 | + | if ((r >= f)) | |
102 | + | then $Tuple2(Q, (r + 1)) | |
103 | + | else $Tuple2((Q :+ ScriptTransfer(addressFromStringValue(b[r]), O, H.payments[d[r]].assetId)), (r + 1)) | |
104 | + | } | |
105 | + | ||
106 | + | let R = { | |
107 | + | let z = c | |
108 | + | let A = size(z) | |
109 | + | let B = $Tuple2(nil, 0) | |
110 | + | func C (D,E) = if ((E >= A)) | |
111 | + | then D | |
112 | + | else M(D, z[E]) | |
113 | + | ||
114 | + | func F (D,E) = if ((E >= A)) | |
115 | + | then D | |
116 | + | else throw("List size exceeds 100") | |
117 | + | ||
118 | + | F(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(B, 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) | |
119 | + | } | |
120 | + | $Tuple2(R._1, unit) | |
101 | 121 | } | |
102 | - | ||
103 | - | let Q = { | |
104 | - | let z = c | |
105 | - | let A = size(z) | |
106 | - | let B = $Tuple2(nil, 0) | |
107 | - | func C (D,E) = if ((E >= A)) | |
108 | - | then D | |
109 | - | else L(D, z[E]) | |
110 | - | ||
111 | - | func F (D,E) = if ((E >= A)) | |
112 | - | then D | |
113 | - | else throw("List size exceeds 100") | |
114 | - | ||
115 | - | F(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(B, 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) | |
116 | - | } | |
117 | - | $Tuple2(Q._1, unit) | |
118 | - | } | |
119 | 122 | } | |
120 | 123 | ||
121 | 124 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func a (b,c,d,e) = { | |
5 | 5 | let f = size(b) | |
6 | 6 | let g = size(c) | |
7 | 7 | let h = size(d) | |
8 | 8 | let i = size(e) | |
9 | 9 | let j = min(c) | |
10 | 10 | let k = min(d) | |
11 | 11 | let l = max(d) | |
12 | 12 | func m (n,o) = { | |
13 | 13 | let p = n | |
14 | 14 | let q = p._1 | |
15 | 15 | let r = p._2 | |
16 | 16 | if ((r >= i)) | |
17 | 17 | then $Tuple2(q, (r + 1)) | |
18 | 18 | else { | |
19 | 19 | func s (t,u) = { | |
20 | 20 | let v = t | |
21 | 21 | let w = v._1 | |
22 | 22 | let x = v._2 | |
23 | 23 | if (if ((x >= f)) | |
24 | 24 | then true | |
25 | 25 | else (d[x] != r)) | |
26 | 26 | then $Tuple2(w, (x + 1)) | |
27 | 27 | else $Tuple2((w + u), (x + 1)) | |
28 | 28 | } | |
29 | 29 | ||
30 | 30 | let y = { | |
31 | 31 | let z = c | |
32 | 32 | let A = size(z) | |
33 | 33 | let B = $Tuple2(0, 0) | |
34 | 34 | func C (D,E) = if ((E >= A)) | |
35 | 35 | then D | |
36 | 36 | else s(D, z[E]) | |
37 | 37 | ||
38 | 38 | func F (D,E) = if ((E >= A)) | |
39 | 39 | then D | |
40 | 40 | else throw("List size exceeds 100") | |
41 | 41 | ||
42 | 42 | F(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(B, 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) | |
43 | 43 | } | |
44 | 44 | if ((y._1 == o.amount)) | |
45 | 45 | then $Tuple2((q + 1), (r + 1)) | |
46 | 46 | else $Tuple2(q, (r + 1)) | |
47 | 47 | } | |
48 | 48 | } | |
49 | 49 | ||
50 | 50 | let G = { | |
51 | 51 | let z = e | |
52 | 52 | let A = size(z) | |
53 | 53 | let B = $Tuple2(0, 0) | |
54 | 54 | func C (D,E) = if ((E >= A)) | |
55 | 55 | then D | |
56 | 56 | else m(D, z[E]) | |
57 | 57 | ||
58 | 58 | func F (D,E) = if ((E >= A)) | |
59 | 59 | then D | |
60 | 60 | else throw("List size exceeds 10") | |
61 | 61 | ||
62 | 62 | F(C(C(C(C(C(C(C(C(C(C(B, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
63 | 63 | } | |
64 | 64 | if (if (if (if (if (if (if (if ((f == g)) | |
65 | 65 | then (f == h) | |
66 | 66 | else false) | |
67 | 67 | then (f > 0) | |
68 | 68 | else false) | |
69 | 69 | then (100 >= f) | |
70 | 70 | else false) | |
71 | 71 | then (i > 0) | |
72 | 72 | else false) | |
73 | 73 | then (j > 0) | |
74 | 74 | else false) | |
75 | 75 | then (k == 0) | |
76 | 76 | else false) | |
77 | 77 | then (l == (i - 1)) | |
78 | 78 | else false) | |
79 | 79 | then (G._1 == i) | |
80 | 80 | else false | |
81 | 81 | } | |
82 | 82 | ||
83 | 83 | ||
84 | 84 | @Callable(H) | |
85 | 85 | func massTransfer (b,c,d,I) = { | |
86 | - | let J = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr' | |
87 | - | let K = addressFromPublicKey(J) | |
88 | - | if ((H.caller != K)) | |
89 | - | then throw((("Not an Admin only" + toString(K)) + " can sign it.")) | |
90 | - | else if (!(a(b, c, d, H.payments))) | |
91 | - | then throw("Invalid arguments") | |
92 | - | else { | |
93 | - | let f = size(b) | |
94 | - | func L (M,N) = { | |
95 | - | let O = M | |
96 | - | let P = O._1 | |
97 | - | let r = O._2 | |
98 | - | if ((r >= f)) | |
99 | - | then $Tuple2(P, (r + 1)) | |
100 | - | else $Tuple2((P :+ ScriptTransfer(addressFromStringValue(b[r]), N, H.payments[d[r]].assetId)), (r + 1)) | |
86 | + | let J = value(H.payments[0]) | |
87 | + | let K = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr' | |
88 | + | let L = addressFromPublicKey(K) | |
89 | + | if ((H.caller != L)) | |
90 | + | then throw((("Not an Admin only" + toString(L)) + " can sign it.")) | |
91 | + | else if (isDefined(J.assetId)) | |
92 | + | then throw("Only Waves is allowed to Attach as payment.") | |
93 | + | else if (!(a(b, c, d, H.payments))) | |
94 | + | then throw("Invalid arguments") | |
95 | + | else { | |
96 | + | let f = size(b) | |
97 | + | func M (N,O) = { | |
98 | + | let P = N | |
99 | + | let Q = P._1 | |
100 | + | let r = P._2 | |
101 | + | if ((r >= f)) | |
102 | + | then $Tuple2(Q, (r + 1)) | |
103 | + | else $Tuple2((Q :+ ScriptTransfer(addressFromStringValue(b[r]), O, H.payments[d[r]].assetId)), (r + 1)) | |
104 | + | } | |
105 | + | ||
106 | + | let R = { | |
107 | + | let z = c | |
108 | + | let A = size(z) | |
109 | + | let B = $Tuple2(nil, 0) | |
110 | + | func C (D,E) = if ((E >= A)) | |
111 | + | then D | |
112 | + | else M(D, z[E]) | |
113 | + | ||
114 | + | func F (D,E) = if ((E >= A)) | |
115 | + | then D | |
116 | + | else throw("List size exceeds 100") | |
117 | + | ||
118 | + | F(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(B, 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) | |
119 | + | } | |
120 | + | $Tuple2(R._1, unit) | |
101 | 121 | } | |
102 | - | ||
103 | - | let Q = { | |
104 | - | let z = c | |
105 | - | let A = size(z) | |
106 | - | let B = $Tuple2(nil, 0) | |
107 | - | func C (D,E) = if ((E >= A)) | |
108 | - | then D | |
109 | - | else L(D, z[E]) | |
110 | - | ||
111 | - | func F (D,E) = if ((E >= A)) | |
112 | - | then D | |
113 | - | else throw("List size exceeds 100") | |
114 | - | ||
115 | - | F(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(C(B, 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) | |
116 | - | } | |
117 | - | $Tuple2(Q._1, unit) | |
118 | - | } | |
119 | 122 | } | |
120 | 123 | ||
121 | 124 |
github/deemru/w8io/169f3d6 28.40 ms ◑