tx · Dx47NVFt8CGRXpSmeqLFQpkpaYeZLt4eCawZDnM7B9CU

3Ms2ssGBpsFccHLtdb5zApeJ51jU3377r1d:  -0.01000000 Waves

2023.10.20 16:37 [2806980] smart account 3Ms2ssGBpsFccHLtdb5zApeJ51jU3377r1d > SELF 0.00000000 Waves

{ "type": 13, "id": "Dx47NVFt8CGRXpSmeqLFQpkpaYeZLt4eCawZDnM7B9CU", "fee": 1000000, "feeAssetId": null, "timestamp": 1697809102297, "version": 2, "chainId": 84, "sender": "3Ms2ssGBpsFccHLtdb5zApeJ51jU3377r1d", "senderPublicKey": "7E4cNcg8gSYTmNbmLG2kvAiePh9KZoAT7W64shHxCc6n", "proofs": [ "2MTtECq1LK23PaLKZ2epSk5TgXbv4zkq6Z92aSVBmDThKNhgaS2cPSjQFFRVUzou4vvLVsqzUdrg4NC6Cv3A2h45" ], "script": "base64:BgIPCAISBgoEGBERCBIDCgEBBAARbHBfYWRkcmVzc19wdWJrZXkBIHy+XBhI/rhv/LQUflYon8e8q0PT8nBDeExH6jeAesBrACBtYXNzdHJhbnNmZXJfd2hpdGVsaXN0ZWRfYWRkcmVzcwkApwgBBRFscF9hZGRyZXNzX3B1YmtleQALbmV0d29ya19mZWUAoMIeARF2YWxpZGF0ZUFyZ3VtZW50cwQKcmVjaXBpZW50cwdhbW91bnRzCnBheW1lbnRJZHgIcGF5bWVudHMEDnJlY2lwaWVudHNTaXplCQCQAwEFCnJlY2lwaWVudHMEC2Ftb3VudHNTaXplCQCQAwEFB2Ftb3VudHMEDnBheW1lbnRJZHhTaXplCQCQAwEFCnBheW1lbnRJZHgEDHBheW1lbnRzU2l6ZQkAkAMBBQhwYXltZW50cwQJbWluQW1vdW50CQCXAwEFB2Ftb3VudHMEDW1pblBheW1lbnRJZHgJAJcDAQUKcGF5bWVudElkeAQNbWF4UGF5bWVudElkeAkAlgMBBQpwYXltZW50SWR4CgERcGF5bWVudHNWYWxpZGF0b3ICDHBheW1lbnRBY2N1bQtuZXh0UGF5bWVudAQJJHQwNzg3ODI0BQxwYXltZW50QWNjdW0EDXZhbGlkUGF5bWVudHMIBQkkdDA3ODc4MjQCXzEEAWoIBQkkdDA3ODc4MjQCXzIDCQBnAgUBagUMcGF5bWVudHNTaXplCQCUCgIFDXZhbGlkUGF5bWVudHMJAGQCBQFqAAEKARFhbW91bnRzQWdncmVnYXRvcgILYW1vdW50QWNjdW0KbmV4dEFtb3VudAQKJHQwOTc5MTAwOAULYW1vdW50QWNjdW0EBmFtb3VudAgFCiR0MDk3OTEwMDgCXzEEAWsIBQokdDA5NzkxMDA4Al8yAwMJAGcCBQFrBQ5yZWNpcGllbnRzU2l6ZQYJAQIhPQIJAJEDAgUKcGF5bWVudElkeAUBawUBagkAlAoCBQZhbW91bnQJAGQCBQFrAAEJAJQKAgkAZAIFBmFtb3VudAUKbmV4dEFtb3VudAkAZAIFAWsAAQQQYWdncmVnYXRlZEFtb3VudAoAAiRsBQdhbW91bnRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCAAAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQERYW1vdW50c0FnZ3JlZ2F0b3ICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFUxpc3Qgc2l6ZSBleGNlZWRzIDEwMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAwkAAAIIBRBhZ2dyZWdhdGVkQW1vdW50Al8xCAULbmV4dFBheW1lbnQGYW1vdW50CQCUCgIJAGQCBQ12YWxpZFBheW1lbnRzAAEJAGQCBQFqAAEJAJQKAgUNdmFsaWRQYXltZW50cwkAZAIFAWoAAQQScGF5bWVudHNWYWxpZGF0aW9uCgACJGwFCHBheW1lbnRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCAAAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQERcGF5bWVudHNWYWxpZGF0b3ICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoDAwMDAwMDAwkAAAIFDnJlY2lwaWVudHNTaXplBQthbW91bnRzU2l6ZQkAAAIFDnJlY2lwaWVudHNTaXplBQ5wYXltZW50SWR4U2l6ZQcJAGYCBQ5yZWNpcGllbnRzU2l6ZQAABwkAZwIAZAUOcmVjaXBpZW50c1NpemUHCQBmAgUMcGF5bWVudHNTaXplAAAHCQBmAgUJbWluQW1vdW50AAAHCQAAAgUNbWluUGF5bWVudElkeAAABwkAAAIFDW1heFBheW1lbnRJZHgJAGUCBQxwYXltZW50c1NpemUAAQcJAAACCAUScGF5bWVudHNWYWxpZGF0aW9uAl8xBQxwYXltZW50c1NpemUHAgFpAQxtYXNzVHJhbnNmZXIECnJlY2lwaWVudHMHYW1vdW50cwpwYXltZW50SWR4CmF0dGFjaG1lbnQEA3BtdAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwAABAdDb3VudGVyCQCRAwIJALUJAgUKYXR0YWNobWVudAIBXwAABAtjaGVja3N0YXR1cwkBEUBleHRyTmF0aXZlKDEwNTgpAQkArAICBQdDb3VudGVyAg9fV2lubmVyc19TdGF0dXMDCQECIT0CCAUBaQZjYWxsZXIFIG1hc3N0cmFuc2Zlcl93aGl0ZWxpc3RlZF9hZGRyZXNzCQACAQkArAICCQCsAgICEk5vdCBhbiBBZG1pbiBvbmx5IAkApQgBBSBtYXNzdHJhbnNmZXJfd2hpdGVsaXN0ZWRfYWRkcmVzcwINIGNhbiBzaWduIGl0LgMJAQlpc0RlZmluZWQBCAUDcG10B2Fzc2V0SWQJAAIBAitPbmx5IFdhdmVzIGlzIGFsbG93ZWQgdG8gQXR0YWNoIGFzIHBheW1lbnQuAwkBASEBCQERdmFsaWRhdGVBcmd1bWVudHMEBQpyZWNpcGllbnRzBQdhbW91bnRzBQpwYXltZW50SWR4CAUBaQhwYXltZW50cwkAAgECEUludmFsaWQgYXJndW1lbnRzAwkAAAIFC2NoZWNrc3RhdHVzAgRQYWlkCQACAQkArAICAjBNYXNzIFRyYW5zZmVyIHdhcyBhbHJlYWR5IHJlbGVhc2VkIGZvciBDb3VudGVyOiAFB0NvdW50ZXIEDnJlY2lwaWVudHNTaXplCQCQAwEFCnJlY2lwaWVudHMKARhzY3JpcHRUcmFuc2ZlcnNHZW5lcmF0b3ICBWFjY3VtBG5leHQECyR0MDI1NzgyNjEwBQVhY2N1bQQPc2NyaXB0VHJhbnNmZXJzCAULJHQwMjU3ODI2MTACXzEEAWoIBQskdDAyNTc4MjYxMAJfMgMJAGcCBQFqBQ5yZWNpcGllbnRzU2l6ZQkAlAoC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TGlxdWlkaXR5AiRObyBJbml0aWFsIFBvb2wgTGlxdWlkaXR5IHdhcyBGb3VuZC4EFXJlY2VpdmVkX29yZGVyX2Ftb3VudAkAZQIJAGUCBRRyZWFkX2FjY291bnRfYmFsYW5jZQUZcmVhZF90b3RhbF9wb29sX2xpcXVpZGl0eQULbmV0d29ya19mZWUEFHVwZGF0ZWRfcG9vbF9iYWxhbmNlCQBkAgkAZQIFGXJlYWRfdG90YWxfcG9vbF9saXF1aWRpdHkFFlBhaWRNYXNzVHJhbnNmZXJBbW91bnQFFXJlY2VpdmVkX29yZGVyX2Ftb3VudAQbUHJldmlvdXNNYXNzVHJhbnNmZXJDb3VudGVyBAckbWF0Y2gwCQCaCAIFBHRoaXMCFU1hc3NfVHJhbnNmZXJfQ291bnRlcgMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQYVG90YWxNYXNzVHJhbnNmZXJDb3VudGVyCQBkAgUbUHJldmlvdXNNYXNzVHJhbnNmZXJDb3VudGVyAAEEGFByZXZpb3VzTWFzc1RyYW5zZmVyU2VuZAQHJG1hdGNoMAkAmggCBQR0aGlzAhhUb3RhbF9NYXNzX1RyYW5zZmVyX1NlbmQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEFVRvdGFsTWFzc1RyYW5zZmVyU2VuZAkAZAIFGFByZXZpb3VzTWFzc1RyYW5zZmVyU2VuZAUWUGFpZE1hc3NUcmFuc2ZlckFtb3VudAMJAQIhPQIIBQFpBmNhbGxlcgUgbWFzc3RyYW5zZmVyX3doaXRlbGlzdGVkX2FkZHJlc3MJAAIBCQCsAgIJAKwCAgIlVGhpcyBBZGRyZXNzIGlzIG5vdCBBdXRob3JpemVkLiBPbmx5IAkApQgBBSBtYXNzdHJhbnNmZXJfd2hpdGVsaXN0ZWRfYWRkcmVzcwIiIGlzIEF1dGhvcml6ZWQgQWRkcmVzcyB0byBTaWduIGl0LgMJAGYCBRZQYWlkTWFzc1RyYW5zZmVyQW1vdW50BRlyZWFkX3RvdGFsX3Bvb2xfbGlxdWlkaXR5CQACAQJDUGxhY2VkIE1hc3MgVHJhbnNmZXIgQW1vdW50IFNpemUgaXMgbW9yZSB0aGFuIFRvdGFsIFBvb2wgTGlxdWlkaXR5LgkAzAgCCQEMSW50ZWdlckVudHJ5AgIUVG90YWxfUG9vbF9MaXF1aWRpdHkFFHVwZGF0ZWRfcG9vbF9iYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhVNYXNzX1RyYW5zZmVyX0NvdW50ZXIFGFRvdGFsTWFzc1RyYW5zZmVyQ291bnRlcgkAzAgCCQEMSW50ZWdlckVudHJ5AgIYVG90YWxfTWFzc19UcmFuc2Zlcl9TZW5kBRVUb3RhbE1hc3NUcmFuc2ZlclNlbmQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkApAMBBRhUb3RhbE1hc3NUcmFuc2ZlckNvdW50ZXICE19NYXNzX1RyYW5zZmVyX1NlbmQFFlBhaWRNYXNzVHJhbnNmZXJBbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkApwgBBRFscF9hZGRyZXNzX3B1YmtleQUWUGFpZE1hc3NUcmFuc2ZlckFtb3VudAUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQCnCAEFEWxwX2FkZHJlc3NfcHVia2V5BQtuZXR3b3JrX2ZlZQUEdW5pdAUDbmlsAI4gi5I=", "height": 2806980, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: ApC7aJ9wZW4ZokkUC5JV5Pb3kr6ExznRA2y54E313Tdm Next: 9sn1kkgK3utoR36m8JFkJeGf4CRygCtCVfuZXZYVNkgT Diff:
OldNewDifferences
9999 else if (!(validateArguments(recipients, amounts, paymentIdx, i.payments)))
100100 then throw("Invalid arguments")
101101 else if ((checkstatus == "Paid"))
102- then throw("Mass Transfer Already Releases for this Counter.")
102+ then throw(("Mass Transfer was already released for Counter: " + Counter))
103103 else {
104104 let recipientsSize = size(recipients)
105105 func scriptTransfersGenerator (accum,next) = {
106- let $t025702602 = accum
107- let scriptTransfers = $t025702602._1
108- let j = $t025702602._2
106+ let $t025782610 = accum
107+ let scriptTransfers = $t025782610._1
108+ let j = $t025782610._2
109109 if ((j >= recipientsSize))
110110 then $Tuple2(scriptTransfers, (j + 1))
111111 else $Tuple2((scriptTransfers :+ ScriptTransfer(addressFromStringValue(recipients[j]), next, i.payments[paymentIdx[j]].assetId)), (j + 1))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let lp_address_pubkey = base58'9Pwum3va2xrkVwsGRNiTeGxBBBNFEDaS9sfkZiSpSvdQ'
55
66 let masstransfer_whitelisted_address = addressFromPublicKey(lp_address_pubkey)
77
88 let network_fee = 500000
99
1010 func validateArguments (recipients,amounts,paymentIdx,payments) = {
1111 let recipientsSize = size(recipients)
1212 let amountsSize = size(amounts)
1313 let paymentIdxSize = size(paymentIdx)
1414 let paymentsSize = size(payments)
1515 let minAmount = min(amounts)
1616 let minPaymentIdx = min(paymentIdx)
1717 let maxPaymentIdx = max(paymentIdx)
1818 func paymentsValidator (paymentAccum,nextPayment) = {
1919 let $t0787824 = paymentAccum
2020 let validPayments = $t0787824._1
2121 let j = $t0787824._2
2222 if ((j >= paymentsSize))
2323 then $Tuple2(validPayments, (j + 1))
2424 else {
2525 func amountsAggregator (amountAccum,nextAmount) = {
2626 let $t09791008 = amountAccum
2727 let amount = $t09791008._1
2828 let k = $t09791008._2
2929 if (if ((k >= recipientsSize))
3030 then true
3131 else (paymentIdx[k] != j))
3232 then $Tuple2(amount, (k + 1))
3333 else $Tuple2((amount + nextAmount), (k + 1))
3434 }
3535
3636 let aggregatedAmount = {
3737 let $l = amounts
3838 let $s = size($l)
3939 let $acc0 = $Tuple2(0, 0)
4040 func $f0_1 ($a,$i) = if (($i >= $s))
4141 then $a
4242 else amountsAggregator($a, $l[$i])
4343
4444 func $f0_2 ($a,$i) = if (($i >= $s))
4545 then $a
4646 else throw("List size exceeds 100")
4747
4848 $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)
4949 }
5050 if ((aggregatedAmount._1 == nextPayment.amount))
5151 then $Tuple2((validPayments + 1), (j + 1))
5252 else $Tuple2(validPayments, (j + 1))
5353 }
5454 }
5555
5656 let paymentsValidation = {
5757 let $l = payments
5858 let $s = size($l)
5959 let $acc0 = $Tuple2(0, 0)
6060 func $f0_1 ($a,$i) = if (($i >= $s))
6161 then $a
6262 else paymentsValidator($a, $l[$i])
6363
6464 func $f0_2 ($a,$i) = if (($i >= $s))
6565 then $a
6666 else throw("List size exceeds 10")
6767
6868 $f0_2($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)
6969 }
7070 if (if (if (if (if (if (if (if ((recipientsSize == amountsSize))
7171 then (recipientsSize == paymentIdxSize)
7272 else false)
7373 then (recipientsSize > 0)
7474 else false)
7575 then (100 >= recipientsSize)
7676 else false)
7777 then (paymentsSize > 0)
7878 else false)
7979 then (minAmount > 0)
8080 else false)
8181 then (minPaymentIdx == 0)
8282 else false)
8383 then (maxPaymentIdx == (paymentsSize - 1))
8484 else false)
8585 then (paymentsValidation._1 == paymentsSize)
8686 else false
8787 }
8888
8989
9090 @Callable(i)
9191 func massTransfer (recipients,amounts,paymentIdx,attachment) = {
9292 let pmt = value(i.payments[0])
9393 let Counter = split(attachment, "_")[0]
9494 let checkstatus = getStringValue((Counter + "_Winners_Status"))
9595 if ((i.caller != masstransfer_whitelisted_address))
9696 then throw((("Not an Admin only " + toString(masstransfer_whitelisted_address)) + " can sign it."))
9797 else if (isDefined(pmt.assetId))
9898 then throw("Only Waves is allowed to Attach as payment.")
9999 else if (!(validateArguments(recipients, amounts, paymentIdx, i.payments)))
100100 then throw("Invalid arguments")
101101 else if ((checkstatus == "Paid"))
102- then throw("Mass Transfer Already Releases for this Counter.")
102+ then throw(("Mass Transfer was already released for Counter: " + Counter))
103103 else {
104104 let recipientsSize = size(recipients)
105105 func scriptTransfersGenerator (accum,next) = {
106- let $t025702602 = accum
107- let scriptTransfers = $t025702602._1
108- let j = $t025702602._2
106+ let $t025782610 = accum
107+ let scriptTransfers = $t025782610._1
108+ let j = $t025782610._2
109109 if ((j >= recipientsSize))
110110 then $Tuple2(scriptTransfers, (j + 1))
111111 else $Tuple2((scriptTransfers :+ ScriptTransfer(addressFromStringValue(recipients[j]), next, i.payments[paymentIdx[j]].assetId)), (j + 1))
112112 }
113113
114114 let result = {
115115 let $l = amounts
116116 let $s = size($l)
117117 let $acc0 = $Tuple2(nil, 0)
118118 func $f0_1 ($a,$i) = if (($i >= $s))
119119 then $a
120120 else scriptTransfersGenerator($a, $l[$i])
121121
122122 func $f0_2 ($a,$i) = if (($i >= $s))
123123 then $a
124124 else throw("List size exceeds 100")
125125
126126 $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)
127127 }
128128 $Tuple2((result._1 ++ [StringEntry((Counter + "_Winners_Status"), "Paid"), IntegerEntry((Counter + "_Total_Winners"), recipientsSize)]), unit)
129129 }
130130 }
131131
132132
133133
134134 @Callable(i)
135135 func UpdateLPBalance (PaidMassTransferAmount) = {
136136 let read_account_balance = wavesBalance(this).regular
137137 let read_total_pool_liquidity = valueOrErrorMessage(getInteger(this, "Total_Pool_Liquidity"), "No Initial Pool Liquidity was Found.")
138138 let received_order_amount = ((read_account_balance - read_total_pool_liquidity) - network_fee)
139139 let updated_pool_balance = ((read_total_pool_liquidity - PaidMassTransferAmount) + received_order_amount)
140140 let PreviousMassTransferCounter = match getInteger(this, "Mass_Transfer_Counter") {
141141 case a: Int =>
142142 a
143143 case _ =>
144144 0
145145 }
146146 let TotalMassTransferCounter = (PreviousMassTransferCounter + 1)
147147 let PreviousMassTransferSend = match getInteger(this, "Total_Mass_Transfer_Send") {
148148 case a: Int =>
149149 a
150150 case _ =>
151151 0
152152 }
153153 let TotalMassTransferSend = (PreviousMassTransferSend + PaidMassTransferAmount)
154154 if ((i.caller != masstransfer_whitelisted_address))
155155 then throw((("This Address is not Authorized. Only " + toString(masstransfer_whitelisted_address)) + " is Authorized Address to Sign it."))
156156 else if ((PaidMassTransferAmount > read_total_pool_liquidity))
157157 then throw("Placed Mass Transfer Amount Size is more than Total Pool Liquidity.")
158158 else [IntegerEntry("Total_Pool_Liquidity", updated_pool_balance), IntegerEntry("Mass_Transfer_Counter", TotalMassTransferCounter), IntegerEntry("Total_Mass_Transfer_Send", TotalMassTransferSend), IntegerEntry((toString(TotalMassTransferCounter) + "_Mass_Transfer_Send"), PaidMassTransferAmount), ScriptTransfer(addressFromPublicKey(lp_address_pubkey), PaidMassTransferAmount, unit), ScriptTransfer(addressFromPublicKey(lp_address_pubkey), network_fee, unit)]
159159 }
160160
161161

github/deemru/w8io/c3f4982 
41.27 ms