tx · JCvxN8em6PvXQqLks7hGFaVhG9vmvPMaN8D96mD8oG8v

3N9Va1p9rXQcerF47J5Euf3qekbnascvvV3:  -0.01900000 Waves

2022.09.15 11:32 [2229973] smart account 3N9Va1p9rXQcerF47J5Euf3qekbnascvvV3 > SELF 0.00000000 Waves

{ "type": 13, "id": "JCvxN8em6PvXQqLks7hGFaVhG9vmvPMaN8D96mD8oG8v", "fee": 1900000, "feeAssetId": null, "timestamp": 1663230800896, "version": 2, "chainId": 84, "sender": "3N9Va1p9rXQcerF47J5Euf3qekbnascvvV3", "senderPublicKey": "DN6GkmVYEAGVKgHugczh1uWUcZJRCevjM4Lmxx1jkAiL", "proofs": [ "3Dk9nHamUSKJUkbbioQsRmJDaDkEYKFPDbqLJXbQberKx27rGEawWyGCEGoySgEKBDpcYvk3QYTwt3R84vubYkri" ], "script": "base64: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AgUAAAAIRGVjaW1hbHMFAAAACEluZGV4T3V0BQAAAAVGTE9PUgkAAZEAAAACBQAAAAZTY2FsZXMFAAAACEluZGV4T3V0BQAAAARET1dOAQAAAB1jYWxjdWxhdGVDdXJyZW50QXNzZXRJbnRlcmVzdAAAAAQAAAAHYXNzZXRJZAAAAAphc3NldElkU3RyAAAACGFCYWxhbmNlAAAAFnRva2VuRWFybmluZ3NMYXN0Q2hlY2sEAAAAC3RvdGFsU3Rha2VkCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAAEmdsb2JhbF9pbmRleFN0YWtlZAQAAAAVdG9rZW5CYWxhbmNlTGFzdENoZWNrBQAAABZ0b2tlbkVhcm5pbmdzTGFzdENoZWNrBAAAABNjdXJyZW50QmFsYW5jZURlbHRhCQAAZQAAAAIJAAPwAAAAAgUAAAAEdGhpcwUAAAAHYXNzZXRJZAUAAAAIYUJhbGFuY2UEAAAAFGN1cnJlbnRUb2tlbkVhcm5pbmdzAwkAAGYAAAACBQAAABNjdXJyZW50QmFsYW5jZURlbHRhBQAAABV0b2tlbkJhbGFuY2VMYXN0Q2hlY2sFAAAAE2N1cnJlbnRCYWxhbmNlRGVsdGEFAAAAFXRva2VuQmFsYW5jZUxhc3RDaGVjawQAAAALbmV3RWFybmluZ3MJAABlAAAAAgUAAAAUY3VycmVudFRva2VuRWFybmluZ3MFAAAAFXRva2VuQmFsYW5jZUxhc3RDaGVjawQAAAALbmV3SW50ZXJlc3QDCQAAAAAAAAIFAAAAC3RvdGFsU3Rha2VkAAAAAAAAAAAAAAAAAAAAAAAACQAAawAAAAMFAAAAC25ld0Vhcm5pbmdzBQAAAAZTY2FsZTgFAAAAC3RvdGFsU3Rha2VkBAAAABFsYXN0Q2hlY2tJbnRlcmVzdAkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAARZ2xvYmFsX2xhc3RDaGVja18FAAAACmFzc2V0SWRTdHICAAAACV9pbnRlcmVzdAkAAGQAAAACBQAAABFsYXN0Q2hlY2tJbnRlcmVzdAUAAAALbmV3SW50ZXJlc3QBAAAAC2NsYWltUmVzdWx0AAAAAgAAAAdhZGRyZXNzAAAACGFkZHJlc3MyBAAAAAphZGRyZXNzU3RyCQAEJQAAAAEFAAAAB2FkZHJlc3MEAAAADHB1enpsZUFtb3VudAkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIFAAAACmFkZHJlc3NTdHICAAAADF9pbmRleFN0YWtlZAoBAAAAB2hhbmRsZXIAAAACAAAABWFjY3VtAAAAB2Fzc2V0SWQEAAAACmFzc2V0SWRTdHIJAAJYAAAAAQUAAAAHYXNzZXRJZAQAAAAIYUJhbGFuY2UJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAICAAAAB2dsb2JhbF8JAAJYAAAAAQUAAAAHYXNzZXRJZAIAAAAIX2JhbGFuY2UEAAAAFnRva2VuRWFybmluZ3NMYXN0Q2hlY2sJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAICAAAAEWdsb2JhbF9sYXN0Q2hlY2tfBQAAAAphc3NldElkU3RyAgAAAAlfZWFybmluZ3MEAAAAFGN1cnJlbnRUb2tlbkludGVyZXN0CQEAAAAdY2FsY3VsYXRlQ3VycmVudEFzc2V0SW50ZXJlc3QAAAAEBQAAAAdhc3NldElkBQAAAAphc3NldElkU3RyBQAAAAhhQmFsYW5jZQUAAAAWdG9rZW5FYXJuaW5nc0xhc3RDaGVjawQAAAAUY3VycmVudFRva2VuRWFybmluZ3MJAAGWAAAAAQkABEwAAAACBQAAABZ0b2tlbkVhcm5pbmdzTGFzdENoZWNrCQAETAAAAAIJAABlAAAAAgkAA/AAAAACBQAAAAR0aGlzBQAAAAdhc3NldElkBQAAAAhhQmFsYW5jZQUAAAADbmlsBAAAAAxyZXdhcmRBbW91bnQJAABrAAAAAwUAAAAMcHV6emxlQW1vdW50CQAAZQAAAAIFAAAAFGN1cnJlbnRUb2tlbkludGVyZXN0CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACmFkZHJlc3NTdHICAAAAC19sYXN0Q2hlY2tfBQAAAAphc3NldElkU3RyAgAAAAlfaW50ZXJlc3QFAAAABlNjYWxlOAQAAAAIdHJhbnNmZXIDCQAAAAAAAAIFAAAADHJld2FyZEFtb3VudAAAAAAAAAAAAAUAAAAD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AAECAAAAE2dsb2JhbF9wb29sVG9rZW5faWQFAAAAB1BJc3N1ZWQGBAAAAAZyZXN1bHQJAQAAABNoYW5kbGVQb29sVG9rZW5zQWRkAAAAAwUAAAAHUElzc3VlZAgFAAAAAWkAAAAIcGF5bWVudHMIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgkABRQAAAACCQAETgAAAAIFAAAABnJlc3VsdAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAB1BJc3N1ZWQJAQAAAAx0cnlHZXRCaW5hcnkAAAABAgAAABNnbG9iYWxfcG9vbFRva2VuX2lkCQAETAAAAAIFAAAAB3JlaXNzdWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAF2dsb2JhbF9wb29sVG9rZW5fYW1vdW50CQAAZAAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQIAAAAXZ2xvYmFsX3Bvb2xUb2tlbl9hbW91bnQFAAAAB1BJc3N1ZWQFAAAAA25pbAUAAAAHUElzc3VlZAAAAAFpAQAAAApzdGFrZUluZGV4AAAAAAQAAAAKYWRkcmVzc1N0cgkABCUAAAABCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIEAAAAA3BtdAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAMJAQAAAAIhPQAAAAIJAQAAAAV2YWx1ZQAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkBAAAADHRyeUdldEJpbmFyeQAAAAECAAAAE2dsb2JhbF9wb29sVG9rZW5faWQJAAACAAAAAQIAAAAUd3JvbmcgYXNzZXQgYXR0YWNoZWQJAQAAABBpbmRleFN0YWtlUmVzdWx0AAAAAgUAAAAKYWRkcmVzc1N0cggFAAAAA3BtdAAAAAZhbW91bnQAAAABaQEAAAAMdW5zdGFrZUluZGV4AAAAAQAAAAxwdXp6bGVBbW91bnQEAAAACmFkZHJlc3NTdHIJAAQlAAAAAQgFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyBAAAAA9wdXp6bGVBdmFpbGFibGUJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACBQAAAAphZGRyZXNzU3RyAgAAAAxfaW5kZXhTdGFrZWQDCQAAZgAAAAIFAAAADHB1enpsZUFtb3VudAUAAAAPcHV6emxlQXZhaWxhYmxlCQAAAgAAAAECAAAAJXlvdSBkb24ndCBoYXZlIGluZGV4IHRva2VucyBhdmFpbGFibGUJAAROAAAAAgkBAAAAC2NsYWltUmVzdWx0AAAAAggFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAKYWRkcmVzc1N0cgIAAAAMX2luZGV4U3Rha2VkCQAAZQAAAAIFAAAAD3B1enpsZUF2YWlsYWJsZQUAAAAMcHV6emxlQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJnbG9iYWxfaW5kZXhTdGFrZWQJAABlAAAAAgkBAAAADXRyeUdldEludGVnZXIAAAABAgAAABJnbG9iYWxfaW5kZXhTdGFrZWQFAAAADHB1enpsZUFtb3VudAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAADHB1enpsZUFtb3VudAkBAAAAEUBleHRyTmF0aXZlKDEwNTcpAAAAAQIAAAATZ2xvYmFsX3Bvb2xUb2tlbl9pZAUAAAADbmlsAAAAAWkBAAAAEWNsYWltSW5kZXhSZXdhcmRzAAAAAAkBAAAAC2NsYWltUmVzdWx0AAAAAggFAAAAAWkAAAAGY2FsbGVyCAUAAAABaQAAAAZjYWxsZXIAAAABaQEAAAALcmVkZWVtSW5kZXgAAAABAAAADHNlbmRUb09yaWdpbgQAAAADcG10CQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkCQEAAAAMdHJ5R2V0QmluYXJ5AAAAAQIAAAATZ2xvYmFsX3Bvb2xUb2tlbl9pZAkAAAIAAAABAgAAAB5wbGVhc2UgYXR0YWNoIHBvb2wgc2hhcmUgdG9rZW4EAAAACVBSZWRlZW1lZAgFAAAAA3BtdAAAAAZhbW91bnQEAAAABnJlc3VsdAkBAAAAFmhhbmRsZVBvb2xUb2tlbnNSZWRlZW0AAAACBQAAAAlQUmVkZWVtZWQDBQAAAAxzZW5kVG9PcmlnaW4IBQAAAAFpAAAADG9yaWdpbkNhbGxlcggFAAAAAWkAAAAGY2FsbGVyCQAETgAAAAIFAAAABnJlc3VsdAkABEwAAAACCQEAAAAEQnVybgAAAAIJAQAAAAx0cnlHZXRCaW5hcnkAAAABAgAAABNnbG9iYWxfcG9vbFRva2VuX2lkBQAAAAlQUmVkZWVtZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAF2dsb2JhbF9wb29sVG9rZW5fYW1vdW50CQAAZQAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQIAAAAXZ2xvYmFsX3Bvb2xUb2tlbl9hbW91bnQFAAAACVBSZWRlZW1lZAUAAAADbmlsAAAAAWkBAAAAFXVuc3Rha2VBbmRSZWRlZW1JbmRleAAAAAEAAAAMcHV6emxlQW1vdW50BAAAAAphZGRyZXNzU3RyCQAEJQAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgQAAAAPcHV6emxlQXZhaWxhYmxlCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgUAAAAKYWRkcmVzc1N0cgIAAAAMX2luZGV4U3Rha2VkAwkAAGYAAAACBQAAAAxwdXp6bGVBbW91bnQFAAAAD3B1enpsZUF2YWlsYWJsZQkAAAIAAAABAgAAACV5b3UgZG9uJ3QgaGF2ZSBpbmRleCB0b2tlbnMgYXZhaWxhYmxlBAAAAAhjbGFpbVJlcwkABE4AAAACCQEAAAALY2xhaW1SZXN1bHQAAAACCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIIBQAAAAFpAAAABmNhbGxlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAphZGRyZXNzU3RyAgAAAAxfaW5kZXhTdGFrZWQJAABlAAAAAgUAAAAPcHV6emxlQXZhaWxhYmxlBQAAAAxwdXp6bGVBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAEmdsb2JhbF9pbmRleFN0YWtlZAkAAGUAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAAEmdsb2JhbF9pbmRleFN0YWtlZAUAAAAMcHV6emxlQW1vdW50BQAAAANuaWwEAAAABnJlc3VsdAkBAAAAFmhhbmRsZVBvb2xUb2tlbnNSZWRlZW0AAAACBQAAAAxwdXp6bGVBbW91bnQIBQAAAAFpAAAABmNhbGxlcgkABE4AAAACCQAETgAAAAIFAAAACGNsYWltUmVzBQAAAAZyZXN1bHQJAARMAAAAAgkBAAAABEJ1cm4AAAACCQEAAAAMdHJ5R2V0QmluYXJ5AAAAAQIAAAATZ2xvYmFsX3Bvb2xUb2tlbl9pZAUAAAAMcHV6emxlQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABdnbG9iYWxfcG9vbFRva2VuX2Ftb3VudAkAAGUAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAAF2dsb2JhbF9wb29sVG9rZW5fYW1vdW50BQAAAAxwdXp6bGVBbW91bnQFAAAAA25pbAAAAAFpAQAAAARzd2FwAAAAAgAAAAhhc3NldE91dAAAAAdtaW5pbXVtBAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAACEFtb3VudEluCQEAAAAFdmFsdWUAAAABCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQEAAAAB0Fzc2V0SW4JAQAAAAV2YWx1ZQAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAQAAAAIQXNzZXRPdXQJAAJZAAAAAQUAAAAIYXNzZXRPdXQEAAAADkFzc2V0SW5CYWxhbmNlCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAdnbG9iYWxfCQACWAAAAAEFAAAAB0Fzc2V0SW4CAAAACF9iYWxhbmNlBAAAAA9Bc3NldE91dEJhbGFuY2UJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAICAAAAB2dsb2JhbF8FAAAACGFzc2V0T3V0AgAAAAhfYmFsYW5jZQQAAAAJQW1vdW50T3V0CQEAAAASY2FsY3VsYXRlT3V0QW1vdW50AAAABQUAAAAIQW1vdW50SW4FAAAAB0Fzc2V0SW4FAAAACEFzc2V0T3V0BQAAAA5Bc3NldEluQmFsYW5jZQUAAAAPQXNzZXRPdXRCYWxhbmNlBAAAAAlmZWVBbW91bnQJAABrAAAAAwUAAAAJQW1vdW50T3V0BQAAAANGZWUFAAAACEZlZVNjYWxlBAAAABFwcm90b2NvbEZlZUFtb3VudAkAAGsAAAADBQAAAAlmZWVBbW91bnQAAAAAAAAAACgAAAAAAAAAAGQEAAAADmNsZWFuQW1vdW50T3V0CQAAZQAAAAIFAAAACUFtb3VudE91dAUAAAAJZmVlQW1vdW50AwkAAGYAAAACBQAAAAdtaW5pbXVtBQAAAA5jbGVhbkFtb3VudE91dAkAAAIAAAABCQABLAAAAAICAAAAK2Ftb3VudCB0byByZWNpZXZlIGlzIGxvd2VyIHRoYW4gZ2l2ZW4gb25lOiAJAAGkAAAAAQUAAAAOY2xlYW5BbW91bnRPdXQDCQAAZgAAAAIAAAAAAAAAJxAFAAAACEFtb3VudEluCQAAAgAAAAECAAAAHHN1bSB0byBleGNoYW5nZSBpcyB0b28gc21hbGwDCQAAZgAAAAIAAAAAAAAAAAAJAABlAAAAAgUAAAAPQXNzZXRPdXRCYWxhbmNlBQAAAAlBbW91bnRPdXQJAAACAAAAAQIAAAAbY29udHJhY3QgaXMgb3V0IG9mIHJlc2VydmVzBAAAAA9wbXRUb0FnZ3JlZ2F0b3IDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAADWxheWVyMkFkZHJlc3MJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAANZmVlQWdncmVnYXRvcgUAAAARcHJvdG9jb2xGZWVBbW91bnQFAAAACEFzc2V0T3V0BQAAAANuaWwFAAAAA25pbAkABRQAAAACCQAETgAAAAIFAAAAD3BtdFRvQWdncmVnYXRvcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAAB2dsb2JhbF8FAAAACGFzc2V0T3V0AgAAAAhfYmFsYW5jZQkAAGUAAAACBQAAAA9Bc3NldE91dEJhbGFuY2UFAAAACUFtb3VudE91dAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAAB2dsb2JhbF8JAAJYAAAAAQUAAAAHQXNzZXRJbgIAAAAIX2JhbGFuY2UJAABkAAAAAgUAAAAOQXNzZXRJbkJhbGFuY2UFAAAACEFtb3VudEluCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAOY2xlYW5BbW91bnRPdXQFAAAACEFzc2V0T3V0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAA1nbG9iYWxfdm9sdW1lCQAAZAAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQIAAAANZ2xvYmFsX3ZvbHVtZQkBAAAAEmNhbGN1bGF0ZVVzZG5WYWx1ZQAAAAMFAAAAB0Fzc2V0SW4FAAAACEFtb3VudEluBQAAAA5Bc3NldEluQmFsYW5jZQUAAAADbmlsBQAAAA5jbGVhbkFtb3VudE91dAAAAAAPdcph", "height": 2229973, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: JACMyrqpWwzWzpeSAh5Ui73RRnR4JiP9otetTkVE3qzu Next: none Diff:
OldNewDifferences
290290 then D
291291 else (D ++ [IntegerEntry((("static_" + toBase58String(b[0])) + "_scale"), g[aU]), IntegerEntry((("static_" + toBase58String(b[0])) + "_weight"), c[aU])])
292292
293- let H = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
293+ let H = [0, 1]
294294 let I = size(H)
295295 let J = nil
296296 func K (L,M) = if ((M >= I))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 10
55
66 let b = [base58'43W4FcqA1rEpSmUGHoGiXvpSLfhadws9LS5j3SJsKxxS', base58'CgidgEMbCKXXErgJXVyZCFRaK8SBNA73Jg8mNXALtVKh']
77
88 let c = [50, 50]
99
1010 let d = 2
1111
1212 let e = 0
1313
1414 let f = [8, 8, 8, 8, 8, 8, 8, 8, 8, 6]
1515
1616 let g = [100000000, 1000000]
1717
1818 let h = 200
1919
2020 let i = 10000
2121
2222 let j = 100000000
2323
2424 let k = 10000
2525
2626 let l = Address(base58'3PBmAwjkwsM83KQhjSMNZvgdFeYeLz9tdBD')
2727
2828 let m = Address(base58'3PDVDYZiwJzK3pu8vcknuLiKCYBPx6XZntG')
2929
3030 let n = b
3131
3232 func o (p) = {
3333 let q = getInteger(this, p)
3434 if ($isInstanceOf(q, "Int"))
3535 then {
3636 let r = q
3737 r
3838 }
3939 else 0
4040 }
4141
4242
4343 func s (p) = {
4444 let q = getBinary(this, p)
4545 if ($isInstanceOf(q, "ByteVector"))
4646 then {
4747 let r = q
4848 r
4949 }
5050 else base58''
5151 }
5252
5353
5454 func t (u) = {
5555 let v = toBase58String(b[u])
5656 o((("global_" + v) + "_balance"))
5757 }
5858
5959
6060 func w (x,v) = {
6161 let y = o("global_poolToken_amount")
6262 let z = o((("global_" + toBase58String(v)) + "_balance"))
6363 fraction(x, y, z, DOWN)
6464 }
6565
6666
6767 func A (B) = {
6868 func C (D,E) = {
6969 let F = w(E.amount, value(E.assetId))
7070 if (if ((D == 0))
7171 then true
7272 else (D > F))
7373 then F
7474 else D
7575 }
7676
7777 let G = {
7878 let H = B
7979 let I = size(H)
8080 let J = 0
8181 func K (L,M) = if ((M >= I))
8282 then L
8383 else C(L, H[M])
8484
8585 func N (L,M) = if ((M >= I))
8686 then L
8787 else throw("List size exceeds 2")
8888
8989 N(K(K(J, 0), 1), 2)
9090 }
9191 G
9292 }
9393
9494
9595 func O (P,x,Q) = {
9696 let R = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
9797 let S = value(indexOf(b, R))
9898 let T = c[S]
9999 let U = c[S]
100100 let V = o((("global_" + toBase58String(R)) + "_balance"))
101101 (fraction(x, V, T) / (Q / U))
102102 }
103103
104104
105105 func W (B) = {
106106 func X (D,Y) = (D ++ [value(Y.assetId)])
107107
108108 let Z = {
109109 let H = B
110110 let I = size(H)
111111 let J = nil
112112 func K (L,M) = if ((M >= I))
113113 then L
114114 else X(L, H[M])
115115
116116 func N (L,M) = if ((M >= I))
117117 then L
118118 else throw("List size exceeds 2")
119119
120120 N(K(K(J, 0), 1), 2)
121121 }
122122 if ((Z == Z))
123123 then {
124124 func aa (D,P) = if ((indexOf(Z, P) != unit))
125125 then (D + 1)
126126 else throw(("asset not attached: " + toBase58String(P)))
127127
128128 let ab = {
129129 let H = b
130130 let I = size(H)
131131 let J = 0
132132 func ac (L,M) = if ((M >= I))
133133 then L
134134 else aa(L, H[M])
135135
136136 func ad (L,M) = if ((M >= I))
137137 then L
138138 else throw("List size exceeds 2")
139139
140140 ad(ac(ac(J, 0), 1), 2)
141141 }
142142 if ((ab == ab))
143143 then true
144144 else throw("Strict value is not equal to itself.")
145145 }
146146 else throw("Strict value is not equal to itself.")
147147 }
148148
149149
150150 func ae (F,B,af) = {
151151 func ag (v) = {
152152 func C (D,Y) = if ((Y.assetId == v))
153153 then Y.amount
154154 else D
155155
156156 let H = B
157157 let I = size(H)
158158 let J = 0
159159 func K (L,M) = if ((M >= I))
160160 then L
161161 else C(L, H[M])
162162
163163 func N (L,M) = if ((M >= I))
164164 then L
165165 else throw("List size exceeds 2")
166166
167167 N(K(K(J, 0), 1), 2)
168168 }
169169
170170 func ah (D,v) = {
171171 let ai = o((("global_" + toBase58String(v)) + "_balance"))
172172 let aj = o("global_poolToken_amount")
173173 let ak = o((("static_" + toBase58String(v)) + "_scale"))
174174 let al = fraction((fraction((aj + F), ak, aj, DOWN) - ak), ai, ak, DOWN)
175175 let am = ag(v)
176176 let an = ((if ((am != 0))
177177 then am
178178 else 0) - al)
179179 (D ++ [IntegerEntry((("global_" + toBase58String(v)) + "_balance"), (ai + al)), ScriptTransfer(af, an, v)])
180180 }
181181
182182 let H = b
183183 let I = size(H)
184184 let J = nil
185185 func K (L,M) = if ((M >= I))
186186 then L
187187 else ah(L, H[M])
188188
189189 func N (L,M) = if ((M >= I))
190190 then L
191191 else throw("List size exceeds 2")
192192
193193 N(K(K(J, 0), 1), 2)
194194 }
195195
196196
197197 func ao (ap,af) = {
198198 func aq (D,v) = {
199199 let ai = o((("global_" + toBase58String(v)) + "_balance"))
200200 let aj = o("global_poolToken_amount")
201201 let ak = o((("static_" + toBase58String(v)) + "_scale"))
202202 let x = fraction((ak - fraction((aj - ap), ak, aj, DOWN)), ai, ak, DOWN)
203203 (D ++ [IntegerEntry((("global_" + toBase58String(v)) + "_balance"), (ai - x)), ScriptTransfer(af, x, v)])
204204 }
205205
206206 let H = b
207207 let I = size(H)
208208 let J = nil
209209 func K (L,M) = if ((M >= I))
210210 then L
211211 else aq(L, H[M])
212212
213213 func N (L,M) = if ((M >= I))
214214 then L
215215 else throw("List size exceeds 2")
216216
217217 N(K(K(J, 0), 1), 2)
218218 }
219219
220220
221221 func ar (as,at,au,av,aw) = {
222222 let ax = value(indexOf(b, at))
223223 let ay = value(indexOf(b, au))
224224 if ((ax == ay))
225225 then throw("invalid tokens pair")
226226 else fraction(aw, (g[ay] - pow(((av * g[ax]) / (av + as)), f[ax], fraction(c[ax], 10000, c[ay]), 4, f[ay], FLOOR)), g[ay], DOWN)
227227 }
228228
229229
230230 func az (P,aA,Q,aB) = {
231231 let aC = o("global_indexStaked")
232232 let aD = aB
233233 let aE = (assetBalance(this, P) - Q)
234234 let aF = if ((aE > aD))
235235 then aE
236236 else aD
237237 let aG = (aF - aD)
238238 let aH = if ((aC == 0))
239239 then 0
240240 else fraction(aG, j, aC)
241241 let aI = o((("global_lastCheck_" + aA) + "_interest"))
242242 (aI + aH)
243243 }
244244
245245
246246 func aJ (aK,aL) = {
247247 let aM = toString(aK)
248248 let aN = o((aM + "_indexStaked"))
249249 func C (D,P) = {
250250 let aA = toBase58String(P)
251251 let Q = o((("global_" + toBase58String(P)) + "_balance"))
252252 let aB = o((("global_lastCheck_" + aA) + "_earnings"))
253253 let aO = az(P, aA, Q, aB)
254254 let aF = max([aB, (assetBalance(this, P) - Q)])
255255 let aP = fraction(aN, (aO - o((((aM + "_lastCheck_") + aA) + "_interest"))), j)
256256 let aQ = if ((aP == 0))
257257 then nil
258258 else [ScriptTransfer(aL, aP, P)]
259259 $Tuple2(((D._1 ++ aQ) ++ [IntegerEntry((("global_lastCheck_" + aA) + "_earnings"), (aF - aP)), IntegerEntry((("global_lastCheck_" + aA) + "_interest"), aO), IntegerEntry((((aM + "_lastCheck_") + aA) + "_interest"), aO)]), (D._2 + O(P, aP, Q)))
260260 }
261261
262262 let D = {
263263 let H = n
264264 let I = size(H)
265265 let J = $Tuple2(nil, 0)
266266 func K (L,M) = if ((M >= I))
267267 then L
268268 else C(L, H[M])
269269
270270 func N (L,M) = if ((M >= I))
271271 then L
272272 else throw("List size exceeds 2")
273273
274274 N(K(K(J, 0), 1), 2)
275275 }
276276 (D._1 ++ [IntegerEntry((aM + "_claimedRewardValue"), (o((aM + "_claimedRewardValue")) + D._2)), IntegerEntry((aM + "_lastClaim"), lastBlock.timestamp)])
277277 }
278278
279279
280280 func aR (aM,x) = {
281281 let aK = addressFromStringValue(aM)
282282 let aS = aJ(aK, aK)
283283 (aS ++ [IntegerEntry((aM + "_indexStaked"), (o((aM + "_indexStaked")) + x)), IntegerEntry("global_indexStaked", (o("global_indexStaked") + x))])
284284 }
285285
286286
287287 @Callable(aT)
288288 func preInit () = {
289289 func C (D,aU) = if ((aU >= a))
290290 then D
291291 else (D ++ [IntegerEntry((("static_" + toBase58String(b[0])) + "_scale"), g[aU]), IntegerEntry((("static_" + toBase58String(b[0])) + "_weight"), c[aU])])
292292
293- let H = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
293+ let H = [0, 1]
294294 let I = size(H)
295295 let J = nil
296296 func K (L,M) = if ((M >= I))
297297 then L
298298 else C(L, H[M])
299299
300300 func N (L,M) = if ((M >= I))
301301 then L
302302 else throw("List size exceeds 2")
303303
304304 N(K(K(J, 0), 1), 2)
305305 }
306306
307307
308308
309309 @Callable(aT)
310310 func deInit () = if ((aT.caller != this))
311311 then throw("admin only")
312312 else [IntegerEntry("global_wasInited", 0)]
313313
314314
315315
316316 @Callable(aT)
317317 func init () = {
318318 func aV () = {
319319 func C (D,aW) = (D ++ [IntegerEntry((("global_" + toBase58String(value(aW.assetId))) + "_balance"), aW.amount)])
320320
321321 let H = aT.payments
322322 let I = size(H)
323323 let J = nil
324324 func K (L,M) = if ((M >= I))
325325 then L
326326 else C(L, H[M])
327327
328328 func N (L,M) = if ((M >= I))
329329 then L
330330 else throw("List size exceeds 2")
331331
332332 N(K(K(J, 0), 1), 2)
333333 }
334334
335335 func aX (B) = {
336336 func C (D,aY) = {
337337 let P = value(aY.assetId)
338338 func aa (D,aW) = if ((aW == P))
339339 then value(indexOf(b, aW))
340340 else D
341341
342342 let aZ = {
343343 let H = b
344344 let I = size(H)
345345 let J = 1
346346 func K (L,M) = if ((M >= I))
347347 then L
348348 else aa(L, H[M])
349349
350350 func N (L,M) = if ((M >= I))
351351 then L
352352 else throw("List size exceeds 2")
353353
354354 N(K(K(J, 0), 1), 2)
355355 }
356356 (D * pow(aY.amount, f[aZ], c[aZ], d, 1, FLOOR))
357357 }
358358
359359 let H = B
360360 let I = size(H)
361361 let J = 1
362362 func K (L,M) = if ((M >= I))
363363 then L
364364 else C(L, H[M])
365365
366366 func N (L,M) = if ((M >= I))
367367 then L
368368 else throw("List size exceeds 2")
369369
370370 N(K(K(J, 0), 1), 2)
371371 }
372372
373373 if ((o("global_wasInited") > 0))
374374 then throw("pool already inited")
375375 else {
376376 let ba = aX(aT.payments)
377377 let bb = Issue("PT", "Pool Token", ba, e, true, unit, 0)
378378 let bc = calculateAssetId(bb)
379379 (aV() ++ [bb, IntegerEntry("global_poolToken_amount", ba), IntegerEntry("global_wasInited", 1), BinaryEntry("global_poolToken_id", bc), ScriptTransfer(aT.caller, ba, bc)])
380380 }
381381 }
382382
383383
384384
385385 @Callable(aT)
386386 func generateIndex () = if ((size(aT.payments) != a))
387387 then throw(("you need to attach all pool tokens. amount of pool tokens: " + toString(a)))
388388 else if (!(W(aT.payments)))
389389 then throw("wrong assets attached")
390390 else {
391391 let F = A(aT.payments)
392392 let bd = Reissue(getBinaryValue("global_poolToken_id"), F, true)
393393 let be = ae(F, aT.payments, aT.originCaller)
394394 $Tuple2((be ++ [ScriptTransfer(aT.caller, F, s("global_poolToken_id")), bd, IntegerEntry("global_poolToken_amount", (o("global_poolToken_amount") + F))]), F)
395395 }
396396
397397
398398
399399 @Callable(aT)
400400 func stakeIndex () = {
401401 let aM = toString(aT.originCaller)
402402 let aY = aT.payments[0]
403403 if ((value(aY.assetId) != s("global_poolToken_id")))
404404 then throw("wrong asset attached")
405405 else aR(aM, aY.amount)
406406 }
407407
408408
409409
410410 @Callable(aT)
411411 func unstakeIndex (aN) = {
412412 let aM = toString(aT.originCaller)
413413 let bf = o((aM + "_indexStaked"))
414414 if ((aN > bf))
415415 then throw("you don't have index tokens available")
416416 else (aJ(aT.originCaller, aT.originCaller) ++ [IntegerEntry((aM + "_indexStaked"), (bf - aN)), IntegerEntry("global_indexStaked", (o("global_indexStaked") - aN)), ScriptTransfer(aT.caller, aN, getBinaryValue("global_poolToken_id"))])
417417 }
418418
419419
420420
421421 @Callable(aT)
422422 func claimIndexRewards () = aJ(aT.caller, aT.caller)
423423
424424
425425
426426 @Callable(aT)
427427 func redeemIndex (bg) = {
428428 let aY = aT.payments[0]
429429 if ((aY.assetId != s("global_poolToken_id")))
430430 then throw("please attach pool share token")
431431 else {
432432 let ap = aY.amount
433433 let be = ao(ap, if (bg)
434434 then aT.originCaller
435435 else aT.caller)
436436 (be ++ [Burn(s("global_poolToken_id"), ap), IntegerEntry("global_poolToken_amount", (o("global_poolToken_amount") - ap))])
437437 }
438438 }
439439
440440
441441
442442 @Callable(aT)
443443 func unstakeAndRedeemIndex (aN) = {
444444 let aM = toString(aT.originCaller)
445445 let bf = o((aM + "_indexStaked"))
446446 if ((aN > bf))
447447 then throw("you don't have index tokens available")
448448 else {
449449 let bh = (aJ(aT.originCaller, aT.caller) ++ [IntegerEntry((aM + "_indexStaked"), (bf - aN)), IntegerEntry("global_indexStaked", (o("global_indexStaked") - aN))])
450450 let be = ao(aN, aT.caller)
451451 ((bh ++ be) ++ [Burn(s("global_poolToken_id"), aN), IntegerEntry("global_poolToken_amount", (o("global_poolToken_amount") - aN))])
452452 }
453453 }
454454
455455
456456
457457 @Callable(aT)
458458 func swap (au,bi) = {
459459 let aY = value(aT.payments[0])
460460 let as = value(aT.payments[0].amount)
461461 let bj = value(aY.assetId)
462462 let bk = fromBase58String(au)
463463 let bl = o((("global_" + toBase58String(bj)) + "_balance"))
464464 let bm = o((("global_" + au) + "_balance"))
465465 let bn = ar(as, bj, bk, bl, bm)
466466 let bo = fraction(bn, h, k)
467467 let bp = fraction(bo, 40, 100)
468468 let bq = (bn - bo)
469469 if ((bi > bq))
470470 then throw(("amount to recieve is lower than given one: " + toString(bq)))
471471 else if ((10000 > as))
472472 then throw("sum to exchange is too small")
473473 else if ((0 > (bm - bn)))
474474 then throw("contract is out of reserves")
475475 else {
476476 let br = if ((aT.caller != m))
477477 then [ScriptTransfer(l, bp, bk)]
478478 else nil
479479 $Tuple2((br ++ [IntegerEntry((("global_" + au) + "_balance"), (bm - bn)), IntegerEntry((("global_" + toBase58String(bj)) + "_balance"), (bl + as)), ScriptTransfer(aT.caller, bq, bk), IntegerEntry("global_volume", (o("global_volume") + O(bj, as, bl)))]), bq)
480480 }
481481 }
482482
483483

github/deemru/w8io/c3f4982 
56.36 ms