tx · AwuxwdviPnpALikrXGZr4SLvCWi875pPUFbSnAXoBp8r

3Ms2ssGBpsFccHLtdb5zApeJ51jU3377r1d:  -0.01000000 Waves

2023.10.20 18:39 [2807101] smart account 3Ms2ssGBpsFccHLtdb5zApeJ51jU3377r1d > SELF 0.00000000 Waves

{ "type": 13, "id": "AwuxwdviPnpALikrXGZr4SLvCWi875pPUFbSnAXoBp8r", "fee": 1000000, "feeAssetId": null, "timestamp": 1697816393911, "version": 2, "chainId": 84, "sender": "3Ms2ssGBpsFccHLtdb5zApeJ51jU3377r1d", "senderPublicKey": "7E4cNcg8gSYTmNbmLG2kvAiePh9KZoAT7W64shHxCc6n", "proofs": [ "2pY9nSHuDvEunMFH9sHUBdVBBEjo4FAUMqmkr3qBFHgRZBfiuNBGE6bEtW1yJSEgwoagU4xkmEmX1E2WGfJ3ZDW2" ], "script": "base64:BgIPCAISBgoEGBERCBIDCgEBBQAUdXNlcl9iYWxhbmNlX2FkZHJlc3MCIzNOMXMydzROSGdiclh4TlpYSDlSdGFWVDlwdEhSSmNnU3AyABFscF9hZGRyZXNzX3B1YmtleQEgfL5cGEj+uG/8tBR+Viifx7yrQ9PycEN4TEfqN4B6wGsAIG1hc3N0cmFuc2Zlcl93aGl0ZWxpc3RlZF9hZGRyZXNzCQCnCAEFEWxwX2FkZHJlc3NfcHVia2V5AAtuZXR3b3JrX2ZlZQCgwh4BHXZhbGlkYXRlTWFzc1RyYW5zZmVyQXJndW1lbnRzBApyZWNpcGllbnRzB2Ftb3VudHMKcGF5bWVudElkeAhwYXltZW50cwQOcmVjaXBpZW50c1NpemUJAJADAQUKcmVjaXBpZW50cwQLYW1vdW50c1NpemUJAJADAQUHYW1vdW50cwQOcGF5bWVudElkeFNpemUJAJADAQUKcGF5bWVudElkeAQMcGF5bWVudHNTaXplCQCQAwEFCHBheW1lbnRzBAltaW5BbW91bnQJAJcDAQUHYW1vdW50cwQNbWluUGF5bWVudElkeAkAlwMBBQpwYXltZW50SWR4BA1tYXhQYXltZW50SWR4CQCWAwEFCnBheW1lbnRJZHgKARFwYXltZW50c1ZhbGlkYXRvcgIMcGF5bWVudEFjY3VtC25leHRQYXltZW50BAkkdDA5MzM5NzAFDHBheW1lbnRBY2N1bQQNdmFsaWRQYXltZW50cwgFCSR0MDkzMzk3MAJfMQQBaggFCSR0MDkzMzk3MAJfMgMJAGcCBQFqBQxwYXltZW50c1NpemUJAJQKAgUNdmFsaWRQYXltZW50cwkAZAIFAWoAAQoBEWFtb3VudHNBZ2dyZWdhdG9yAgthbW91bnRBY2N1bQpuZXh0QW1vdW50BAskdDAxMTI1MTE1NAULYW1vdW50QWNjdW0EBmFtb3VudAgFCyR0MDExMjUxMTU0Al8xBAFrCAULJHQwMTEyNTExNTQCXzIDAwkAZwIFAWsFDnJlY2lwaWVudHNTaXplBgkBAiE9AgkAkQMCBQpwYXltZW50SWR4BQFrBQFqCQCUCgIFBmFtb3VudAkAZAIFAWsAAQkAlAoCCQBkAgUGYW1vdW50BQpuZXh0QW1vdW50CQBkAgUBawABBBBhZ2dyZWdhdGVk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bnRJZHhTaXplBwkAZgIFDnJlY2lwaWVudHNTaXplAAAHCQBnAgBkBQ5yZWNpcGllbnRzU2l6ZQcJAGYCBQxwYXltZW50c1NpemUAAAcJAGYCBQltaW5BbW91bnQAAAcJAAACBQ1taW5QYXltZW50SWR4AAAHCQAAAgUNbWF4UGF5bWVudElkeAkAZQIFDHBheW1lbnRzU2l6ZQABBwkAAAIIBRJwYXltZW50c1ZhbGlkYXRpb24CXzEFDHBheW1lbnRzU2l6ZQcCAWkBDG1hc3NUcmFuc2ZlcgQKcmVjaXBpZW50cwdhbW91bnRzCnBheW1lbnRJZHgKYXR0YWNobWVudAQDcG10CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAEBkFtb3VudAgFA3BtdAZhbW91bnQEFW1heGltdW1fcGF5b3V0X2ZhY3RvcgASBAdDb3VudGVyCQCRAwIJALUJAgUKYXR0YWNobWVudAIBXwAABB1DaGVja1RvdGFsRnVuZHNBZGRlZEluQ291bnRlcgkBEUBleHRyTmF0aXZlKDEwNTApAgkBEUBleHRyTmF0aXZlKDEwNjIpAQUUdXNlcl9iYWxhbmNlX2FkZHJlc3MJAKwCAgIiVG90YWxfRnVuZHNfQWRkZWRfSW5fT3B0aW9uX09yZGVyXwUHQ291bnRlcgQQbWFzc3BheW91dGxpbWl0cwkAawMFHUNoZWNrVG90YWxGdW5kc0FkZGVkSW5Db3VudGVyBRVtYXhpbXVtX3BheW91dF9mYWN0b3IACgMJAQIhPQIIBQFpBmNhbGxlcgUgbWFzc3RyYW5zZmVyX3doaXRlbGlzdGVkX2FkZHJlc3MJAAIBCQCsAgIJAKwCAgISTm90IGFuIEFkbWluIG9ubHkgCQClCAEFIG1hc3N0cmFuc2Zlcl93aGl0ZWxpc3RlZF9hZGRyZXNzAg0gY2FuIHNpZ24gaXQuAwkBCWlzRGVmaW5lZAEIBQNwbXQHYXNzZXRJZAkAAgECK09ubHkgV2F2ZXMgaXMgYWxsb3dlZCB0byBBdHRhY2ggYXMgcGF5bWVudC4DCQEBIQEJAR12YWxpZGF0ZU1hc3NUcmFuc2ZlckFyZ3VtZW50cwQFCnJlY2lwaWVudHMFB2Ftb3VudHMFCnBheW1lbnRJZHgIBQFpCHBheW1lbnRzCQACAQIRSW52YWxpZCBhcmd1bWVudHMDCQAAAgkArAICBQdDb3VudGVyAg9fV2lubmVyc19TdGF0dXMCBFBhaWQJAAIBCQCsAgIJAKwCAgIiTWFzcyBUcmFuc2ZlciBhZ2FpbnN0IENvdW50ZXIgSUQ6IAUHQ291bnRlcgIVIGlzIGFscmVhZHkgcmVsZWFzZWQuAwkAZgIFBkFtb3VudAUdQ2hlY2tUb3RhbEZ1bmRzQWRkZWRJbkNvdW50ZXIJAAIBCQCsAgIJAKwCAgJJQXR0YWNoZWQgUGF5bWVudCBBbW91bnQgaXMgZXhjZWVkaW5nIG1vcmUgdGhhbiBNYXhpbXVtIEVsaWdpYmxlIExpbWl0IG9mIAkApAMBBRBtYXNzcGF5b3V0bGltaXRzAgogV2F2ZWxldHMuBA5yZWNpcGllbnRzU2l6ZQkAkAMBBQpyZWNpcGllbnRzCgEYc2NyaXB0VHJhbnNmZXJzR2VuZXJhdG9yAgVhY2N1bQRuZXh0BAskdDAzMTc5MzIxMQUFYWNjdW0ED3NjcmlwdFRyYW5zZmVycwgFCyR0MDMxNzkzMjExAl8xBAFqCAULJHQwMzE3OTMyMTECXzIDCQBnAgUBagUOcmVjaXBpZW50c1NpemUJAJQKAgUPc2NyaXB0VHJhbnNmZXJzCQBkAgUBagABCQCUCgIJAM0IAgUPc2NyaXB0VHJhbnNmZXJzCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFCnJlY2lwaWVudHMFAWoFBG5leHQICQCRAwIIBQFpCHBheW1lbnRzCQCRAwIFCnBheW1lbnRJZHgFAWoHYXNzZXRJZAkAZAIFAWoAAQQGcmVzdWx0CgACJGwFB2Ftb3VudHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCUCgIFA25pbAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARhzY3JpcHRUcmFuc2ZlcnNHZW5lcmF0b3ICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFUxpc3Qgc2l6ZSBleGNlZWRzIDEwMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkCQCUCgIJAM4IAggFBnJlc3VsdAJfMQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFB0NvdW50ZXICD19XaW5uZXJzX1N0YXR1cwIEUGFpZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQdDb3VudGVyAhBfRWxpZ2libGVfTGltaXRzBRBtYXNzcGF5b3V0bGltaXRzBQNuaWwFBHVuaXQBaQEPVXBkYXRlTFBCYWxhbmNlARZQYWlkTWFzc1RyYW5zZmVyQW1vdW50BBRyZWFkX2FjY291bnRfYmFsYW5jZQgJAO8HAQUEdGhpcwdyZWd1bGFyBBlyZWFkX3RvdGFsX3Bvb2xfbGlxdWlkaXR5CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUEdGhpcwIUVG90YWxfUG9vbF9MaXF1aWRpdHkCJE5vIEluaXRpYWwgUG9vbCBMaXF1aWRpdHkgd2FzIEZvdW5kLgQVcmVjZWl2ZWRfb3JkZXJfYW1vdW50CQBlAgkAZQIFFHJlYWRfYWNjb3VudF9iYWxhbmNlBRlyZWFkX3RvdGFsX3Bvb2xfbGlxdWlkaXR5BQtuZXR3b3JrX2ZlZQQUdXBkYXRlZF9wb29sX2JhbGFuY2UJAGQCCQBlAgUZcmVhZF90b3RhbF9wb29sX2xpcXVpZGl0eQUWUGFpZE1hc3NUcmFuc2ZlckFtb3VudAUVcmVjZWl2ZWRfb3JkZXJfYW1vdW50BBtQcmV2aW91c01hc3NUcmFuc2ZlckNvdW50ZXIEByRtYXRjaDAJAJoIAgUEdGhpcwIVTWFzc19UcmFuc2Zlcl9Db3VudGVyAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBhUb3RhbE1hc3NUcmFuc2ZlckNvdW50ZXIJAGQCBRtQcmV2aW91c01hc3NUcmFuc2ZlckNvdW50ZXIAAQQYUHJldmlvdXNNYXNzVHJhbnNmZXJTZW5kBAckbWF0Y2gwCQCaCAIFBHRoaXMCGFRvdGFsX01hc3NfVHJhbnNmZXJfU2VuZAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQVVG90YWxNYXNzVHJhbnNmZXJTZW5kCQBkAgUYUHJldmlvdXNNYXNzVHJhbnNmZXJTZW5kBRZQYWlkTWFzc1RyYW5zZmVyQW1vdW50AwkBAiE9AggFAWkGY2FsbGVyBSBtYXNzdHJhbnNmZXJfd2hpdGVsaXN0ZWRfYWRkcmVzcwkAAgEJAKwCAgkArAICAiVUaGlzIEFkZHJlc3MgaXMgbm90IEF1dGhvcml6ZWQuIE9ubHkgCQClCAEFIG1hc3N0cmFuc2Zlcl93aGl0ZWxpc3RlZF9hZGRyZXNzAiIgaXMgQXV0aG9yaXplZCBBZGRyZXNzIHRvIFNpZ24gaXQuAwkAZgIFFlBhaWRNYXNzVHJhbnNmZXJBbW91bnQFGXJlYWRfdG90YWxfcG9vbF9saXF1aWRpdHkJAAIBAkNQbGFjZWQgTWFzcyBUcmFuc2ZlciBBbW91bnQgU2l6ZSBpcyBtb3JlIHRoYW4gVG90YWwgUG9vbCBMaXF1aWRpdHkuCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhRUb3RhbF9Qb29sX0xpcXVpZGl0eQUUdXBkYXRlZF9wb29sX2JhbGFuY2UJAMwIAgkBDEludGVnZXJFbnRyeQICFU1hc3NfVHJhbnNmZXJfQ291bnRlcgUYVG90YWxNYXNzVHJhbnNmZXJDb3VudGVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhhUb3RhbF9NYXNzX1RyYW5zZmVyX1NlbmQFFVRvdGFsTWFzc1RyYW5zZmVyU2VuZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCkAwEFGFRvdGFsTWFzc1RyYW5zZmVyQ291bnRlcgITX01hc3NfVHJhbnNmZXJfU2VuZAUWUGFpZE1hc3NUcmFuc2ZlckFtb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQCnCAEFEWxwX2FkZHJlc3NfcHVia2V5BRZQYWlkTWFzc1RyYW5zZmVyQW1vdW50BQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAKcIAQURbHBfYWRkcmVzc19wdWJrZXkFC25ldHdvcmtfZmVlBQR1bml0BQNuaWwAh9FM7Q==", "height": 2807101, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: XXeyphCtsdMttyU7v5Zg2Q2p8aDk8p1EoM76SxYfvFP Next: 26ynoSZuP1VXpFPWujKXyXj3KmoQzBUAFxb8621FMVRE Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let user_balance_address = "3N1s2w4NHgbrXxNZXH9RtaVT9ptHRJcgSp2"
5+
46 let lp_address_pubkey = base58'9Pwum3va2xrkVwsGRNiTeGxBBBNFEDaS9sfkZiSpSvdQ'
57
68 let masstransfer_whitelisted_address = addressFromPublicKey(lp_address_pubkey)
1618 let minPaymentIdx = min(paymentIdx)
1719 let maxPaymentIdx = max(paymentIdx)
1820 func paymentsValidator (paymentAccum,nextPayment) = {
19- let $t0799836 = paymentAccum
20- let validPayments = $t0799836._1
21- let j = $t0799836._2
21+ let $t0933970 = paymentAccum
22+ let validPayments = $t0933970._1
23+ let j = $t0933970._2
2224 if ((j >= paymentsSize))
2325 then $Tuple2(validPayments, (j + 1))
2426 else {
2527 func amountsAggregator (amountAccum,nextAmount) = {
26- let $t09911020 = amountAccum
27- let amount = $t09911020._1
28- let k = $t09911020._2
28+ let $t011251154 = amountAccum
29+ let amount = $t011251154._1
30+ let k = $t011251154._2
2931 if (if ((k >= recipientsSize))
3032 then true
3133 else (paymentIdx[k] != j))
9395 let Amount = pmt.amount
9496 let maximum_payout_factor = 18
9597 let Counter = split(attachment, "_")[0]
96- let CheckTotalFundsAddedInCounter = getIntegerValue(("Total_Funds_Added_In_Option_Order_" + Counter))
98+ let CheckTotalFundsAddedInCounter = getIntegerValue(addressFromStringValue(user_balance_address), ("Total_Funds_Added_In_Option_Order_" + Counter))
9799 let masspayoutlimits = fraction(CheckTotalFundsAddedInCounter, maximum_payout_factor, 10)
98100 if ((i.caller != masstransfer_whitelisted_address))
99101 then throw((("Not an Admin only " + toString(masstransfer_whitelisted_address)) + " can sign it."))
108110 else {
109111 let recipientsSize = size(recipients)
110112 func scriptTransfersGenerator (accum,next) = {
111- let $t030003032 = accum
112- let scriptTransfers = $t030003032._1
113- let j = $t030003032._2
113+ let $t031793211 = accum
114+ let scriptTransfers = $t031793211._1
115+ let j = $t031793211._2
114116 if ((j >= recipientsSize))
115117 then $Tuple2(scriptTransfers, (j + 1))
116118 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 #-}
4+let user_balance_address = "3N1s2w4NHgbrXxNZXH9RtaVT9ptHRJcgSp2"
5+
46 let lp_address_pubkey = base58'9Pwum3va2xrkVwsGRNiTeGxBBBNFEDaS9sfkZiSpSvdQ'
57
68 let masstransfer_whitelisted_address = addressFromPublicKey(lp_address_pubkey)
79
810 let network_fee = 500000
911
1012 func validateMassTransferArguments (recipients,amounts,paymentIdx,payments) = {
1113 let recipientsSize = size(recipients)
1214 let amountsSize = size(amounts)
1315 let paymentIdxSize = size(paymentIdx)
1416 let paymentsSize = size(payments)
1517 let minAmount = min(amounts)
1618 let minPaymentIdx = min(paymentIdx)
1719 let maxPaymentIdx = max(paymentIdx)
1820 func paymentsValidator (paymentAccum,nextPayment) = {
19- let $t0799836 = paymentAccum
20- let validPayments = $t0799836._1
21- let j = $t0799836._2
21+ let $t0933970 = paymentAccum
22+ let validPayments = $t0933970._1
23+ let j = $t0933970._2
2224 if ((j >= paymentsSize))
2325 then $Tuple2(validPayments, (j + 1))
2426 else {
2527 func amountsAggregator (amountAccum,nextAmount) = {
26- let $t09911020 = amountAccum
27- let amount = $t09911020._1
28- let k = $t09911020._2
28+ let $t011251154 = amountAccum
29+ let amount = $t011251154._1
30+ let k = $t011251154._2
2931 if (if ((k >= recipientsSize))
3032 then true
3133 else (paymentIdx[k] != j))
3234 then $Tuple2(amount, (k + 1))
3335 else $Tuple2((amount + nextAmount), (k + 1))
3436 }
3537
3638 let aggregatedAmount = {
3739 let $l = amounts
3840 let $s = size($l)
3941 let $acc0 = $Tuple2(0, 0)
4042 func $f0_1 ($a,$i) = if (($i >= $s))
4143 then $a
4244 else amountsAggregator($a, $l[$i])
4345
4446 func $f0_2 ($a,$i) = if (($i >= $s))
4547 then $a
4648 else throw("List size exceeds 100")
4749
4850 $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)
4951 }
5052 if ((aggregatedAmount._1 == nextPayment.amount))
5153 then $Tuple2((validPayments + 1), (j + 1))
5254 else $Tuple2(validPayments, (j + 1))
5355 }
5456 }
5557
5658 let paymentsValidation = {
5759 let $l = payments
5860 let $s = size($l)
5961 let $acc0 = $Tuple2(0, 0)
6062 func $f0_1 ($a,$i) = if (($i >= $s))
6163 then $a
6264 else paymentsValidator($a, $l[$i])
6365
6466 func $f0_2 ($a,$i) = if (($i >= $s))
6567 then $a
6668 else throw("List size exceeds 10")
6769
6870 $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)
6971 }
7072 if (if (if (if (if (if (if (if ((recipientsSize == amountsSize))
7173 then (recipientsSize == paymentIdxSize)
7274 else false)
7375 then (recipientsSize > 0)
7476 else false)
7577 then (100 >= recipientsSize)
7678 else false)
7779 then (paymentsSize > 0)
7880 else false)
7981 then (minAmount > 0)
8082 else false)
8183 then (minPaymentIdx == 0)
8284 else false)
8385 then (maxPaymentIdx == (paymentsSize - 1))
8486 else false)
8587 then (paymentsValidation._1 == paymentsSize)
8688 else false
8789 }
8890
8991
9092 @Callable(i)
9193 func massTransfer (recipients,amounts,paymentIdx,attachment) = {
9294 let pmt = value(i.payments[0])
9395 let Amount = pmt.amount
9496 let maximum_payout_factor = 18
9597 let Counter = split(attachment, "_")[0]
96- let CheckTotalFundsAddedInCounter = getIntegerValue(("Total_Funds_Added_In_Option_Order_" + Counter))
98+ let CheckTotalFundsAddedInCounter = getIntegerValue(addressFromStringValue(user_balance_address), ("Total_Funds_Added_In_Option_Order_" + Counter))
9799 let masspayoutlimits = fraction(CheckTotalFundsAddedInCounter, maximum_payout_factor, 10)
98100 if ((i.caller != masstransfer_whitelisted_address))
99101 then throw((("Not an Admin only " + toString(masstransfer_whitelisted_address)) + " can sign it."))
100102 else if (isDefined(pmt.assetId))
101103 then throw("Only Waves is allowed to Attach as payment.")
102104 else if (!(validateMassTransferArguments(recipients, amounts, paymentIdx, i.payments)))
103105 then throw("Invalid arguments")
104106 else if (((Counter + "_Winners_Status") == "Paid"))
105107 then throw((("Mass Transfer against Counter ID: " + Counter) + " is already released."))
106108 else if ((Amount > CheckTotalFundsAddedInCounter))
107109 then throw((("Attached Payment Amount is exceeding more than Maximum Eligible Limit of " + toString(masspayoutlimits)) + " Wavelets."))
108110 else {
109111 let recipientsSize = size(recipients)
110112 func scriptTransfersGenerator (accum,next) = {
111- let $t030003032 = accum
112- let scriptTransfers = $t030003032._1
113- let j = $t030003032._2
113+ let $t031793211 = accum
114+ let scriptTransfers = $t031793211._1
115+ let j = $t031793211._2
114116 if ((j >= recipientsSize))
115117 then $Tuple2(scriptTransfers, (j + 1))
116118 else $Tuple2((scriptTransfers :+ ScriptTransfer(addressFromStringValue(recipients[j]), next, i.payments[paymentIdx[j]].assetId)), (j + 1))
117119 }
118120
119121 let result = {
120122 let $l = amounts
121123 let $s = size($l)
122124 let $acc0 = $Tuple2(nil, 0)
123125 func $f0_1 ($a,$i) = if (($i >= $s))
124126 then $a
125127 else scriptTransfersGenerator($a, $l[$i])
126128
127129 func $f0_2 ($a,$i) = if (($i >= $s))
128130 then $a
129131 else throw("List size exceeds 100")
130132
131133 $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)
132134 }
133135 $Tuple2((result._1 ++ [StringEntry((Counter + "_Winners_Status"), "Paid"), IntegerEntry((Counter + "_Eligible_Limits"), masspayoutlimits)]), unit)
134136 }
135137 }
136138
137139
138140
139141 @Callable(i)
140142 func UpdateLPBalance (PaidMassTransferAmount) = {
141143 let read_account_balance = wavesBalance(this).regular
142144 let read_total_pool_liquidity = valueOrErrorMessage(getInteger(this, "Total_Pool_Liquidity"), "No Initial Pool Liquidity was Found.")
143145 let received_order_amount = ((read_account_balance - read_total_pool_liquidity) - network_fee)
144146 let updated_pool_balance = ((read_total_pool_liquidity - PaidMassTransferAmount) + received_order_amount)
145147 let PreviousMassTransferCounter = match getInteger(this, "Mass_Transfer_Counter") {
146148 case a: Int =>
147149 a
148150 case _ =>
149151 0
150152 }
151153 let TotalMassTransferCounter = (PreviousMassTransferCounter + 1)
152154 let PreviousMassTransferSend = match getInteger(this, "Total_Mass_Transfer_Send") {
153155 case a: Int =>
154156 a
155157 case _ =>
156158 0
157159 }
158160 let TotalMassTransferSend = (PreviousMassTransferSend + PaidMassTransferAmount)
159161 if ((i.caller != masstransfer_whitelisted_address))
160162 then throw((("This Address is not Authorized. Only " + toString(masstransfer_whitelisted_address)) + " is Authorized Address to Sign it."))
161163 else if ((PaidMassTransferAmount > read_total_pool_liquidity))
162164 then throw("Placed Mass Transfer Amount Size is more than Total Pool Liquidity.")
163165 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)]
164166 }
165167
166168

github/deemru/w8io/873ac7e 
40.14 ms