tx · 2GAjtyLj88beJnhyWe4iLjFazENSowTdnEqBa9s5eHJ7

3N61Cvq5XcnPk9rxpy2Rnp3bSr4syNGUJph:  -0.01400000 Waves

2021.11.05 17:20 [1777798] smart account 3N61Cvq5XcnPk9rxpy2Rnp3bSr4syNGUJph > SELF 0.00000000 Waves

{ "type": 13, "id": "2GAjtyLj88beJnhyWe4iLjFazENSowTdnEqBa9s5eHJ7", "fee": 1400000, "feeAssetId": null, "timestamp": 1636122046601, "version": 2, "chainId": 84, "sender": "3N61Cvq5XcnPk9rxpy2Rnp3bSr4syNGUJph", "senderPublicKey": "G7cNXePvAHUHmZfXa1eHnvFeH6DuykPC5wm9v9djTKgD", "proofs": [ "4QU3mt2UTpiPBUTHzr2bnpf5wPjp9bGg9MHdKXv9LZzy152dUfhok912MHXn6UxYQkzi9ZhFJdGkSkFmmiVTu5VV" ], "script": "base64:AAIFAAAAAAAAABkIAhIAEgYKBBgYGBESABIDCgEIEgQKAggBAAAAAwAAAAAKZGVwb3NpdEZlZQAAAAAAAAAD6AAAAAANY29udHJvbGxlckZlZQAAAAAAAAAnEAAAAAALcGxhdGZvcm1GZWUAAAAAAAAAJxAAAAAFAAAAAmE4AQAAAARpbml0AAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAxM1BQSDd4N2lxb2JXNXppeWlSQ2ljMTlyUXFLcjZuUFlhSzFfYXNzZXRfYmFsYW5jZQAAAAAAAG3UrQUAAAADbmlsAAAAAWkBAAAACGFkZFBvb2xzAAAABAAAAAVwb29scwAAAA9saXF1aWRpdHlUb2tlbnMAAAANc2VydmljZVRva2VucwAAABZsaXF1aWRpdHlUb2tlbkRlY2ltYWxzCgEAAAAQZ2VuZXJhdGVQb29sS2V5cwAAAAIAAAALYWNjdW11bGF0ZWQAAAAEcG9vbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sAgAAAA5fYXNzZXRfYmFsYW5jZQAAAAAAAAAAAAUAAAALYWNjdW11bGF0ZWQKAQAAAB5nZW5lcmF0ZVBvb2xMaXF1aWRpdHlUb2tlbktleXMAAAACAAAAC2FjY3VtdWxhdGVkAAAABHBvb2wEAAAACXBvb2xJbmRleAkBAAAABXZhbHVlAAAAAQkABE8AAAACBQAAAAVwb29scwUAAAAEcG9vbAQAAAAObGlxdWlkaXR5VG9rZW4JAAGRAAAAAgUAAAAPbGlxdWlkaXR5VG9rZW5zBQAAAAlwb29sSW5kZXgJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAAQX2xpcXVpZGl0eV90b2tlbgUAAAAObGlxdWlkaXR5VG9rZW4KAQAAABxnZW5lcmF0ZVBvb2xTZXJ2aWNlVG9rZW5LZXlzAAAAAgAAAAthY2N1bXVsYXRlZAAAAARwb29sCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQKAQAAACVnZW5lcmF0ZVBvb2xMaXF1aWRpdHlUb2tlbkRlY2ltYWxLZXlzAAAAAgAAAAthY2N1bXVsYXRlZAAA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BQAAAAp1c2VyQW1vdW50BQAAABR1c2VyQW1vdW50V2l0aG91dEZlZQkABEwAAAACCQEAAAAHUmVpc3N1ZQAAAAMJAAJZAAAAAQUAAAAQZEFwcEFzc2V0QWRkcmVzcwUAAAAUdXNlckFtb3VudFdpdGhvdXRGZWUGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAUdXNlckFtb3VudFdpdGhvdXRGZWUJAAJZAAAAAQUAAAAQZEFwcEFzc2V0QWRkcmVzcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAANcG9vbEFtb3VudEtleQUAAAANbmV3UG9vbEFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAARdXNlclBvb2xBbW91bnRLZXkFAAAAEW5ld1VzZXJQb29sQW1vdW50BQAAAANuaWwAAAABaQEAAAAId2l0aGRyYXcAAAACAAAABHBvb2wAAAAKdXNlckVhcm5lZAQAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQEAAAAB2Fzc2V0SWQICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQEAAAADXBvb2xBbW91bnRLZXkJAAEsAAAAAgUAAAAEcG9vbAIAAAAOX2Fzc2V0X2JhbGFuY2UEAAAAC3VzZXJBZGRyZXNzCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAARdXNlclBvb2xBbW91bnRLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABHBvb2wCAAAAAV8FAAAAC3VzZXJBZGRyZXNzAgAAAA5fYXNzZXRfYmFsYW5jZQQAAAARdXNlclBvb2xFYXJuZWRLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABHBvb2wCAAAAAV8FAAAAC3VzZXJBZGRyZXNzAgAAAAdfZWFybmVkBAAAAApwb29sQW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAAA1wb29sQW1vdW50S2V5BAAAAAp1c2VyQW1vdW50BAAAAAckbWF0Y2gwCQAEHwAAAAEFAAAAEXVzZXJQb29sQW1vdW50S2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAA2ludAUAAAAHJG1hdGNoMAUAAAADaW50BAAAAAdub3RoaW5nBQAAAAckbWF0Y2gwAAAAAAAAAAAABAAAABB1c2VyRWFybmVkQmVmb3JlBAAAAAckbWF0Y2gwCQAEHwAAAAEFAAAAEXVzZXJQb29sRWFybmVkS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAA2ludAUAAAAHJG1hdGNoMAUAAAADaW50BAAAAAdub3RoaW5nBQAAAAckbWF0Y2gwAAAAAAAAAAAABAAAABVsaXF1aWR1dHlBc3NldEFkZHJlc3MJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAEcG9vbAIAAAAQX2xpcXVpZGl0eV90b2tlbgQAAAAVbGlxdWlkaXR5VG9rZW5EZWNpbWFsBAAAAAckbWF0Y2gwCQAD7AAAAAEJAAJZAAAAAQUAAAAVbGlxdWlkdXR5QXNzZXRBZGRyZXNzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAVBc3NldAQAAAAFYXNzZXQFAAAAByRtYXRjaDAIBQAAAAVhc3NldAAAAAhkZWNpbWFscwkAAAIAAAABAgAAABBDYW4ndCBmaW5kIGFzc2V0BAAAABBkQXBwQXNzZXRBZGRyZXNzCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wCAAAADl9zZXJ2aWNlX3Rva2VuBAAAAA91c2VyRWFybmVkVG90YWwJAABkAAAAAgUAAAAKdXNlckVhcm5lZAUAAAAQdXNlckVhcm5lZEJlZm9yZQQAAAAQYW1vdW50V2l0aG91dEZlZQkAAGUAAAACCQAAZQAAAAIFAAAABmFtb3VudAkBAAAACGZyYWN0aW9uAAAABAUAAAAGYW1vdW50AAAAAAAAAAABBQAAAAtwbGF0Zm9ybUZlZQUAAAAGSEFMRlVQCQEAAAAIZnJhY3Rpb24AAAAEBQAAAAZhbW91bnQAAAAAAAAAAAEFAAAADWNvbnRyb2xsZXJGZWUFAAAABkhBTEZVUAQAAAANbmV3UG9vbEFtb3VudAkAAGUAAAACBQAAAApwb29sQW1vdW50BQAAABBhbW91bnRXaXRob3V0RmVlAwkAAGcAAAACBQAAAAp1c2VyQW1vdW50BQAAAAZhbW91bnQEAAAAEW5ld1VzZXJQb29sQW1vdW50CQAAZQAAAAIFAAAACnVzZXJBbW91bnQFAAAAEGFtb3VudFdpdGhvdXRGZWUJAARMAAAAAgkBAAAABEJ1cm4AAAACCQACWQAAAAEFAAAAEGRBcHBBc3NldEFkZHJlc3MFAAAAEGFtb3VudFdpdGhvdXRGZWUJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAABBhbW91bnRXaXRob3V0RmVlCQACWQAAAAEFAAAAFWxpcXVpZHV0eUFzc2V0QWRkcmVzcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAANcG9vbEFtb3VudEtleQUAAAANbmV3UG9vbEFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAARdXNlclBvb2xBbW91bnRLZXkFAAAAEW5ld1VzZXJQb29sQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABF1c2VyUG9vbEVhcm5lZEtleQUAAAAPdXNlckVhcm5lZFRvdGFsBQAAAANuaWwJAAACAAAAAQIAAAAmWW91IGhhdmUgbm90IHN1Y2ggYmFsYW5jZSBmb3Igd2l0aGRyYXcAAAABAAAAAmI2AQAAAAJiNwAAAAAJAAH0AAAAAwgFAAAAAmI2AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACYjYAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACYjYAAAAPc2VuZGVyUHVibGljS2V5gbnptw==", "height": 1777798, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GUc8TqPWiw85D4e3VpTuoQMkJxE6PZZ3kmLPiTf6TPv9 Next: AJtyQqfcBfweA2uoLAqTnXu8ZjtgDZothrZugZtC61Bi Diff:
OldNewDifferences
8888
8989 2(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
9090 }
91- poolLiquidityTokenKeys
91+ poolServiceTokenKeys
9292 }
9393
9494
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let depositFee = 1000
55
66 let controllerFee = 10000
77
88 let platformFee = 10000
99
1010 @Callable(a8)
1111 func init () = [IntegerEntry("3PPH7x7iqobW5ziyiRCic19rQqKr6nPYaK1_asset_balance", 7197869)]
1212
1313
1414
1515 @Callable(i)
1616 func addPools (pools,liquidityTokens,serviceTokens,liquidityTokenDecimals) = {
1717 func generatePoolKeys (accumulated,pool) = IntegerEntry((pool + "_asset_balance"), 0) :: accumulated
1818
1919 func generatePoolLiquidityTokenKeys (accumulated,pool) = {
2020 let poolIndex = value(indexOf(pools, pool))
2121 let liquidityToken = liquidityTokens[poolIndex]
2222 StringEntry((pool + "_liquidity_token"), liquidityToken)
2323 }
2424
2525 func generatePoolServiceTokenKeys (accumulated,pool) = throw("DApp is inactive at this moment")
2626
2727 func generatePoolLiquidityTokenDecimalKeys (accumulated,pool) = {
2828 let poolIndex = value(indexOf(pools, pool))
2929 let liquidityToken = liquidityTokenDecimals[poolIndex]
3030 IntegerEntry((pool + "_service_token"), liquidityToken)
3131 }
3232
3333 func generatePoolActiveKeys (accumulated,pool) = BooleanEntry((pool + "_active"), true)
3434
3535 let poolLiquidityTokenKeys = {
3636 let $l = pools
3737 let $s = size($l)
3838 let $acc0 = nil
3939 func 1 ($a,$i) = if (($i >= $s))
4040 then $a
4141 else generatePoolLiquidityTokenKeys($a, $l[$i])
4242
4343 func 2 ($a,$i) = if (($i >= $s))
4444 then $a
4545 else throw("List size exceeds 20")
4646
4747 2(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
4848 }
4949 let poolServiceTokenKeys = {
5050 let $l = pools
5151 let $s = size($l)
5252 let $acc0 = nil
5353 func 1 ($a,$i) = if (($i >= $s))
5454 then $a
5555 else generatePoolServiceTokenKeys($a, $l[$i])
5656
5757 func 2 ($a,$i) = if (($i >= $s))
5858 then $a
5959 else throw("List size exceeds 20")
6060
6161 2(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
6262 }
6363 let poolLiquidityTokenDecimalKeys = {
6464 let $l = pools
6565 let $s = size($l)
6666 let $acc0 = nil
6767 func 1 ($a,$i) = if (($i >= $s))
6868 then $a
6969 else generatePoolLiquidityTokenDecimalKeys($a, $l[$i])
7070
7171 func 2 ($a,$i) = if (($i >= $s))
7272 then $a
7373 else throw("List size exceeds 20")
7474
7575 2(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
7676 }
7777 let poolActiveKeys = {
7878 let $l = pools
7979 let $s = size($l)
8080 let $acc0 = nil
8181 func 1 ($a,$i) = if (($i >= $s))
8282 then $a
8383 else generatePoolActiveKeys($a, $l[$i])
8484
8585 func 2 ($a,$i) = if (($i >= $s))
8686 then $a
8787 else throw("List size exceeds 20")
8888
8989 2(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
9090 }
91- poolLiquidityTokenKeys
91+ poolServiceTokenKeys
9292 }
9393
9494
9595
9696 @Callable(a8)
9797 func call () = {
9898 let a9 = Issue("Asset1", "Asset from dApp", 100000, 2, true, unit, 0)
9999 let b1 = calculateAssetId(a9)
100100 [BinaryEntry("bin", base58''), BooleanEntry("bool", true), IntegerEntry("int", 1), StringEntry("str", ""), DeleteEntry("str"), a9]
101101 }
102102
103103
104104
105105 @Callable(i)
106106 func deposit (pool) = {
107107 let amount = i.payments[0].amount
108108 let assetId = i.payments[0].assetId
109109 let poolAmountKey = (pool + "_asset_balance")
110110 let userAddress = toString(i.caller)
111111 let userPoolAmountKey = (((pool + "_") + userAddress) + "_asset_balance")
112112 let dAppAssetAddress = getStringValue(this, (pool + "_service_token"))
113113 let poolAmount = getIntegerValue(this, poolAmountKey)
114114 let userAmount = match getInteger(userPoolAmountKey) {
115115 case int: Int =>
116116 int
117117 case nothing =>
118118 0
119119 }
120120 let newPoolAmount = (poolAmount + amount)
121121 let userAmountWithoutFee = ((amount - fraction(amount, 1, depositFee, HALFUP)) - fraction(amount, 1, controllerFee, HALFUP))
122122 let newUserPoolAmount = (userAmount + userAmountWithoutFee)
123123 [Reissue(fromBase58String(dAppAssetAddress), userAmountWithoutFee, true), ScriptTransfer(i.caller, userAmountWithoutFee, fromBase58String(dAppAssetAddress)), IntegerEntry(poolAmountKey, newPoolAmount), IntegerEntry(userPoolAmountKey, newUserPoolAmount)]
124124 }
125125
126126
127127
128128 @Callable(i)
129129 func withdraw (pool,userEarned) = {
130130 let amount = i.payments[0].amount
131131 let assetId = i.payments[0].assetId
132132 let poolAmountKey = (pool + "_asset_balance")
133133 let userAddress = toString(i.caller)
134134 let userPoolAmountKey = (((pool + "_") + userAddress) + "_asset_balance")
135135 let userPoolEarnedKey = (((pool + "_") + userAddress) + "_earned")
136136 let poolAmount = getIntegerValue(this, poolAmountKey)
137137 let userAmount = match getInteger(userPoolAmountKey) {
138138 case int: Int =>
139139 int
140140 case nothing =>
141141 0
142142 }
143143 let userEarnedBefore = match getInteger(userPoolEarnedKey) {
144144 case int: Int =>
145145 int
146146 case nothing =>
147147 0
148148 }
149149 let liquidutyAssetAddress = getStringValue(this, (pool + "_liquidity_token"))
150150 let liquidityTokenDecimal = match assetInfo(fromBase58String(liquidutyAssetAddress)) {
151151 case asset: Asset =>
152152 asset.decimals
153153 case _ =>
154154 throw("Can't find asset")
155155 }
156156 let dAppAssetAddress = getStringValue(this, (pool + "_service_token"))
157157 let userEarnedTotal = (userEarned + userEarnedBefore)
158158 let amountWithoutFee = ((amount - fraction(amount, 1, platformFee, HALFUP)) - fraction(amount, 1, controllerFee, HALFUP))
159159 let newPoolAmount = (poolAmount - amountWithoutFee)
160160 if ((userAmount >= amount))
161161 then {
162162 let newUserPoolAmount = (userAmount - amountWithoutFee)
163163 [Burn(fromBase58String(dAppAssetAddress), amountWithoutFee), ScriptTransfer(i.caller, amountWithoutFee, fromBase58String(liquidutyAssetAddress)), IntegerEntry(poolAmountKey, newPoolAmount), IntegerEntry(userPoolAmountKey, newUserPoolAmount), IntegerEntry(userPoolEarnedKey, userEarnedTotal)]
164164 }
165165 else throw("You have not such balance for withdraw")
166166 }
167167
168168
169169 @Verifier(b6)
170170 func b7 () = sigVerify(b6.bodyBytes, b6.proofs[0], b6.senderPublicKey)
171171

github/deemru/w8io/026f985 
37.83 ms