2022.05.08 12:11 [3107983] smart account 3PC51qgNQz4xx7m1DhLdCDYESaeNKT6zeFt > SELF 0.00000000 Waves

{ "type": 13, "id": "A4qkPF5FLt8ex9hfXJT48YBEodi9SGMg3Tsnq2ncNgWr", "fee": 1400000, "feeAssetId": null, "timestamp": 1652001092457, "version": 2, "chainId": 87, "sender": "3PC51qgNQz4xx7m1DhLdCDYESaeNKT6zeFt", "senderPublicKey": "FJsKqbdyEBXkB3CaqztmHpUYm7LXnHbbevLfZ1uvK7HJ", "proofs": [ "2PR2Tte75omX8zM4LF6zsHReJgaYnRvmzqD5vc1SF3AehqcjMV1BonBy2ENacdDxnKV3HXUeijjirSQwgrNjp4bH" ], "script": "base64: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MQMJAAAAAAAAAgUAAAALJHQwMTg0NjE5MzAFAAAACyR0MDE4NDYxOTMwBAAAAAt1c2VyRGVidFVzZAgFAAAACyR0MDE4NDYxOTMwAAAAAl81BAAAAAh1c2VyRGVidAgFAAAACyR0MDE4NDYxOTMwAAAAAl80BAAAAAx1c2VyQXNzZXRVc2QIBQAAAAskdDAxODQ2MTkzMAAAAAJfMwQAAAAJdXNlckFzc2V0CAUAAAALJHQwMTg0NjE5MzAAAAACXzIEAAAABmlnbm9yZQgFAAAACyR0MDE4NDYxOTMwAAAAAl8xCQAFFAAAAAIFAAAADHVzZXJBc3NldFVzZAUAAAALdXNlckRlYnRVc2QJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAI1N0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmAQAAAAxnZXRJbnRPclplcm8AAAABAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkAAAAAAAAAAAABAAAADGdldFZpcmVzSW5mbwAAAAEAAAAGd2FsbGV0BAAAABF2aXJlc1dhdmVzQmFsYW5jZQkBAAAADmdldFVzZXJCYWxhbmNlAAAAAgUAAAAGd2FsbGV0CQEAAAAHQWRkcmVzcwAAAAEFAAAAEXZpcmVzV2F2ZXNBZGRyZXNzBAAAABB2aXJlc1VzZG5CYWxhbmNlCQEAAAAOZ2V0VXNlckJhbGFuY2UAAAACBQAAAAZ3YWxsZXQJAQAAAAdBZGRyZXNzAAAAAQUAAAAQdmlyZXNVc2RuQWRkcmVzcwQAAAAQdmlyZXNVc2R0QmFsYW5jZQkBAAAADmdldFVzZXJCYWxhbmNlAAAAAgUAAAAGd2FsbGV0CQEAAAAHQWRkcmVzcwAAAAEFAAAAEHZpcmVzVXNkdEFkZHJlc3MEAAAAEHZpcmVzVXNkY0JhbGFuY2UJAQAAAA5nZXRVc2VyQmFsYW5jZQAAAAIFAAAABndhbGxldAkBAAAAB0FkZHJlc3MAAAABBQAAABB2aXJlc1VzZGNBZGRyZXNzBAAAAA92aXJlc0J0Y0JhbGFuY2UJAQAAAA5nZXRVc2VyQmFsYW5jZQAAAAIFAAAABndhbGxldAkBAAAAB0FkZHJlc3MAAAABBQAAAA92aXJlc0J0Y0FkZHJlc3MEAAAAD3ZpcmVzRXRoQmFsYW5jZQkBAAAADmdldFVzZXJCYWxhbmNlAAAAAgUAAAAGd2FsbGV0CQEAAAAHQWRkcmVzcwAAAAEFAAAAD3ZpcmVzRXRoQWRkcmVzcwQAAAAQdmlyZXNFdXJuQmFsYW5jZQkBAAAADmdldFVzZXJCYWxhbmNlAAAAAgUAAAAGd2FsbGV0CQEAAAAHQWRkcmVzcwAAAAEFAAAAEHZpcmVzRXVybkFkZHJlc3MJAARMAAAAAggFAAAAEXZpcmVzV2F2ZXNCYWxhbmNlAAAAAl8xCQAETAAAAAIIBQAAABB2aXJlc1VzZG5CYWxhbmNlAAAAAl8xCQAETAAAAAIIBQAAABB2aXJlc1VzZHRCYWxhbmNlAAAAAl8xCQAETAAAAAIIBQAAABB2aXJlc1VzZGNCYWxhbmNlAAAAAl8xCQAETAAAAAIIBQAAAA92aXJlc0J0Y0JhbGFuY2UAAAACXzEJAARMAAAAAggFAAAAD3ZpcmVzRXRoQmFsYW5jZQAAAAJfMQkABEwAAAACCAUAAAAQdmlyZXNFdXJuQmFsYW5jZQAAAAJfMQkABEwAAAACCAUAAAARdmlyZXNXYXZlc0JhbGFuY2UAAAACXzIJAARMAAAAAggFAAAAEHZpcmVzVXNkbkJhbGFuY2UAAAACXzIJAARMAAAAAggFAAAAEHZpcmVzVXNkdEJhbGFuY2UAAAACXzIJAARMAAAAAggFAAAAEHZpcmVzVXNkY0JhbGFuY2UAAAACXzIJAARMAAAAAggFAAAAD3ZpcmVzQnRjQmFsYW5jZQAAAAJfMgkABEwAAAACCAUAAAAPdmlyZXNFdGhCYWxhbmNlAAAAAl8yCQAETAAAAAIIBQAAABB2aXJlc0V1cm5CYWxhbmNlAAAAAl8yBQAAAANuaWwBAAAAC2ZfbGlxdWlkYXRlAAAAAwAAAA12aWN0aW1BZGRyZXNzAAAADWJvcnJvd0FkZHJlc3MAAAAOcmVzZXJ2ZUFkZHJlc3MEAAAAAmkxCQAD/AAAAAQJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAADWJvcnJvd0FkZHJlc3MCAAAAC3VzZXJCYWxhbmNlCQAETAAA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", "height": 3107983, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Fi5nfwpNMc5CKRQXDx3V9TE3FRZjZYMKzSbuN6Tm2CjT Next: Fria8q33QS2rnBvtYLmYgv1F7Zcvw4JG1NpmaaRVVa4P Diff:
OldNewDifferences
174174 if ((toString(i.caller) != admin))
175175 then throw("only admin can do")
176176 else {
177- let liqInv = invoke(Address(liquidationAddress), "borrow2", [r, a], nil)
177+ let liqInv = invoke(Address(viresMainAddress), "borrow2", [r, a], nil)
178178 if ((liqInv == liqInv))
179179 then nil
180180 else throw("#0. Strict value is not equal to itself")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let viresMainAddress = base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'
55
66 let liquidationAddress = base58'3PJ6iR5X1PT2rZcNmbqByKuh7k8mtj5wVGw'
77
88 let viresConfigAddress = base58'3P2rJGfb5MbeivZNSqdVmsD1Y2Mz8y6Jr3Z'
99
1010 let viresWavesAddress = base58'3P8G747fnB1DTQ4d5uD114vjAaeezCW4FaM'
1111
1212 let viresUsdnAddress = base58'3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce'
1313
1414 let viresUsdtAddress = base58'3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR'
1515
1616 let viresUsdcAddress = base58'3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S'
1717
1818 let viresBtcAddress = base58'3PA7QMFyHMtHeP66SUQnwCgwKQHKpCyXWwd'
1919
2020 let viresEthAddress = base58'3PPdeWwrzaxqgr6BuReoF3sWfxW8SYv743D'
2121
2222 let viresEurnAddress = base58'3PBjqiMwwag72VWUtHNnVrxTBrNK8D7bVcN'
2323
2424 let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
2525
2626 func getAmountFromUserBalance (v) = match v {
2727 case x: (Int, Int, Int, Int, Int, Boolean) =>
2828 x._2
2929 case t =>
3030 throw("#err")
3131 }
3232
3333
3434 func w_usdc () = {
3535 let scBalance = assetBalance(Address(viresUsdcAddress), USDC)
3636 if ((1 > scBalance))
3737 then -1
3838 else {
3939 let userBalance = getAmountFromUserBalance(invoke(Address(viresUsdcAddress), "userBalance", [toString(this)], nil))
4040 if ((1 > userBalance))
4141 then -2
4242 else {
4343 let amount = if ((scBalance > userBalance))
4444 then -1
4545 else scBalance
4646 let inv = invoke(Address(viresMainAddress), "withdraw", [toBase58String(USDC), amount], nil)
4747 if ((inv == inv))
4848 then 1
4949 else throw("Strict value is not equal to itself.")
5050 }
5151 }
5252 }
5353
5454
5555 func asUserBalance (value) = match value {
5656 case x: (Int, Int, Int, Int, Int, Boolean) =>
5757 x
5858 case t =>
5959 throw("expected int5&boolean")
6060 }
6161
6262
6363 func getUserBalance (victimAddress,borrowAddress) = {
6464 let i1 = invoke(borrowAddress, "userBalance", [victimAddress], nil)
6565 if ((i1 == i1))
6666 then {
6767 let $t018461930 = asUserBalance(i1)
6868 if (($t018461930 == $t018461930))
6969 then {
7070 let userDebtUsd = $t018461930._5
7171 let userDebt = $t018461930._4
7272 let userAssetUsd = $t018461930._3
7373 let userAsset = $t018461930._2
7474 let ignore = $t018461930._1
7575 $Tuple2(userAssetUsd, userDebtUsd)
7676 }
7777 else throw("Strict value is not equal to itself.")
7878 }
7979 else throw("Strict value is not equal to itself")
8080 }
8181
8282
8383 func getIntOrZero (key) = valueOrElse(getInteger(this, key), 0)
8484
8585
8686 func getViresInfo (wallet) = {
8787 let viresWavesBalance = getUserBalance(wallet, Address(viresWavesAddress))
8888 let viresUsdnBalance = getUserBalance(wallet, Address(viresUsdnAddress))
8989 let viresUsdtBalance = getUserBalance(wallet, Address(viresUsdtAddress))
9090 let viresUsdcBalance = getUserBalance(wallet, Address(viresUsdcAddress))
9191 let viresBtcBalance = getUserBalance(wallet, Address(viresBtcAddress))
9292 let viresEthBalance = getUserBalance(wallet, Address(viresEthAddress))
9393 let viresEurnBalance = getUserBalance(wallet, Address(viresEurnAddress))
9494 [viresWavesBalance._1, viresUsdnBalance._1, viresUsdtBalance._1, viresUsdcBalance._1, viresBtcBalance._1, viresEthBalance._1, viresEurnBalance._1, viresWavesBalance._2, viresUsdnBalance._2, viresUsdtBalance._2, viresUsdcBalance._2, viresBtcBalance._2, viresEthBalance._2, viresEurnBalance._2]
9595 }
9696
9797
9898 func f_liquidate (victimAddress,borrowAddress,reserveAddress) = {
9999 let i1 = invoke(addressFromStringValue(borrowAddress), "userBalance", [victimAddress], nil)
100100 if ((i1 == i1))
101101 then {
102102 let $t031913275 = asUserBalance(i1)
103103 if (($t031913275 == $t031913275))
104104 then {
105105 let userDebtUsd = $t031913275._5
106106 let userDebt = $t031913275._4
107107 let userAssetUsd = $t031913275._3
108108 let userAsset = $t031913275._2
109109 let ignore = $t031913275._1
110110 let collateralAsset = valueOrErrorMessage(getString(addressFromStringValue(reserveAddress), "assetId"), "no assetId in cr")
111111 let factor = valueOrElse(getInteger(Address(viresConfigAddress), (collateralAsset + "_LiquidationFractionFactor")), 2)
112112 if ((userAsset >= userDebt))
113113 then throw("#0. can't liquidate debt of asset of positive saldo")
114114 else {
115115 let liquidateDebtAmount = min([fraction((userDebt - userAsset), 10, 21), 50000000000])
116116 if ((1000000 > liquidateDebtAmount))
117117 then throw(("#2. liquidateDebtAmount is too low: " + toString(liquidateDebtAmount)))
118118 else {
119119 let liqInv = invoke(Address(viresMainAddress), "transferDebt", [borrowAddress, reserveAddress, victimAddress, liquidateDebtAmount], nil)
120120 if ((liqInv == liqInv))
121121 then 0
122122 else throw("#0. Strict value is not equal to itself")
123123 }
124124 }
125125 }
126126 else throw("Strict value is not equal to itself.")
127127 }
128128 else throw("#0. Strict value is not equal to itself")
129129 }
130130
131131
132132 @Callable(i)
133133 func liquidate (borrowAddress,reserveAddress,victimAddress) = {
134134 let admin = "3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC"
135135 if ((toString(i.caller) != admin))
136136 then throw("only admin can do")
137137 else {
138138 let r = f_liquidate(victimAddress, borrowAddress, reserveAddress)
139139 if ((r == r))
140140 then nil
141141 else throw("Strict value is not equal to itself.")
142142 }
143143 }
144144
145145
146146
147147 @Callable(i)
148148 func liquidate_lite (borrowAddress,reserveAddress,victimAddress,liquidateDebtAmount) = {
149149 let admin = "3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC"
150150 if ((toString(i.caller) != admin))
151151 then throw("only admin can do")
152152 else if ((borrowAddress == reserveAddress))
153153 then {
154154 let forceCollapse = invoke(Address(liquidationAddress), "forceCollapse", [reserveAddress, victimAddress], nil)
155155 if ((forceCollapse == forceCollapse))
156156 then nil
157157 else throw("#0. Strict value is not equal to itself")
158158 }
159159 else if ((1000000 > liquidateDebtAmount))
160160 then throw(("#2. liquidateDebtAmount is too low: " + toString(liquidateDebtAmount)))
161161 else {
162162 let liqInv = invoke(Address(liquidationAddress), "transferDebt", [borrowAddress, reserveAddress, victimAddress, liquidateDebtAmount], nil)
163163 if ((liqInv == liqInv))
164164 then nil
165165 else throw("#0. Strict value is not equal to itself")
166166 }
167167 }
168168
169169
170170
171171 @Callable(i)
172172 func iseeyou_borrow (r,a) = {
173173 let admin = "3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC"
174174 if ((toString(i.caller) != admin))
175175 then throw("only admin can do")
176176 else {
177- let liqInv = invoke(Address(liquidationAddress), "borrow2", [r, a], nil)
177+ let liqInv = invoke(Address(viresMainAddress), "borrow2", [r, a], nil)
178178 if ((liqInv == liqInv))
179179 then nil
180180 else throw("#0. Strict value is not equal to itself")
181181 }
182182 }
183183
184184
185185
186186 @Callable(i)
187187 func usdc_v2 () = if ((w_usdc() == 10))
188188 then throw("!")
189189 else nil
190190
191191

github/deemru/w8io/786bc32 
62.44 ms