tx · 9sn1kkgK3utoR36m8JFkJeGf4CRygCtCVfuZXZYVNkgT

3Ms2ssGBpsFccHLtdb5zApeJ51jU3377r1d:  -0.01000000 Waves

2023.10.20 18:26 [2807088] smart account 3Ms2ssGBpsFccHLtdb5zApeJ51jU3377r1d > SELF 0.00000000 Waves

{ "type": 13, "id": "9sn1kkgK3utoR36m8JFkJeGf4CRygCtCVfuZXZYVNkgT", "fee": 1000000, "feeAssetId": null, "timestamp": 1697815576704, "version": 2, "chainId": 84, "sender": "3Ms2ssGBpsFccHLtdb5zApeJ51jU3377r1d", "senderPublicKey": "7E4cNcg8gSYTmNbmLG2kvAiePh9KZoAT7W64shHxCc6n", "proofs": [ "dik3uTUrD3MbBVgWyZq3CixxMZnPmhmS3ZULvvd5Csec3HvnhvSv9S5jPy8kj2xtbK8fUt5nwoi8xscV6bLHeS2" ], "script": "base64:BgIPCAISBgoEGBERCBIDCgEBBAARbHBfYWRkcmVzc19wdWJrZXkBIHy+XBhI/rhv/LQUflYon8e8q0PT8nBDeExH6jeAesBrACBtYXNzdHJhbnNmZXJfd2hpdGVsaXN0ZWRfYWRkcmVzcwkApwgBBRFscF9hZGRyZXNzX3B1YmtleQALbmV0d29ya19mZWUAoMIeAR12YWxpZGF0ZU1hc3NUcmFuc2ZlckFyZ3VtZW50cwQKcmVjaXBpZW50cwdhbW91bnRzCnBheW1lbnRJZHgIcGF5bWVudHMEDnJlY2lwaWVudHNTaXplCQCQAwEFCnJlY2lwaWVudHMEC2Ftb3VudHNTaXplCQCQAwEFB2Ftb3VudHMEDnBheW1lbnRJZHhTaXplCQCQAwEFCnBheW1lbnRJZHgEDHBheW1lbnRzU2l6ZQkAkAMBBQhwYXltZW50cwQJbWluQW1vdW50CQCXAwEFB2Ftb3VudHMEDW1pblBheW1lbnRJZHgJAJcDAQUKcGF5bWVudElkeAQNbWF4UGF5bWVudElkeAkAlgMBBQpwYXltZW50SWR4CgERcGF5bWVudHNWYWxpZGF0b3ICDHBheW1lbnRBY2N1bQtuZXh0UGF5bWVudAQJJHQwNzk5ODM2BQxwYXltZW50QWNjdW0EDXZhbGlkUGF5bWVudHMIBQkkdDA3OTk4MzYCXzEEAWoIBQkkdDA3OTk4MzYCXzIDCQBnAgUBagUMcGF5bWVudHNTaXplCQCUCgIFDXZhbGlkUGF5bWVudHMJAGQCBQFqAAEKARFhbW91bnRzQWdncmVnYXRvcgILYW1vdW50QWNjdW0KbmV4dEFtb3VudAQKJHQwOTkxMTAyMAULYW1vdW50QWNjdW0EBmFtb3VudAgFCiR0MDk5MTEwMjACXzEEAWsIBQokdDA5OTExMDIwAl8yAwMJAGcCBQFrBQ5yZWNpcGllbnRzU2l6ZQYJAQIhPQIJAJEDAgUKcGF5bWVudElkeAUBawUBagkAlAoCBQZhbW91bnQJAGQCBQFrAAEJAJQKAgkAZAIFBmFtb3VudAUKbmV4dEFtb3VudAkAZAIFAWsAAQQQYWdncmVnYXRlZEFtb3VudAoAAiRsBQdhbW91bnRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCAAAAAAoBBSRmMF8xAgIk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cGF5bWVudHNTaXplAAAHCQBmAgUJbWluQW1vdW50AAAHCQAAAgUNbWluUGF5bWVudElkeAAABwkAAAIFDW1heFBheW1lbnRJZHgJAGUCBQxwYXltZW50c1NpemUAAQcJAAACCAUScGF5bWVudHNWYWxpZGF0aW9uAl8xBQxwYXltZW50c1NpemUHAgFpAQxtYXNzVHJhbnNmZXIECnJlY2lwaWVudHMHYW1vdW50cwpwYXltZW50SWR4CmF0dGFjaG1lbnQEA3BtdAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwAABAZBbW91bnQIBQNwbXQGYW1vdW50BBVtYXhpbXVtX3BheW91dF9mYWN0b3IAEgQHQ291bnRlcgkAkQMCCQC1CQIFCmF0dGFjaG1lbnQCAV8AAAQLY2hlY2tzdGF0dXMJARFAZXh0ck5hdGl2ZSgxMDU4KQEJAKwCAgUHQ291bnRlcgIPX1dpbm5lcnNfU3RhdHVzBB1DaGVja1RvdGFsRnVuZHNBZGRlZEluQ291bnRlcgkBEUBleHRyTmF0aXZlKDEwNTUpAQkArAICAiJUb3RhbF9GdW5kc19BZGRlZF9Jbl9PcHRpb25fT3JkZXJfBQdDb3VudGVyBBBtYXNzcGF5b3V0bGltaXRzCQBrAwUdQ2hlY2tUb3RhbEZ1bmRzQWRkZWRJbkNvdW50ZXIFFW1heGltdW1fcGF5b3V0X2ZhY3RvcgAKAwkBAiE9AggFAWkGY2FsbGVyBSBtYXNzdHJhbnNmZXJfd2hpdGVsaXN0ZWRfYWRkcmVzcwkAAgEJAKwCAgkArAICAhJOb3QgYW4gQWRtaW4gb25seSAJAKUIAQUgbWFzc3RyYW5zZmVyX3doaXRlbGlzdGVkX2FkZHJlc3MCDSBjYW4gc2lnbiBpdC4DCQEJaXNEZWZpbmVkAQgFA3BtdAdhc3NldElkCQACAQIrT25seSBXYXZlcyBpcyBhbGxvd2VkIHRvIEF0dGFjaCBhcyBwYXltZW50LgMJAQEhAQkBHXZhbGlkYXRlTWFzc1RyYW5zZmVyQXJndW1lbnRzBAUKcmVjaXBpZW50cwUHYW1vdW50cwUKcGF5bWVudElkeAgFAWkIcGF5bWVudHMJAAIBAhFJbnZhbGlkIGFyZ3VtZW50cwMJAAACBQtjaGVja3N0YXR1cwIEUGFpZAkAAgEJAKwCAgkArAICAiJNYXNzIFRyYW5zZmVyIGFnYWluc3QgQ291bnRlciBJRDogBQdDb3VudGVyAhUgaXMgYWxyZWFkeSByZWxlYXNlZC4DCQBmAgUGQW1vdW50BR1DaGVja1RvdGFsRnVuZHNBZGRlZEluQ291bnRlcgkAAgEJAKwCAgkArAICAklBdHRhY2hlZCBQYXltZW50IEFtb3VudCBpcyBleGNlZWRpbmcgbW9yZSB0aGFuIE1heGltdW0gRWxpZ2libGUgTGltaXQgb2YgCQCkAwEFEG1hc3NwYXlvdXRsaW1pdHMCCiBXYXZlbGV0cy4EDnJlY2lwaWVudHNTaXplCQCQAwEFCnJlY2lwaWVudHMKARhzY3JpcHRUcmFuc2ZlcnNHZW5lcmF0b3ICBWFjY3VtBG5leHQECyR0MDMwNTAzMDgyBQVhY2N1bQQPc2NyaXB0VHJhbnNmZXJzCAULJHQwMzA1MDMwODICXzEEAWoIBQskdDAzMDUwMzA4MgJfMgMJAGcCBQFqBQ5yZWNpcGllbnRzU2l6ZQkAlAoCBQ9zY3JpcHRUcmFuc2ZlcnMJAGQCBQFqAAEJAJQKAgkAzQgCBQ9zY3JpcHRUcmFuc2ZlcnMJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUKcmVjaXBpZW50cwUBagUEbmV4dAgJAJEDAggFAWkIcGF5bWVudHMJAJEDAgUKcGF5bWVudElkeAUBagdhc3NldElkCQBkAgUBagABBAZyZXN1bHQKAAIkbAUHYW1vdW50cwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJQKAgUDbmlsAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBGHNjcmlwdFRyYW5zZmVyc0dlbmVyYXRvcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIVTGlzdCBzaXplIGV4Y2VlZHMgMTAwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQJAJQKAgkAzggCCAUGcmVzdWx0Al8xCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUHQ291bnRlcgIPX1dpbm5lcnNfU3RhdHVzAgRQYWlkCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFB0NvdW50ZXICEF9FbGlnaWJsZV9MaW1pdHMFEG1hc3NwYXlvdXRsaW1pdHMFA25pbAUEdW5pdAFpAQ9VcGRhdGVMUEJhbGFuY2UBFlBhaWRNYXNzVHJhbnNmZXJBbW91bnQEFHJlYWRfYWNjb3VudF9iYWxhbmNlCAkA7wcBBQR0aGlzB3JlZ3VsYXIEGXJlYWRfdG90YWxfcG9vbF9saXF1aWRpdHkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBQR0aGlzAhRUb3RhbF9Qb29sX0xpcXVpZGl0eQIkTm8gSW5pdGlhbCBQb29sIExpcXVpZGl0eSB3YXMgRm91bmQuBBVyZWNlaXZlZF9vcmRlcl9hbW91bnQJAGUCCQBlAgUUcmVhZF9hY2NvdW50X2JhbGFuY2UFGXJlYWRfdG90YWxfcG9vbF9saXF1aWRpdHkFC25ldHdvcmtfZmVlBBR1cGRhdGVkX3Bvb2xfYmFsYW5jZQkAZAIJAGUCBRlyZWFkX3RvdGFsX3Bvb2xfbGlxdWlkaXR5BRZQYWlkTWFzc1RyYW5zZmVyQW1vdW50BRVyZWNlaXZlZF9vcmRlcl9hbW91bnQEG1ByZXZpb3VzTWFzc1RyYW5zZmVyQ291bnRlcgQHJG1hdGNoMAkAmggCBQR0aGlzAhVNYXNzX1RyYW5zZmVyX0NvdW50ZXIDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEGFRvdGFsTWFzc1RyYW5zZmVyQ291bnRlcgkAZAIFG1ByZXZpb3VzTWFzc1RyYW5zZmVyQ291bnRlcgABBBhQcmV2aW91c01hc3NUcmFuc2ZlclNlbmQEByRtYXRjaDAJAJoIAgUEdGhpcwIYVG90YWxfTWFzc19UcmFuc2Zlcl9TZW5kAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBVUb3RhbE1hc3NUcmFuc2ZlclNlbmQJAGQCBRhQcmV2aW91c01hc3NUcmFuc2ZlclNlbmQFFlBhaWRNYXNzVHJhbnNmZXJBbW91bnQDCQECIT0CCAUBaQZjYWxsZXIFIG1hc3N0cmFuc2Zlcl93aGl0ZWxpc3RlZF9hZGRyZXNzCQACAQkArAICCQCsAgICJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAKUIAQUgbWFzc3RyYW5zZmVyX3doaXRlbGlzdGVkX2FkZHJlc3MCIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4DCQBmAgUWUGFpZE1hc3NUcmFuc2ZlckFtb3VudAUZcmVhZF90b3RhbF9wb29sX2xpcXVpZGl0eQkAAgECQ1BsYWNlZCBNYXNzIFRyYW5zZmVyIEFtb3VudCBTaXplIGlzIG1vcmUgdGhhbiBUb3RhbCBQb29sIExpcXVpZGl0eS4JAMwIAgkBDEludGVnZXJFbnRyeQICFFRvdGFsX1Bvb2xfTGlxdWlkaXR5BRR1cGRhdGVkX3Bvb2xfYmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIVTWFzc19UcmFuc2Zlcl9Db3VudGVyBRhUb3RhbE1hc3NUcmFuc2ZlckNvdW50ZXIJAMwIAgkBDEludGVnZXJFbnRyeQICGFRvdGFsX01hc3NfVHJhbnNmZXJfU2VuZAUVVG90YWxNYXNzVHJhbnNmZXJTZW5kCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKQDAQUYVG90YWxNYXNzVHJhbnNmZXJDb3VudGVyAhNfTWFzc19UcmFuc2Zlcl9TZW5kBRZQYWlkTWFzc1RyYW5zZmVyQW1vdW50CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAKcIAQURbHBfYWRkcmVzc19wdWJrZXkFFlBhaWRNYXNzVHJhbnNmZXJBbW91bnQFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkApwgBBRFscF9hZGRyZXNzX3B1YmtleQULbmV0d29ya19mZWUFBHVuaXQFA25pbAAa5SRO", "height": 2807088, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Dx47NVFt8CGRXpSmeqLFQpkpaYeZLt4eCawZDnM7B9CU Next: XXeyphCtsdMttyU7v5Zg2Q2p8aDk8p1EoM76SxYfvFP Diff:
OldNewDifferences
77
88 let network_fee = 500000
99
10-func validateArguments (recipients,amounts,paymentIdx,payments) = {
10+func validateMassTransferArguments (recipients,amounts,paymentIdx,payments) = {
1111 let recipientsSize = size(recipients)
1212 let amountsSize = size(amounts)
1313 let paymentIdxSize = size(paymentIdx)
1616 let minPaymentIdx = min(paymentIdx)
1717 let maxPaymentIdx = max(paymentIdx)
1818 func paymentsValidator (paymentAccum,nextPayment) = {
19- let $t0787824 = paymentAccum
20- let validPayments = $t0787824._1
21- let j = $t0787824._2
19+ let $t0799836 = paymentAccum
20+ let validPayments = $t0799836._1
21+ let j = $t0799836._2
2222 if ((j >= paymentsSize))
2323 then $Tuple2(validPayments, (j + 1))
2424 else {
2525 func amountsAggregator (amountAccum,nextAmount) = {
26- let $t09791008 = amountAccum
27- let amount = $t09791008._1
28- let k = $t09791008._2
26+ let $t09911020 = amountAccum
27+ let amount = $t09911020._1
28+ let k = $t09911020._2
2929 if (if ((k >= recipientsSize))
3030 then true
3131 else (paymentIdx[k] != j))
9090 @Callable(i)
9191 func massTransfer (recipients,amounts,paymentIdx,attachment) = {
9292 let pmt = value(i.payments[0])
93+ let Amount = pmt.amount
94+ let maximum_payout_factor = 18
9395 let Counter = split(attachment, "_")[0]
9496 let checkstatus = getStringValue((Counter + "_Winners_Status"))
97+ let CheckTotalFundsAddedInCounter = getIntegerValue(("Total_Funds_Added_In_Option_Order_" + Counter))
98+ let masspayoutlimits = fraction(CheckTotalFundsAddedInCounter, maximum_payout_factor, 10)
9599 if ((i.caller != masstransfer_whitelisted_address))
96100 then throw((("Not an Admin only " + toString(masstransfer_whitelisted_address)) + " can sign it."))
97101 else if (isDefined(pmt.assetId))
98102 then throw("Only Waves is allowed to Attach as payment.")
99- else if (!(validateArguments(recipients, amounts, paymentIdx, i.payments)))
103+ else if (!(validateMassTransferArguments(recipients, amounts, paymentIdx, i.payments)))
100104 then throw("Invalid arguments")
101105 else if ((checkstatus == "Paid"))
102- then throw(("Mass Transfer was already released for Counter: " + Counter))
103- else {
104- let recipientsSize = size(recipients)
105- func scriptTransfersGenerator (accum,next) = {
106- let $t025782610 = accum
107- let scriptTransfers = $t025782610._1
108- let j = $t025782610._2
109- if ((j >= recipientsSize))
110- then $Tuple2(scriptTransfers, (j + 1))
111- else $Tuple2((scriptTransfers :+ ScriptTransfer(addressFromStringValue(recipients[j]), next, i.payments[paymentIdx[j]].assetId)), (j + 1))
106+ then throw((("Mass Transfer against Counter ID: " + Counter) + " is already released."))
107+ else if ((Amount > CheckTotalFundsAddedInCounter))
108+ then throw((("Attached Payment Amount is exceeding more than Maximum Eligible Limit of " + toString(masspayoutlimits)) + " Wavelets."))
109+ else {
110+ let recipientsSize = size(recipients)
111+ func scriptTransfersGenerator (accum,next) = {
112+ let $t030503082 = accum
113+ let scriptTransfers = $t030503082._1
114+ let j = $t030503082._2
115+ if ((j >= recipientsSize))
116+ then $Tuple2(scriptTransfers, (j + 1))
117+ else $Tuple2((scriptTransfers :+ ScriptTransfer(addressFromStringValue(recipients[j]), next, i.payments[paymentIdx[j]].assetId)), (j + 1))
118+ }
119+
120+ let result = {
121+ let $l = amounts
122+ let $s = size($l)
123+ let $acc0 = $Tuple2(nil, 0)
124+ func $f0_1 ($a,$i) = if (($i >= $s))
125+ then $a
126+ else scriptTransfersGenerator($a, $l[$i])
127+
128+ func $f0_2 ($a,$i) = if (($i >= $s))
129+ then $a
130+ else throw("List size exceeds 100")
131+
132+ $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)
133+ }
134+ $Tuple2((result._1 ++ [StringEntry((Counter + "_Winners_Status"), "Paid"), IntegerEntry((Counter + "_Eligible_Limits"), masspayoutlimits)]), unit)
112135 }
113-
114- let result = {
115- let $l = amounts
116- let $s = size($l)
117- let $acc0 = $Tuple2(nil, 0)
118- func $f0_1 ($a,$i) = if (($i >= $s))
119- then $a
120- else scriptTransfersGenerator($a, $l[$i])
121-
122- func $f0_2 ($a,$i) = if (($i >= $s))
123- then $a
124- else throw("List size exceeds 100")
125-
126- $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)
127- }
128- $Tuple2((result._1 ++ [StringEntry((Counter + "_Winners_Status"), "Paid"), IntegerEntry((Counter + "_Total_Winners"), recipientsSize)]), unit)
129- }
130136 }
131137
132138
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
10-func validateArguments (recipients,amounts,paymentIdx,payments) = {
10+func validateMassTransferArguments (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) = {
19- let $t0787824 = paymentAccum
20- let validPayments = $t0787824._1
21- let j = $t0787824._2
19+ let $t0799836 = paymentAccum
20+ let validPayments = $t0799836._1
21+ let j = $t0799836._2
2222 if ((j >= paymentsSize))
2323 then $Tuple2(validPayments, (j + 1))
2424 else {
2525 func amountsAggregator (amountAccum,nextAmount) = {
26- let $t09791008 = amountAccum
27- let amount = $t09791008._1
28- let k = $t09791008._2
26+ let $t09911020 = amountAccum
27+ let amount = $t09911020._1
28+ let k = $t09911020._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])
93+ let Amount = pmt.amount
94+ let maximum_payout_factor = 18
9395 let Counter = split(attachment, "_")[0]
9496 let checkstatus = getStringValue((Counter + "_Winners_Status"))
97+ let CheckTotalFundsAddedInCounter = getIntegerValue(("Total_Funds_Added_In_Option_Order_" + Counter))
98+ let masspayoutlimits = fraction(CheckTotalFundsAddedInCounter, maximum_payout_factor, 10)
9599 if ((i.caller != masstransfer_whitelisted_address))
96100 then throw((("Not an Admin only " + toString(masstransfer_whitelisted_address)) + " can sign it."))
97101 else if (isDefined(pmt.assetId))
98102 then throw("Only Waves is allowed to Attach as payment.")
99- else if (!(validateArguments(recipients, amounts, paymentIdx, i.payments)))
103+ else if (!(validateMassTransferArguments(recipients, amounts, paymentIdx, i.payments)))
100104 then throw("Invalid arguments")
101105 else if ((checkstatus == "Paid"))
102- then throw(("Mass Transfer was already released for Counter: " + Counter))
103- else {
104- let recipientsSize = size(recipients)
105- func scriptTransfersGenerator (accum,next) = {
106- let $t025782610 = accum
107- let scriptTransfers = $t025782610._1
108- let j = $t025782610._2
109- if ((j >= recipientsSize))
110- then $Tuple2(scriptTransfers, (j + 1))
111- else $Tuple2((scriptTransfers :+ ScriptTransfer(addressFromStringValue(recipients[j]), next, i.payments[paymentIdx[j]].assetId)), (j + 1))
106+ then throw((("Mass Transfer against Counter ID: " + Counter) + " is already released."))
107+ else if ((Amount > CheckTotalFundsAddedInCounter))
108+ then throw((("Attached Payment Amount is exceeding more than Maximum Eligible Limit of " + toString(masspayoutlimits)) + " Wavelets."))
109+ else {
110+ let recipientsSize = size(recipients)
111+ func scriptTransfersGenerator (accum,next) = {
112+ let $t030503082 = accum
113+ let scriptTransfers = $t030503082._1
114+ let j = $t030503082._2
115+ if ((j >= recipientsSize))
116+ then $Tuple2(scriptTransfers, (j + 1))
117+ else $Tuple2((scriptTransfers :+ ScriptTransfer(addressFromStringValue(recipients[j]), next, i.payments[paymentIdx[j]].assetId)), (j + 1))
118+ }
119+
120+ let result = {
121+ let $l = amounts
122+ let $s = size($l)
123+ let $acc0 = $Tuple2(nil, 0)
124+ func $f0_1 ($a,$i) = if (($i >= $s))
125+ then $a
126+ else scriptTransfersGenerator($a, $l[$i])
127+
128+ func $f0_2 ($a,$i) = if (($i >= $s))
129+ then $a
130+ else throw("List size exceeds 100")
131+
132+ $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)
133+ }
134+ $Tuple2((result._1 ++ [StringEntry((Counter + "_Winners_Status"), "Paid"), IntegerEntry((Counter + "_Eligible_Limits"), masspayoutlimits)]), unit)
112135 }
113-
114- let result = {
115- let $l = amounts
116- let $s = size($l)
117- let $acc0 = $Tuple2(nil, 0)
118- func $f0_1 ($a,$i) = if (($i >= $s))
119- then $a
120- else scriptTransfersGenerator($a, $l[$i])
121-
122- func $f0_2 ($a,$i) = if (($i >= $s))
123- then $a
124- else throw("List size exceeds 100")
125-
126- $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)
127- }
128- $Tuple2((result._1 ++ [StringEntry((Counter + "_Winners_Status"), "Paid"), IntegerEntry((Counter + "_Total_Winners"), recipientsSize)]), unit)
129- }
130136 }
131137
132138
133139
134140 @Callable(i)
135141 func UpdateLPBalance (PaidMassTransferAmount) = {
136142 let read_account_balance = wavesBalance(this).regular
137143 let read_total_pool_liquidity = valueOrErrorMessage(getInteger(this, "Total_Pool_Liquidity"), "No Initial Pool Liquidity was Found.")
138144 let received_order_amount = ((read_account_balance - read_total_pool_liquidity) - network_fee)
139145 let updated_pool_balance = ((read_total_pool_liquidity - PaidMassTransferAmount) + received_order_amount)
140146 let PreviousMassTransferCounter = match getInteger(this, "Mass_Transfer_Counter") {
141147 case a: Int =>
142148 a
143149 case _ =>
144150 0
145151 }
146152 let TotalMassTransferCounter = (PreviousMassTransferCounter + 1)
147153 let PreviousMassTransferSend = match getInteger(this, "Total_Mass_Transfer_Send") {
148154 case a: Int =>
149155 a
150156 case _ =>
151157 0
152158 }
153159 let TotalMassTransferSend = (PreviousMassTransferSend + PaidMassTransferAmount)
154160 if ((i.caller != masstransfer_whitelisted_address))
155161 then throw((("This Address is not Authorized. Only " + toString(masstransfer_whitelisted_address)) + " is Authorized Address to Sign it."))
156162 else if ((PaidMassTransferAmount > read_total_pool_liquidity))
157163 then throw("Placed Mass Transfer Amount Size is more than Total Pool Liquidity.")
158164 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)]
159165 }
160166
161167

github/deemru/w8io/873ac7e 
36.32 ms