tx · 9VFxopaCPNrovAcoN8WL8HDfNEb72qt7sAiUFSXRLDxW

3MyfKzBNordUSxbv54zj1hxm98ojcDvaiXU:  -0.04000000 Waves

2021.09.02 00:23 [1684501] smart account 3MyfKzBNordUSxbv54zj1hxm98ojcDvaiXU > SELF 0.00000000 Waves

{ "type": 13, "id": "9VFxopaCPNrovAcoN8WL8HDfNEb72qt7sAiUFSXRLDxW", "fee": 4000000, "feeAssetId": null, "timestamp": 1630531455682, "version": 2, "chainId": 84, "sender": "3MyfKzBNordUSxbv54zj1hxm98ojcDvaiXU", "senderPublicKey": "EhGswdVQkp8SXCWyKvRCUKYDidTrRjnzTPa8CZk6GYgN", "proofs": [ "LMv3KhQE1myHDtnQLUy9j1idbZx8xraEs2BmmSB35WNbqGA22geesgz64sEFUA4qCWvavc38TLDFYcqw6fP65kF" ], "script": "base64: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dGlvbgUAAAAKYmFzZUZhY3RvcgkAAGUAAAACBQAAAApiYXNlRmFjdG9yBQAAAA1yZXNlcnZlRmFjdG9yBQAAAApiYXNlRmFjdG9yAAAAABJib3Jyb3dSYXRlUGVyQmxvY2sJAABrAAAAAwUAAAADYXByBQAAAAliYXNlSW5kZXgJAABoAAAAAgUAAAANYmxvY2tzUGVyWWVhcgUAAAAKYmFzZUZhY3RvcgAAAAALZGVsdGFCbG9ja3MJAABlAAAAAgUAAAAGaGVpZ2h0BQAAAAxzdG9yZWRIZWlnaHQAAAAADGN1cnJlbnRJbmRleAkBAAAACGZyYWN0aW9uAAAABAUAAAALc3RvcmVkSW5kZXgJAABkAAAAAgUAAAAJYmFzZUluZGV4CQAAaAAAAAIFAAAAEmJvcnJvd1JhdGVQZXJCbG9jawUAAAALZGVsdGFCbG9ja3MFAAAACWJhc2VJbmRleAUAAAAHQ0VJTElORwAAAAASY3VycmVudFRvdGFsQm9ycm93CQAAawAAAAMFAAAAC3RvdGFsQm9ycm93BQAAAAxjdXJyZW50SW5kZXgFAAAAC3N0b3JlZEluZGV4AAAAABFjb2xsZWN0ZWRJbnRlcmVzdAkAAGsAAAADBQAAAAt0b3RhbEJvcnJvdwkAAGgAAAACBQAAABJib3Jyb3dSYXRlUGVyQmxvY2sFAAAAC2RlbHRhQmxvY2tzBQAAAAliYXNlSW5kZXgAAAAAEmN1cnJlbnRUb3RhbFN1cHBseQkAAGQAAAACBQAAAAt0b3RhbFN1cHBseQkAAGsAAAADCQAAZQAAAAIFAAAACmJhc2VGYWN0b3IFAAAADXJlc2VydmVGYWN0b3IFAAAAEWNvbGxlY3RlZEludGVyZXN0BQAAAApiYXNlRmFjdG9yAAAAAA5jdXJyZW50UmVzZXJ2ZQkAAGQAAAACBQAAAAx0b3RhbFJlc2VydmUJAABrAAAAAwUAAAANcmVzZXJ2ZUZhY3RvcgUAAAARY29sbGVjdGVkSW50ZXJlc3QFAAAACmJhc2VGYWN0b3IAAAAADGV4Y2hhbmdlUmF0ZQMJAABmAAAAAgUAAAAMZFRva2VuU3VwcGx5AAAAAAAAAAAABAAAAAhleHBvbmVudAkAAGQAAAACCQAAZQAAAAIAAAAAAAAAABIFAAAADmRUb2tlbkRlY2ltYWxzBQAAAA1hc3NldERlY2ltYWxzBAAAAAhtYW50aXNzYQkAAGwAAAAGAAAAAAAAAAAKAAAAAAAAAAAABQAAAAhleHBvbmVudAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHQ0VJTElORwkAAGsAAAADBQAAABJjdXJyZW50VG90YWxTdXBwbHkFAAAACG1hbnRpc3NhBQAAAAxkVG9rZW5TdXBwbHkAAEcN5N+CAAABAAAAEGNhbGNEVG9rZW5BbW91bnQAAAABAAAAC2Fzc2V0QW1vdW50BAAAAAhleHBvbmVudAkAAGQAAAACCQAAZQAAAAIAAAAAAAAAABIFAAAADmRUb2tlbkRlY2ltYWxzBQAAAA1hc3NldERlY2ltYWxzBAAAAAhtYW50aXNzYQkAAGwAAAAGAAAAAAAAAAAKAAAAAAAAAAAABQAAAAhleHBvbmVudAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHQ0VJTElORwkAAGsAAAADBQAAAAthc3NldEFtb3VudAUAAAAIbWFudGlzc2EFAAAADGV4Y2hhbmdlUmF0ZQEAAAAPY2FsY0Fzc2V0QW1vdW50AAAAAQAAAAxkVG9rZW5BbW91bnQEAAAACGV4cG9uZW50CQAAZAAAAAIJAABlAAAAAgAAAAAAAAAAEgUAAAAOZFRva2VuRGVjaW1hbHMFAAAADWFzc2V0RGVjaW1hbHMEAAAACG1hbnRpc3NhCQAAbAAAAAYAAAAAAAAAAAoAAAAAAAAAAAAFAAAACGV4cG9uZW50AAAAAAAAAAAAAAAAAAAAAAAABQAAAAdDRUlMSU5HCQAAawAAAAMFAAAADGRUb2tlbkFtb3VudAUAAAAMZXhjaGFuZ2VSYXRlBQAAAAhtYW50aXNzYQAAAAQAAAABaQEAAAAHZGVwb3NpdAAAAAIAAAAEdXNlcgAAAAxpc0NvbGxhdGVyYWwDCQEAAAANaXNXYXZldHJvbGxlcgAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAPdXNlclRva2VuQW1vdW50CQEAAAAQY2FsY0RUb2tlbkFtb3VudAAAAAEICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAQAAAATY3VycmVudERUb2tlblN1cHBseQkAAGQAAAACBQAAAAxkVG9rZW5TdXBwbHkFAAAAD3VzZXJUb2tlbkFtb3VudAMFAAAADGlzQ29sbGF0ZXJhbAQAAAARbG9ja2VkVXNlckJhbGFuY2UJAABkAAAAAgkBAAAAEXVzZXJsb2NrZWRCYWxhbmNlAAAAAQUAAAAEdXNlcgUAAAAPdXNlclRva2VuQW1vdW50CQAFFAAAAAIJAARMAAAAAgkBAAAADHdyaXRlSW50ZWdlcgAAAAIJAAEsAAAAAgUAAAAEdXNlcgIAAAAHX2xvY2tlZAUAAAARbG9ja2VkVXNlckJhbGFuY2UJAARMAAAAAgkBAAAADHdyaXRlSW50ZWdlcgAAAAICAAAADGRUb2tlblN1cHBseQUAAAATY3VycmVudERUb2tlblN1cHBseQkABEwAAAACCQEAAAAMd3JpdGVJbnRlZ2VyAAAAAgIAAAALdG90YWxCb3Jyb3cFAAAAEmN1cnJlbnRUb3RhbEJvcnJvdwkABEwAAAACCQEAAAAMd3JpdGVJbnRlZ2VyAAAAAgIAAAALdG90YWxTdXBwbHkJAABkAAAAAgUAAAASY3VycmVudFRvdGFsU3VwcGx5CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQJAARMAAAAAgkBAAAADHdyaXRlSW50ZWdlcgAAAAICAAAADHRvdGFsUmVzZXJ2ZQUAAAAOY3VycmVudFJlc2VydmUJAARMAAAAAgkBAAAADHdyaXRlSW50ZWdlcgAAAAICAAAAC3N0b3JlZEluZGV4BQAAAAxjdXJyZW50SW5kZXgJAARMAAAAAgkBAAAADHdyaXRlSW50ZWdlcgAAAAICAAAADHN0b3JlZEhlaWdodAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwkAAlkAAAABBQAAAAhkVG9rZW5JZAUAAAAPdXNlclRva2VuQW1vdW50BgUAAAADbmlsCQABLAAAAAIJAAGkAAAAAQgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50AgAAABh3ZXJlIHN1Y2Nlc3NmdWxseSBsb2NrZWQJAAUUAAAAAgkABEwAAAACCQEAAAAMd3JpdGVJbnRlZ2VyAAAAAgIAAAAMZFRva2VuU3VwcGx5BQAAABNjdXJyZW50RFRva2VuU3VwcGx5CQAETAAAAAIJAQAAAAx3cml0ZUludGVnZXIAAAACAgAAAAt0b3RhbEJvcnJvdwUAAAASY3VycmVudFRvdGFsQm9ycm93CQAETAAAAAIJAQAAAAx3cml0ZUludGVnZXIAAAACAgAAAAt0b3RhbFN1cHBseQkAAGQAAAACBQAAABJjdXJyZW50VG90YWxTdXBwbHkICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAkABEwAAAACCQEAAAAMd3JpdGVJbnRlZ2VyAAAAAgIAAAAMdG90YWxSZXNlcnZlBQAAAA5jdXJyZW50UmVzZXJ2ZQkABEwAAAACCQEAAAAMd3JpdGVJbnRlZ2VyAAAAAgIAAAALc3RvcmVkSW5kZXgFAAAADGN1cnJlbnRJbmRleAkABEwAAAACCQEAAAAMd3JpdGVJbnRlZ2VyAAAAAgIAAAAMc3RvcmVkSGVpZ2h0BQAAAAZoZWlnaHQJAARMAAAAAgkBAAAAB1JlaXNzdWUAAAADCQACWQAAAAEFAAAACGRUb2tlbklkBQAAAA91c2VyVG9rZW5BbW91bnQGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAPdXNlclRva2VuQW1vdW50CQACWQAAAAEFAAAACGRUb2tlbklkBQAAAANuaWwFAAAAD3VzZXJUb2tlbkFtb3VudAkAAAIAAAABAgAAADBBZGRyZXNzIGRvZXMgbm90IG1hdGNoIHdpdGggd2F2ZXRyb2xsZXIgYWRkcmVzcyEAAAABaQEAAAAId2l0aGRyYXcAAAABAAAABHVzZXIDCQEAAAANaXNXYXZldHJvbGxlcgAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAASYXZhaWxhYmxlTGlxdWlkaXR5CQAAZQAAAAIFAAAAEmN1cnJlbnRUb3RhbFN1cHBseQUAAAASY3VycmVudFRvdGFsQm9ycm93BAAAABRyZXF1ZXN0ZWRBc3NldEFtb3VudAkBAAAAD2NhbGNBc3NldEFtb3VudAAAAAEICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAMJAABnAAAAAgUAAAASYXZhaWxhYmxlTGlxdWlkaXR5BQAAABRyZXF1ZXN0ZWRBc3NldEFtb3VudAkABRQAAAACCQAETAAAAAIJAQAAAAx3cml0ZUludGVnZXIAAAACAgAAAAxkVG9rZW5TdXBwbHkJAABlAAAAAgUAAAAMZFRva2VuU3VwcGx5CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQJAARMAAAAAgkBAAAADHdyaXRlSW50ZWdlcgAAAAICAAAAC3RvdGFsQm9ycm93BQAAABJjdXJyZW50VG90YWxCb3Jyb3cJAARMAAAAAgkBAAAADHdyaXRlSW50ZWdlcgAAAAICAAAAC3RvdGFsU3VwcGx5CQAAZQAAAAIFAAAAEmN1cnJlbnRUb3RhbFN1cHBseQUAAAAUcmVxdWVzdGVkQXNzZXRBbW91bnQJAARMAAAAAgkBAAAADHdyaXRlSW50ZWdlcgAAAAICAAAADHRvdGFsUmVzZXJ2ZQUAAAAOY3VycmVudFJlc2VydmUJAARMAAAAAgkBAAAADHdyaXRlSW50ZWdlcgAAAAICAAAAC3N0b3JlZEluZGV4BQAAAAxjdXJyZW50SW5kZXgJAARMAAAAAgkBAAAADHdyaXRlSW50ZWdlcgAAAAICAAAADHN0b3JlZEhlaWdodAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAARCdXJuAAAAAgkAAlkAAAABBQAAAAhkVG9rZW5JZAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CQAETAAAAAIDCQAAAAAAAAIFAAAACmFzc2V0SWRTdWICAAAABVdBVkVTCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAFHJlcXVlc3RlZEFzc2V0QW1vdW50BQAAAAR1bml0CQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAFHJlcXVlc3RlZEFzc2V0QW1vdW50CQACWQAAAAEFAAAACmFzc2V0SWRTdWIFAAAAA25pbAUAAAAUcmVxdWVzdGVkQXNzZXRBbW91bnQJAAACAAAAAQIAAAAhUG9vbCBsaXF1aWRpdHkgaXMgbm90IHN1ZmZpY2llbnQhCQAAAgAAAAECAAAAMEFkZHJlc3MgZG9lcyBub3QgbWF0Y2ggd2l0aCB3YXZldHJvbGxlciBhZGRyZXNzIQAAAAFpAQAAAAVzZXR1cAAAAAQAAAADYUlkAAAACWNvbmZpZ0FkZAAAAAl0b2tlbk5hbWUAAAAQdG9rZW5EZXNjcmlwdGlvbgMJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAAEdGhpcwIAAAANY29uZmlnQWRkcmVzcwQAAAAFYXNzZXQJAARCAAAABQUAAAAJdG9rZW5OYW1lBQAAABB0b2tlbkRlc2NyaXB0aW9uAAAAAAAAAAAAAAAAAAAAAAAIBgQAAAAHdG9rZW5JZAkABDgAAAABBQAAAAVhc3NldAkABEwAAAACBQAAAAVhc3NldAkABEwAAAACCQEAAAALd3JpdGVTdHJpbmcAAAACAgAAAAdhc3NldElkBQAAAANhSWQJAARMAAAAAgkBAAAAC3dyaXRlU3RyaW5nAAAAAgIAAAANY29uZmlnQWRkcmVzcwUAAAAJY29uZmlnQWRkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAt0b3RhbEJvcnJvdwAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAALdG90YWxTdXBwbHkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADHRvdGFsUmVzZXJ2ZQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAALc3RvcmVkSW5kZXgFAAAACWJhc2VJbmRleAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAMc3RvcmVkSGVpZ2h0BQAAAAZoZWlnaHQJAARMAAAAAgkBAAAAC3dyaXRlU3RyaW5nAAAAAgIAAAAKZFRva2VuTmFtZQUAAAAJdG9rZW5OYW1lCQAETAAAAAIJAQAAAAt3cml0ZVN0cmluZwAAAAICAAAACGRUb2tlbklkCQACWAAAAAEFAAAAB3Rva2VuSWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADmRUb2tlbkRlY2ltYWxzAAAAAAAAAAAICQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAxkVG9rZW5TdXBwbHkAAAAAAAAAAAAFAAAAA25pbAkAAAIAAAABAgAAABNQb29sIGFscmVhZHkgc2V0dXAhAAAAAWkBAAAACmRlbGV0RW50cnkAAAABAAAAA2tleQMJAQAAAA5pc0FkbWluQWRkcmVzcwAAAAEIBQAAAAFpAAAABmNhbGxlcgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAANrZXkFAAAAA25pbAkAAAIAAAABAgAAABdDYWxsZXIgaXMgbm90IGFuIGFkbWluIQAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5VDxqkg==", "height": 1684501, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 44vcH6UD2Su3C9yWRWt5W6JbbHT1Yfmk3j7RoMkVw1Fg Next: 8hVgMLDwMoxTGjTG4wRjrDELv4xzEsAVVXHwqWmPct8E Diff:
OldNewDifferences
139139 let ai = (T - R)
140140 let aj = aa(ac.payments[0].amount)
141141 if ((ai >= aj))
142- then $Tuple2([D("dTokenSupply", (q - ac.payments[0].amount)), D("totalBorrow", R), D("totalSupply", (T - aj)), D("totalReserve", U), D("storedIndex", Q), D("storedHeight", height), Burn(fromBase58String(s), ac.payments[0].amount), ScriptTransfer(ac.caller, aj, fromBase58String(g))], aj)
142+ then $Tuple2([D("dTokenSupply", (q - ac.payments[0].amount)), D("totalBorrow", R), D("totalSupply", (T - aj)), D("totalReserve", U), D("storedIndex", Q), D("storedHeight", height), Burn(fromBase58String(s), ac.payments[0].amount), if ((g == "WAVES"))
143+ then ScriptTransfer(ac.caller, aj, unit)
144+ else ScriptTransfer(ac.caller, aj, fromBase58String(g))], aj)
143145 else throw("Pool liquidity is not sufficient!")
144146 }
145147 else throw("Address does not match with wavetroller address!")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 1000
55
66 let b = 10000000000000000
77
88 let c = 525600
99
1010 let d = valueOrElse(getString(this, "configAddress"), "")
1111
1212 let e = valueOrElse(getString(addressFromStringValue(d), "admin"), "")
1313
1414 let f = valueOrElse(getString(addressFromStringValue(d), "wavetroller"), "")
1515
1616 let g = valueOrErrorMessage(getString(this, "assetId"), "No assetId could be found in data storage!")
1717
1818 let h = valueOrErrorMessage(getInteger(addressFromStringValue(d), (g + "_Decimals")), (("No key " + (g + "_Decimals")) + " was found"))
1919
2020 let i = valueOrErrorMessage(getInteger(addressFromStringValue(d), (g + "_Multiplier")), (("No key " + (g + "_Multiplier")) + " was found"))
2121
2222 let j = valueOrErrorMessage(getInteger(addressFromStringValue(d), (g + "_Kink")), (("No key " + (g + "_Kink")) + " was found"))
2323
2424 let k = valueOrErrorMessage(getInteger(addressFromStringValue(d), (g + "_JumpMultiplier")), (("No key " + (g + "_JumpMultiplier")) + " was found"))
2525
2626 let l = valueOrErrorMessage(getInteger(addressFromStringValue(d), (g + "_BaseRate")), (("No key " + (g + "_BaseRate")) + " was found"))
2727
2828 let m = valueOrErrorMessage(getInteger(addressFromStringValue(d), (g + "_ReserveFactor")), (("No key " + (g + "_ReserveFactor")) + " was found"))
2929
3030 let n = valueOrElse(getInteger(this, "totalBorrow"), 0)
3131
3232 let o = valueOrElse(getInteger(this, "totalSupply"), 0)
3333
3434 let p = valueOrElse(getInteger(this, "totalReserve"), 0)
3535
3636 let q = valueOrErrorMessage(getInteger(this, "dTokenSupply"), "No key dTokenSupply was found")
3737
3838 let r = valueOrErrorMessage(getInteger(this, "dTokenDecimals"), "No key dTokenDecimals was found")
3939
4040 let s = valueOrErrorMessage(getString(this, "dTokenId"), "No key dTokenId was found")
4141
4242 let t = valueOrElse(getInteger(this, "storedHeight"), height)
4343
4444 let u = valueOrElse(getInteger(this, "storedIndex"), 10000000000000000)
4545
4646 func v (w) = if ((addressFromStringValue(e) == w))
4747 then true
4848 else false
4949
5050
5151 func x (w) = if ((addressFromStringValue(f) == w))
5252 then true
5353 else false
5454
5555
5656 func y (z) = if ((z == g))
5757 then true
5858 else false
5959
6060
6161 func A (B,C) = StringEntry(B, C)
6262
6363
6464 func D (B,E) = IntegerEntry(B, E)
6565
6666
6767 func F (G) = valueOrElse(getInteger(this, (G + "_locked")), 0)
6868
6969
7070 let H = if ((o > 0))
7171 then fraction(n, a, o)
7272 else 0
7373
7474 let I = {
7575 let J = [H, j]
7676 let K = min(J)
7777 let L = [0, (H - j)]
7878 let M = max(L)
7979 ((fraction(i, K, a) + fraction(k, M, a)) + l)
8080 }
8181
8282 let N = fraction(fraction(I, H, a), (a - m), a)
8383
8484 let O = fraction(I, b, (c * a))
8585
8686 let P = (height - t)
8787
8888 let Q = fraction(u, (b + (O * P)), b, CEILING)
8989
9090 let R = fraction(n, Q, u)
9191
9292 let S = fraction(n, (O * P), b)
9393
9494 let T = (o + fraction((a - m), S, a))
9595
9696 let U = (p + fraction(m, S, a))
9797
9898 let V = if ((q > 0))
9999 then {
100100 let W = ((18 - r) + h)
101101 let X = pow(10, 0, W, 0, 0, CEILING)
102102 fraction(T, X, q)
103103 }
104104 else 20000000000000000
105105
106106 func Y (Z) = {
107107 let W = ((18 - r) + h)
108108 let X = pow(10, 0, W, 0, 0, CEILING)
109109 fraction(Z, X, V)
110110 }
111111
112112
113113 func aa (ab) = {
114114 let W = ((18 - r) + h)
115115 let X = pow(10, 0, W, 0, 0, CEILING)
116116 fraction(ab, V, X)
117117 }
118118
119119
120120 @Callable(ac)
121121 func deposit (ad,ae) = if (x(ac.caller))
122122 then {
123123 let af = Y(ac.payments[0].amount)
124124 let ag = (q + af)
125125 if (ae)
126126 then {
127127 let ah = (F(ad) + af)
128128 $Tuple2([D((ad + "_locked"), ah), D("dTokenSupply", ag), D("totalBorrow", R), D("totalSupply", (T + ac.payments[0].amount)), D("totalReserve", U), D("storedIndex", Q), D("storedHeight", height), Reissue(fromBase58String(s), af, true)], (toString(ac.payments[0].amount) + "were successfully locked"))
129129 }
130130 else $Tuple2([D("dTokenSupply", ag), D("totalBorrow", R), D("totalSupply", (T + ac.payments[0].amount)), D("totalReserve", U), D("storedIndex", Q), D("storedHeight", height), Reissue(fromBase58String(s), af, true), ScriptTransfer(ac.caller, af, fromBase58String(s))], af)
131131 }
132132 else throw("Address does not match with wavetroller address!")
133133
134134
135135
136136 @Callable(ac)
137137 func withdraw (ad) = if (x(ac.caller))
138138 then {
139139 let ai = (T - R)
140140 let aj = aa(ac.payments[0].amount)
141141 if ((ai >= aj))
142- then $Tuple2([D("dTokenSupply", (q - ac.payments[0].amount)), D("totalBorrow", R), D("totalSupply", (T - aj)), D("totalReserve", U), D("storedIndex", Q), D("storedHeight", height), Burn(fromBase58String(s), ac.payments[0].amount), ScriptTransfer(ac.caller, aj, fromBase58String(g))], aj)
142+ then $Tuple2([D("dTokenSupply", (q - ac.payments[0].amount)), D("totalBorrow", R), D("totalSupply", (T - aj)), D("totalReserve", U), D("storedIndex", Q), D("storedHeight", height), Burn(fromBase58String(s), ac.payments[0].amount), if ((g == "WAVES"))
143+ then ScriptTransfer(ac.caller, aj, unit)
144+ else ScriptTransfer(ac.caller, aj, fromBase58String(g))], aj)
143145 else throw("Pool liquidity is not sufficient!")
144146 }
145147 else throw("Address does not match with wavetroller address!")
146148
147149
148150
149151 @Callable(ac)
150152 func setup (ak,al,am,an) = if (!(isDefined(getString(this, "configAddress"))))
151153 then {
152154 let ao = Issue(am, an, 0, 8, true)
153155 let ap = calculateAssetId(ao)
154156 [ao, A("assetId", ak), A("configAddress", al), IntegerEntry("totalBorrow", 0), IntegerEntry("totalSupply", 0), IntegerEntry("totalReserve", 0), IntegerEntry("storedIndex", b), IntegerEntry("storedHeight", height), A("dTokenName", am), A("dTokenId", toBase58String(ap)), IntegerEntry("dTokenDecimals", 8), IntegerEntry("dTokenSupply", 0)]
155157 }
156158 else throw("Pool already setup!")
157159
158160
159161
160162 @Callable(ac)
161163 func deletEntry (B) = if (v(ac.caller))
162164 then [DeleteEntry(B)]
163165 else throw("Caller is not an admin!")
164166
165167
166168 @Verifier(aq)
167169 func ar () = sigVerify(aq.bodyBytes, aq.proofs[0], aq.senderPublicKey)
168170

github/deemru/w8io/169f3d6 
58.21 ms