tx · GX4KLZSE1G1PjG43pacLim3YPnzY96vYVHG2EpwDN18R

3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez:  -0.01000000 Waves

2023.11.10 12:53 [2837093] smart account 3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez > SELF 0.00000000 Waves

{ "type": 13, "id": "GX4KLZSE1G1PjG43pacLim3YPnzY96vYVHG2EpwDN18R", "fee": 1000000, "feeAssetId": null, "timestamp": 1699610094529, "version": 2, "chainId": 84, "sender": "3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez", "senderPublicKey": "Brp6cacBXyKUcZr5Uc6VDKsnFcaEeQ8nQzrZQyobDsuf", "proofs": [ "5SgmuYcUyzm7jgM18hDQYy19twxDEuYZgkQhxg1vbqrHuRDAFc2Yp1krheX3nkS6WXsgXtH95XmHhXrA7nsoiqTZ" ], "script": "base64:BgIUCAISABIAEgASABIDCgEIEgMKARgSAAJkOACAwtcvAQ10cnlHZXRJbnRlZ2VyAgdhZGRyZXNzA2tleQQHJG1hdGNoMAkAmggCBQdhZGRyZXNzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAABDHRyeUdldFN0cmluZwIHYWRkcmVzcwNrZXkEByRtYXRjaDAJAJ0IAgUHYWRkcmVzcwUDa2V5AwkAAQIFByRtYXRjaDACBlN0cmluZwQBYgUHJG1hdGNoMAUBYgIAAAdidXJueHRuASAkT3V5an4zObj7DP+EqXFcXsot3jOgxF1p+epEEexMVAADUFoxARoBV4WdLDDV/AM+YcWt3pK/xSqR85muGkFACgADUFoyARoBV/VGaCeADWjfTiZ1erSh0ygx4Am/9Xl5NwADUFozARoBV2tSHeFnXWIznET2mm8K7tVVyNog/OzmxwADUFo0ARoBV3y58iQseR35wgthXaflS34+Zvgx2eQg4gADUFo1ARoBV3MzW4tWeScsR41xkPYsILP5P0KX/ZxF0gADUFo2ARoBV0cdZvqwlGFolgcyrrZA46H/c85PJthHugAHV1hzdGFrZQEaAVfrO+d+bgUYwpGkmBYX4WbXRScg7iVJVqgAA1dYMQEaAVcr4q5xe33JMLUgeecWxWttV0CBpTgWPT4AA0xQMQIsR3lpSGRjTjU5c1o0NmJhRnZqNjhydUxuZ3JUUEV2V0R0c2Q2akhtNG80Nm4AA1dYMgEaAVfBF8tIQs4FU0OKR1yIZ5T0F9XHwtTUw1IAA0xQMgIsM01QSE1KVndZR3llQkxSc0gxUnNZaHJUbWVtdjc1MkFFQnd1RkZWN2c0OVoBBVBaYmFsAgtQb29sYWRkcmVzcwdhZGRyZXNzBAtidXJueHRuSW5QWgkBDXRyeUdldEludGVnZXICCQEHQWRkcmVzcwEFC1Bvb2xhZGRyZXNzCQCsAgIJAKwCAgIHZ2xvYmFsXwkA2AQBBQdidXJueHRuAghfYmFsYW5jZQQOYWRkcmVzc1N0YWtlUFoJAQ10cnlHZXRJbnRlZ2VyAgkBB0FkZHJlc3MBBQtQb29sYWRkcmVzcwkArAICCQClCAEFB2FkZHJlc3MCDF9pbmRleFN0YWtlZAQMdG90YWxTdGFrZVBaCQENdHJ5R2V0SW50ZWdlcgIJAQdBZGRyZXNzAQULUG9vbGFkZHJlc3MCF2dsb2JhbF9wb29sVG9rZW5fYW1vdW50CQBrAwULYnVybnh0bkluUFoFDmFkZHJlc3NTdGFrZVBaBQx0b3RhbFN0YWtlUFoBBVdYYmFsAwtQb29sYWRkcmVzcwdhZGRyZXNzBUxQc3RyBAtidXJueHRuSW5XWAkA8AcCCQEHQWRkcmVzcwEFC1Bvb2xhZGRyZXNzBQdidXJueHRuBA5hZGRyZXNzU3Rha2VXWAkBDXRyeUdldEludGVnZXICCQEHQWRkcmVzcwEFB1dYc3Rha2UJAKwCAgkArAICCQCsAgICECVzJXMlc19fc3Rha2VkX18JAKUIAQUHYWRkcmVzcwICX18FBUxQc3RyBAx0b3RhbFN0YWtlV1gJAQ10cnlHZXRJbnRlZ2VyAgkBB0FkZHJlc3MBBQdXWHN0YWtlCQCsAgICFyVzJXMlc19fc3Rha2VkX190b3RhbF9fBQVMUHN0cgkAawMFC2J1cm54dG5JbldYBQ5hZGRyZXNzU3Rha2VXWAUMdG90YWxTdGFrZVdYAQx0b3RhbEJhbGFuY2UBB2FkZHJlc3MEDmJ1cm54dG5CYWxhbmNlCQDwBwIFB2FkZHJlc3MFB2J1cm54dG4EClBaMWJhbGFuY2UJAQVQWmJhbAIFA1BaMQUHYWRkcmVzcwQKUFoyYmFsYW5jZQkBBVBaYmFsAgUDUFoyBQdhZGRyZXNzBApQWjNiYWxhbmNlCQEFUFpiYWwCBQNQWjMFB2FkZHJlc3MEClBaNGJhbGFuY2UJAQVQWmJhbAIFA1BaNAUHYWRkcmVzcwQKUFo1YmFsYW5jZQkBBVBaYmFsAgUDUFo1BQdhZGRyZXNzBApQWjZiYWxhbmNlCQEFUFpiYWwCBQNQWjYFB2FkZHJlc3MECldYMWJhbGFuY2UJAQVXWGJhbAMFA1dYMQUHYWRkcmVzcwUDTFAxBApXWDJiYWxhbmNlCQEFV1hiYWwDBQNXWDIFB2FkZHJlc3MFA0xQMgQFdG90YWwJAGQCCQBkAgkAZAIJAGQCCQBkAgkAZAIJAGQCCQBkAgUOYnVybnh0bkJhbGFuY2UFClBaMWJhbGFuY2UFClBaMmJhbGFuY2UFClBaM2JhbGFuY2UFClBaNGJhbGFuY2UFClBaNWJhbGFuY2UFClBaNmJhbGFuY2UFCldYMWJhbGFuY2UFCldYMmJhbGFuY2UJAMwIAgkBDEludGVnZXJFbnRyeQICDmJ1cm54dG5CYWxhbmNlBQ5idXJueHRuQmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIKUFoxYmFsYW5jZQUKUFoxYmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIKUFoyYmFsYW5jZQUKUFoyYmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIKUFozYmFsYW5jZQUKUFozYmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIKUFo0YmFsYW5jZQUKUFo0YmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIKUFo1YmFsYW5jZQUKUFo1YmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIKUFo2YmFsYW5jZQUKUFo2YmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIKV1gxYmFsYW5jZQUKV1gxYmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIKV1gyYmFsYW5jZQUKV1gyYmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIFdG90YWwFBXRvdGFsBQNuaWwGAWkBCHJlZ2lzdGVyAAMJAQhjb250YWlucwIJAQx0cnlHZXRTdHJpbmcCBQR0aGlzAhJBZGRyZXNzIHJlZ2lzdGVyZWQJAKUIAQgFAWkGY2FsbGVyCQACAQISYWxyZWFkeSByZWdpc3RlcmVkAwkAZgIFBmhlaWdodAABCQACAQITcmVnaXN0cmF0aW9uIGNsb3NlZAkAzAgCCQEMSW50ZWdlckVudHJ5AgIRQW1vdW50IFJlZ2lzdGVyZWQJAGQCCQENdHJ5R2V0SW50ZWdlcgIFBHRoaXMCEUFtb3VudCBSZWdpc3RlcmVkAAEJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICAhJSZWdpc3RlciBhZGRyZXNzOiAJAKQDAQkAZAIJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwIRQW1vdW50IFJlZ2lzdGVyZWQAAQkApQgBCAUBaQZjYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgISQWRkcmVzcyByZWdpc3RlcmVkCQCsAgIJAKwCAgkBDHRy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ZgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIVTGlzdCBzaXplIGV4Y2VlZHMgMTAwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEF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", "height": 2837093, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7DbV1xz9vjp3ktDBZzWhs1FHLdXuxTVkW423B4dZ5S6L Next: AALpvpGky4mBaNXZmAUnDq7otXuYbVCazTxBD9yGuido Diff:
OldNewDifferences
134134 let addresses = dropRight(tryGetString(this, "Addresses Eligible"), 1)
135135 let list = split(addresses, ",")
136136 let listSize = size(list)
137- func dif (accum,address) = (accum ++ [IntegerEntry(address, (wavesBalance(addressFromStringValue(address)).available - tryGetInteger(this, address)))])
137+ let firstOfList = list[0]
138+ let lastOfList = list[(listSize - 1)]
139+ func dif (accum,address) = (accum ++ [IntegerEntry(("difference " + address), (wavesBalance(addressFromStringValue(address)).available - tryGetInteger(this, address)))])
138140
139141 let enterDif = {
140142 let $l = list
150152
151153 $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)
152154 }
153- (nil ++ enterDif)
155+ ([IntegerEntry("listSize", listSize), StringEntry("firstOfList", firstOfList), StringEntry("lastOfList", lastOfList)] ++ enterDif)
154156 }
155157
156158
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let d8 = 100000000
55
66 func tryGetInteger (address,key) = match getInteger(address, key) {
77 case b: Int =>
88 b
99 case _ =>
1010 0
1111 }
1212
1313
1414 func tryGetString (address,key) = match getString(address, key) {
1515 case b: String =>
1616 b
1717 case _ =>
1818 ""
1919 }
2020
2121
2222 let burnxtn = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns'
2323
2424 let PZ1 = base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'
2525
2626 let PZ2 = base58'3PQHndCUVrv3wBuQjbvVP9SnGmfbfitGxfx'
2727
2828 let PZ3 = base58'3PBiMQLnX8wd4bssXCgF8KuUqHv1H4zWHGi'
2929
3030 let PZ4 = base58'3PDJPGn6vBEBqWN4E3fNcxoKBoDXbsmoaM7'
3131
3232 let PZ5 = base58'3PCS1xhGQi2eM5mYcCBhUSHvB31Kk5gZoCm'
3333
3434 let PZ6 = base58'3P8Quvmgt3VEWAjBR3bsfgCqzUh7zTmTC4q'
3535
3636 let WXstake = base58'3PPNhHYkkEy13gRWDCaruQyhNbX2GrjYSyV'
3737
3838 let WX1 = base58'3P5vwLbXddLWpsRspftMxLuzfsjk3dLT3n5'
3939
4040 let LP1 = "GyiHdcN59sZ46baFvj68ruLngrTPEvWDtsd6jHm4o46n"
4141
4242 let WX2 = base58'3PKXseWa31VUSWUvm2YiRKxW2VM9RsVk3ry'
4343
4444 let LP2 = "3MPHMJVwYGyeBLRsH1RsYhrTmemv752AEBwuFFV7g49Z"
4545
4646 func PZbal (Pooladdress,address) = {
4747 let burnxtnInPZ = tryGetInteger(Address(Pooladdress), (("global_" + toBase58String(burnxtn)) + "_balance"))
4848 let addressStakePZ = tryGetInteger(Address(Pooladdress), (toString(address) + "_indexStaked"))
4949 let totalStakePZ = tryGetInteger(Address(Pooladdress), "global_poolToken_amount")
5050 fraction(burnxtnInPZ, addressStakePZ, totalStakePZ)
5151 }
5252
5353
5454 func WXbal (Pooladdress,address,LPstr) = {
5555 let burnxtnInWX = assetBalance(Address(Pooladdress), burnxtn)
5656 let addressStakeWX = tryGetInteger(Address(WXstake), ((("%s%s%s__staked__" + toString(address)) + "__") + LPstr))
5757 let totalStakeWX = tryGetInteger(Address(WXstake), ("%s%s%s__staked__total__" + LPstr))
5858 fraction(burnxtnInWX, addressStakeWX, totalStakeWX)
5959 }
6060
6161
6262 func totalBalance (address) = {
6363 let burnxtnBalance = assetBalance(address, burnxtn)
6464 let PZ1balance = PZbal(PZ1, address)
6565 let PZ2balance = PZbal(PZ2, address)
6666 let PZ3balance = PZbal(PZ3, address)
6767 let PZ4balance = PZbal(PZ4, address)
6868 let PZ5balance = PZbal(PZ5, address)
6969 let PZ6balance = PZbal(PZ6, address)
7070 let WX1balance = WXbal(WX1, address, LP1)
7171 let WX2balance = WXbal(WX2, address, LP2)
7272 let total = ((((((((burnxtnBalance + PZ1balance) + PZ2balance) + PZ3balance) + PZ4balance) + PZ5balance) + PZ6balance) + WX1balance) + WX2balance)
7373 [IntegerEntry("burnxtnBalance", burnxtnBalance), IntegerEntry("PZ1balance", PZ1balance), IntegerEntry("PZ2balance", PZ2balance), IntegerEntry("PZ3balance", PZ3balance), IntegerEntry("PZ4balance", PZ4balance), IntegerEntry("PZ5balance", PZ5balance), IntegerEntry("PZ6balance", PZ6balance), IntegerEntry("WX1balance", WX1balance), IntegerEntry("WX2balance", WX2balance), IntegerEntry("total", total)]
7474 }
7575
7676
7777 @Callable(i)
7878 func register () = if (contains(tryGetString(this, "Address registered"), toString(i.caller)))
7979 then throw("already registered")
8080 else if ((height > 1))
8181 then throw("registration closed")
8282 else [IntegerEntry("Amount Registered", (tryGetInteger(this, "Amount Registered") + 1)), StringEntry(("Register address: " + toString((tryGetInteger(this, "Amount Registered") + 1))), toString(i.caller)), StringEntry("Address registered", ((tryGetString(this, "Address registered") + toString(i.caller)) + ","))]
8383
8484
8585
8686 @Callable(i)
8787 func makeList () = {
8888 let addresses = dropRight(tryGetString(this, "Address registered"), 1)
8989 let list = split(addresses, ",")
9090 let listSize = size(list)
9191 func bal (accum,address) = if (((1 * d8) > wavesBalance(addressFromStringValue(address)).available))
9292 then nil
9393 else (accum ++ [IntegerEntry(address, wavesBalance(addressFromStringValue(address)).available)])
9494
9595 let enterIntegers = {
9696 let $l = list
9797 let $s = size($l)
9898 let $acc0 = nil
9999 func $f0_1 ($a,$i) = if (($i >= $s))
100100 then $a
101101 else bal($a, $l[$i])
102102
103103 func $f0_2 ($a,$i) = if (($i >= $s))
104104 then $a
105105 else throw("List size exceeds 100")
106106
107107 $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)
108108 }
109109 func eli (accum,address) = if (((1 * d8) > wavesBalance(addressFromStringValue(address)).available))
110110 then nil
111111 else [StringEntry("Addresses Eligible", ((tryGetString(this, "Addresses Eligible") + address) + ","))]
112112
113113 let eligble = {
114114 let $l = list
115115 let $s = size($l)
116116 let $acc0 = nil
117117 func $f1_1 ($a,$i) = if (($i >= $s))
118118 then $a
119119 else eli($a, $l[$i])
120120
121121 func $f1_2 ($a,$i) = if (($i >= $s))
122122 then $a
123123 else throw("List size exceeds 100")
124124
125125 $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_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)
126126 }
127127 ((nil ++ enterIntegers) ++ eligble)
128128 }
129129
130130
131131
132132 @Callable(i)
133133 func difference () = {
134134 let addresses = dropRight(tryGetString(this, "Addresses Eligible"), 1)
135135 let list = split(addresses, ",")
136136 let listSize = size(list)
137- func dif (accum,address) = (accum ++ [IntegerEntry(address, (wavesBalance(addressFromStringValue(address)).available - tryGetInteger(this, address)))])
137+ let firstOfList = list[0]
138+ let lastOfList = list[(listSize - 1)]
139+ func dif (accum,address) = (accum ++ [IntegerEntry(("difference " + address), (wavesBalance(addressFromStringValue(address)).available - tryGetInteger(this, address)))])
138140
139141 let enterDif = {
140142 let $l = list
141143 let $s = size($l)
142144 let $acc0 = nil
143145 func $f0_1 ($a,$i) = if (($i >= $s))
144146 then $a
145147 else dif($a, $l[$i])
146148
147149 func $f0_2 ($a,$i) = if (($i >= $s))
148150 then $a
149151 else throw("List size exceeds 100")
150152
151153 $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)
152154 }
153- (nil ++ enterDif)
155+ ([IntegerEntry("listSize", listSize), StringEntry("firstOfList", firstOfList), StringEntry("lastOfList", lastOfList)] ++ enterDif)
154156 }
155157
156158
157159
158160 @Callable(i)
159161 func totalBalanceCaller () = (nil ++ totalBalance(i.caller))
160162
161163
162164
163165 @Callable(i)
164166 func totalBalanceAddress (address) = (nil ++ totalBalance(value(addressFromString(address))))
165167
166168
167169
168170 @Callable(i)
169171 func transfer (addresses) = {
170172 let assetId = i.payments[0].assetId
171173 let amount = i.payments[0].amount
172174 let amountPerAddress = (amount / size(addresses))
173175 func f (accum,address) = (accum ++ [ScriptTransfer(addressFromStringValue(address), amountPerAddress, assetId)])
174176
175177 let $l = addresses
176178 let $s = size($l)
177179 let $acc0 = nil
178180 func $f0_1 ($a,$i) = if (($i >= $s))
179181 then $a
180182 else f($a, $l[$i])
181183
182184 func $f0_2 ($a,$i) = if (($i >= $s))
183185 then $a
184186 else throw("List size exceeds 100")
185187
186188 $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)
187189 }
188190
189191

github/deemru/w8io/026f985 
41.00 ms