tx · FVWqU8FH8fmbFaAWrhALo1Vf21kxoAh4LzRZVBXrGpS9

3PC51qgNQz4xx7m1DhLdCDYESaeNKT6zeFt:  -0.01400000 Waves

2022.04.24 23:24 [3088441] smart account 3PC51qgNQz4xx7m1DhLdCDYESaeNKT6zeFt > SELF 0.00000000 Waves

{ "type": 13, "id": "FVWqU8FH8fmbFaAWrhALo1Vf21kxoAh4LzRZVBXrGpS9", "fee": 1400000, "feeAssetId": null, "timestamp": 1650831891754, "version": 2, "chainId": 87, "sender": "3PC51qgNQz4xx7m1DhLdCDYESaeNKT6zeFt", "senderPublicKey": "FJsKqbdyEBXkB3CaqztmHpUYm7LXnHbbevLfZ1uvK7HJ", "proofs": [ "9pqf8BjzWsZVkZxrdv85yjJuFxhbxXL98ELmRhAtFbJtJLgqG8LPCua5WgRDjZDXSeg8BhGocyYgfeuMG12gT2y" ], "script": "base64:AAIFAAAAAAAAAAsIAhIFCgMICAgSAAAAABEAAAAAEHZpcmVzTWFpbkFkZHJlc3MBAAAAGgFXXsGWGTDJokN4RmnWJtbx5rhD0L32TB64AAAAABJ2aXJlc0NvbmZpZ0FkZHJlc3MBAAAAGgFXChmyltG/jxdh/KKplR5x22CZr3o5NimwAAAAABF2aXJlc1dhdmVzQWRkcmVzcwEAAAAaAVdFcvJXlzessQBsTK3xEFoBCgRaEwrxQm4AAAAAEHZpcmVzVXNkbkFkZHJlc3MBAAAAGgFXeLq+Y46YKYPHvYi/JsaNSdnBbx14bZYfAAAAABB2aXJlc1VzZHRBZGRyZXNzAQAAABoBV4wzfon//pTaHf7sOt6bBCYS88FfxG0ODAAAAAAQdmlyZXNVc2RjQWRkcmVzcwEAAAAaAVeckdbrVt9jsb9/5I0zJOQcqOP4QOc77QMAAAAAD3ZpcmVzQnRjQWRkcmVzcwEAAAAaAVdZveRlqqfDVpd/M82+bdkO/IdI14tqVEQAAAAAD3ZpcmVzRXRoQWRkcmVzcwEAAAAaAVfuD9UPC+leeMO6973orufRCfl7iUSD8EwAAAAAEHZpcmVzRXVybkFkZHJlc3MBAAAAGgFXa5oqTkIpOJCpBe5i1t5KmTFO1GlbGeLjAAAAAARVU0RDAQAAACBSM9nhl4gm5eIfwv3qiDS4h3ajjLGD78hgHH4KElQmJQEAAAAYZ2V0QW1vdW50RnJvbVVzZXJCYWxhbmNlAAAAAQAAAAF2BAAAAAckbWF0Y2gwBQAAAAF2AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAACIoSW50LCBJbnQsIEludCwgSW50LCBJbnQsIEJvb2xlYW4pBAAAAAF4BQAAAAckbWF0Y2gwCAUAAAABeAAAAAJfMgQAAAABdAUAAAAHJG1hdGNoMAkAAAIAAAABAgAAAAQjZXJyAQAAAAZ3X3VzZGMAAAAABAAAAAlzY0JhbGFuY2UJAAPwAAAAAgkBAAAAB0FkZHJlc3MAAAABBQAAABB2aXJlc1VzZGNBZGRyZXNzBQAAAARVU0RDAwkAAGYAAAACAAAAAAAAAAABBQAAAAlzY0JhbGFuY2UA//////////8EAAAAC3VzZXJCYWxhbmNlCQEAAAAYZ2V0QW1vdW50RnJvbVVzZXJCYWxhbmNlAAAAAQkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEFAAAAEHZpcmVzVXNkY0FkZHJlc3MCAAAAC3VzZXJCYWxhbmNlCQAETAAAAAIJAAQlAAAAAQUAAAAEdGhpcwUAAAADbmlsBQAAAANuaWwDCQAAZgAAAAIAAAAAAAAAAAEFAAAAC3VzZXJCYWxhbmNlAP/////////+BAAAAAZhbW91bnQDCQAAZgAAAAIFAAAACXNjQmFsYW5jZQUAAAALdXNlckJhbGFuY2UA//////////8FAAAACXNjQmFsYW5jZQQAAAADaW52CQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQUAAAAQdmlyZXNNYWluQWRkcmVzcwIAAAAId2l0aGRyYXcJAARMAAAAAgkAAlgAAAABBQAAAARVU0RDCQAETAAAAAIFAAAABmFtb3VudAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAA2ludgUAAAADaW52AAAAAAAAAAABCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEAAAANYXNVc2VyQmFsYW5jZQAAAAEAAAAFdmFsdWUEAAAAByRtYXRjaDAFAAAABXZhbHVlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAACIoSW50LCBJbnQsIEludCwgSW50LCBJbnQsIEJvb2xlYW4pBAAAAAF4BQAAAAckbWF0Y2gwBQAAAAF4BAAAAAF0BQAAAAckbWF0Y2gwCQAAAgAAAAECAAAAFWV4cGVjdGVkIGludDUmYm9vbGVhbgEAAAAOZ2V0VXNlckJhbGFuY2UAAAACAAAADXZpY3RpbUFkZHJlc3MAAAANYm9ycm93QWRkcmVzcwQAAAACaTEJAAP8AAAABAUAAAANYm9ycm93QWRkcmVzcwIAAAALdXNlckJhbGFuY2UJAARMAAAAAgUAAAANdmljdGltQWRkcmVzcwUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAAmkxBQAAAAJpMQQAAAALJHQwMTc3NzE4NjEJAQAAAA1hc1VzZXJCYWxhbmNlAAAAAQUAAAACaTEDCQAAAAAAAAIFAAAACyR0MDE3NzcxODYxBQAAAAskdDAxNzc3MTg2MQQAAAALdXNlckRlYnRVc2QIBQAAAAskdDAxNzc3MTg2MQAAAAJfNQQAAAAIdXNlckRlYnQIBQAAAAskdDAxNzc3MTg2MQAAAAJfNAQAAAAMdXNlckFzc2V0VXNkCAUAAAALJHQwMTc3NzE4NjEAAAACXzMEAAAACXVzZXJBc3NldAgFAAAACyR0MDE3NzcxODYxAAAAAl8yBAAAAAZpZ25vcmUIBQAAAAskdDAxNzc3MTg2MQAAAAJfMQkABRQAAAACBQAAAAx1c2VyQXNzZXRVc2QFAAAAC3VzZXJEZWJ0VXNkCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACNTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZgEAAAAMZ2V0SW50T3JaZXJvAAAAAQAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AAAAAAAAAAAAAQAAAAxnZXRWaXJlc0luZm8AAAABAAAABndhbGxldAQAAAARdmlyZXNXYXZlc0JhbGFuY2UJAQAAAA5nZXRVc2VyQmFsYW5jZQAAAAIFAAAABndhbGxldAkBAAAAB0FkZHJlc3MAAAABBQAAABF2aXJlc1dhdmVzQWRkcmVzcwQAAAAQdmlyZXNVc2RuQmFsYW5jZQkBAAAADmdldFVzZXJCYWxhbmNlAAAAAgUAAAAGd2FsbGV0CQEAAAAHQWRkcmVzcwAAAAEFAAAAEHZpcmVzVXNkbkFkZHJlc3MEAAAAEHZpcmVzVXNkdEJhbGFuY2UJAQAAAA5nZXRVc2VyQmFsYW5jZQAAAAIFAAAABndhbGxldAkBAAAAB0FkZHJlc3MAAAABBQAAABB2aXJlc1VzZHRBZGRyZXNzBAAAABB2aXJlc1VzZGNCYWxhbmNlCQEAAAAOZ2V0VXNlckJhbGFuY2UAAAACBQAAAAZ3YWxsZXQJAQAAAAdBZGRyZXNzAAAAAQUAAAAQdmlyZXNVc2RjQWRkcmVzcwQAAAAPdmlyZXNCdGNCYWxhbmNlCQEAAAAOZ2V0VXNlckJhbGFuY2UAAAACBQAAAAZ3YWxsZXQJAQAAAAdBZGRyZXNzAAAAAQUAAAAPdmlyZXNCdGNBZGRyZXNzBAAAAA92aXJlc0V0aEJhbGFuY2UJAQAAAA5nZXRVc2VyQmFsYW5jZQAAAAIFAAAABndhbGxldAkBAAAAB0FkZHJlc3MAAAABBQAAAA92aXJlc0V0aEFkZHJlc3MEAAAAEHZpcmVzRXVybkJhbGFuY2UJAQAAAA5nZXRVc2VyQmFsYW5jZQAAAAIFAAAABndhbGxldAkBAAAAB0FkZHJlc3MAAAABBQAAABB2aXJlc0V1cm5BZGRyZXNzCQAETAAAAAIIBQAAABF2aXJlc1dhdmVzQmFsYW5jZQAAAAJfMQkABEwAAAACCAUAAAAQdmlyZXNVc2RuQmFsYW5jZQAAAAJfMQkABEwAAAACCAUAAAAQdmlyZXNVc2R0QmFsYW5jZQAAAAJfMQkABEwAAAACCAUAAAAQdmlyZXNVc2RjQmFsYW5jZQAAAAJfMQkABEwAAAACCAUAAAAPdmlyZXNCdGNCYWxhbmNlAAAAAl8xCQAETAAAAAIIBQAAAA92aXJlc0V0aEJhbGFuY2UAAAACXzEJAARMAAAAAggFAAAAEHZpcmVzRXVybkJhbGFuY2UAAAACXzEJAARMAAAAAggFAAAAEXZpcmVzV2F2ZXNCYWxhbmNlAAAAAl8yCQAETAAAAAIIBQAAABB2aXJlc1VzZG5CYWxhbmNlAAAAAl8yCQAETAAAAAIIBQAAABB2aXJlc1VzZHRCYWxhbmNlAAAAAl8yCQAETAAAAAIIBQAAABB2aXJlc1VzZGNCYWxhbmNlAAAAAl8yCQAETAAAAAIIBQAAAA92aXJlc0J0Y0JhbGFuY2UAAAACXzIJAARMAAAAAggFAAAAD3ZpcmVzRXRoQmFsYW5jZQAAAAJfMgkABEwAAAACCAUAAAAQdmlyZXNFdXJuQmFsYW5jZQAAAAJfMgUAAAADbmlsAQAAAAtmX2xpcXVpZGF0ZQAAAAMAAAANYm9ycm93QWRkcmVzcwAAAA5yZXNlcnZlQWRkcmVzcwAAAA12aWN0aW1BZGRyZXNzBAAAAAJpMQkAA/wAAAAECQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAA1ib3Jyb3dBZGRyZXNzAgAAAAt1c2VyQmFsYW5jZQkABEwAAAACBQAAAA12aWN0aW1BZGRyZXNzBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAACaTEFAAAAAmkxBAAAAAskdDAzMTIyMzIwNgkBAAAADWFzVXNlckJhbGFuY2UAAAABBQAAAAJpMQMJAAAAAAAAAgUAAAALJHQwMzEyMjMyMDYFAAAACyR0MDMxMjIzMjA2BAAAAAt1c2VyRGVidFVzZAgFAAAACyR0MDMxMjIzMjA2AAAAAl81BAAAAAh1c2VyRGVidAgFAAAACyR0MDMxMjIzMjA2AAAAAl80BAAAAAx1c2VyQXNzZXRVc2QIBQAAAAskdDAzMTIyMzIwNgAAAAJfMwQAAAAJdXNlckFzc2V0CAUAAAALJHQwMzEyMjMyMDYAAAACXzIEAAAABmlnbm9yZQgFAAAACyR0MDMxMjIzMjA2AAAAAl8xBAAAAA9jb2xsYXRlcmFsQXNzZXQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAA5yZXNlcnZlQWRkcmVzcwIAAAAHYXNzZXRJZAIAAAAQbm8gYXNzZXRJZCBpbiBjcgQAAAAGZmFjdG9yCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIJAQAAAAdBZGRyZXNzAAAAAQUAAAASdmlyZXNDb25maWdBZGRyZXNzCQABLAAAAAIFAAAAD2NvbGxhdGVyYWxBc3NldAIAAAAaX0xpcXVpZGF0aW9uRnJhY3Rpb25GYWN0b3IAAAAAAAAAAAIDCQAAZwAAAAIFAAAACXVzZXJBc3NldAUAAAAIdXNlckRlYnQJAAACAAAAAQIAAAAzIzAuIGNhbid0IGxpcXVpZGF0ZSBkZWJ0IG9mIGFzc2V0IG9mIHBvc2l0aXZlIHNhbGRvBAAAABNsaXF1aWRhdGVEZWJ0QW1vdW50CQABlwAAAAEJAARMAAAAAgkAAGsAAAADCQAAZQAAAAIFAAAACHVzZXJEZWJ0BQAAAAl1c2VyQXNzZXQAAAAAAAAAAAoAAAAAAAAAABUJAARMAAAAAgAAAAALpDt0AAUAAAADbmlsAwkAAGYAAAACAAAAAAAAD0JABQAAABNsaXF1aWRhdGVEZWJ0QW1vdW50CQAAAgAAAAEJAAEsAAAAAgIAAAAkIzIuIGxpcXVpZGF0ZURlYnRBbW91bnQgaXMgdG9vIGxvdzogCQABpAAAAAEFAAAAE2xpcXVpZGF0ZURlYnRBbW91bnQEAAAABmxpcUludgkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEFAAAAEHZpcmVzTWFpbkFkZHJlc3MCAAAADHRyYW5zZmVyRGVidAkABEwAAAACBQAAAA1ib3Jyb3dBZGRyZXNzCQAETAAAAAIFAAAADnJlc2VydmVBZGRyZXNzCQAETAAAAAIFAAAADXZpY3RpbUFkZHJlc3MJAARMAAAAAgUAAAATbGlxdWlkYXRlRGVidEFtb3VudAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAABmxpcUludgUAAAAGbGlxSW52AAAAAAAAAAAACQAAAgAAAAECAAAAJyMwLiBTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAnIzAuIFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmAAAAAgAAAAFpAQAAAAlsaXF1aWRhdGUAAAADAAAADWJvcnJvd0FkZHJlc3MAAAAOcmVzZXJ2ZUFkZHJlc3MAAAANdmljdGltQWRkcmVzcwQAAAAFYWRtaW4CAAAAIzNQNmdHc1ZRYkQyeGdtYU54TjdSajNhcm9oUHNCeHZvNUdDAwkBAAAAAiE9AAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAABWFkbWluCQAAAgAAAAECAAAAEW9ubHkgYWRtaW4gY2FuIGRvBAAAAAFyCQEAAAALZl9saXF1aWRhdGUAAAADBQAAAA1ib3Jyb3dBZGRyZXNzBQAAAA5yZXNlcnZlQWRkcmVzcwUAAAANdmljdGltQWRkcmVzcwMJAAAAAAAAAgUAAAABcgUAAAABcgUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAAd1c2RjX3YyAAAAAAMJAAAAAAAAAgkBAAAABndfdXNkYwAAAAAAAAAAAAAAAAoJAAACAAAAAQIAAAABIQUAAAADbmlsAAAAAPsx17k=", "height": 3088441, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5SFCVzTbYTsovHutr7wS7JcAbmWPPRVDRMmfnAicsfS4 Next: 9YhNJs8ihzX13bcE6H6aEdKDijBCQUwemkvMZTWuAk7y Diff:
OldNewDifferences
110110 if ((userAsset >= userDebt))
111111 then throw("#0. can't liquidate debt of asset of positive saldo")
112112 else {
113- let liquidateDebtAmount = min([fraction((userDebt - userAsset), 10, 21), 20000000000])
113+ let liquidateDebtAmount = min([fraction((userDebt - userAsset), 10, 21), 50000000000])
114114 if ((1000000 > liquidateDebtAmount))
115115 then throw(("#2. liquidateDebtAmount is too low: " + toString(liquidateDebtAmount)))
116116 else {
117117 let liqInv = invoke(Address(viresMainAddress), "transferDebt", [borrowAddress, reserveAddress, victimAddress, liquidateDebtAmount], nil)
118118 if ((liqInv == liqInv))
119119 then 0
120- else throw(((((("#1. can't liquidate. userAsset: " + toString(userAsset)) + "; userDebt: ") + toString(userDebt)) + "; liquidateDebtAmount: ") + toString(liquidateDebtAmount)))
120+ else throw("#0. Strict value is not equal to itself")
121121 }
122122 }
123123 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let viresMainAddress = base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'
55
66 let viresConfigAddress = base58'3P2rJGfb5MbeivZNSqdVmsD1Y2Mz8y6Jr3Z'
77
88 let viresWavesAddress = base58'3P8G747fnB1DTQ4d5uD114vjAaeezCW4FaM'
99
1010 let viresUsdnAddress = base58'3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce'
1111
1212 let viresUsdtAddress = base58'3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR'
1313
1414 let viresUsdcAddress = base58'3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S'
1515
1616 let viresBtcAddress = base58'3PA7QMFyHMtHeP66SUQnwCgwKQHKpCyXWwd'
1717
1818 let viresEthAddress = base58'3PPdeWwrzaxqgr6BuReoF3sWfxW8SYv743D'
1919
2020 let viresEurnAddress = base58'3PBjqiMwwag72VWUtHNnVrxTBrNK8D7bVcN'
2121
2222 let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
2323
2424 func getAmountFromUserBalance (v) = match v {
2525 case x: (Int, Int, Int, Int, Int, Boolean) =>
2626 x._2
2727 case t =>
2828 throw("#err")
2929 }
3030
3131
3232 func w_usdc () = {
3333 let scBalance = assetBalance(Address(viresUsdcAddress), USDC)
3434 if ((1 > scBalance))
3535 then -1
3636 else {
3737 let userBalance = getAmountFromUserBalance(invoke(Address(viresUsdcAddress), "userBalance", [toString(this)], nil))
3838 if ((1 > userBalance))
3939 then -2
4040 else {
4141 let amount = if ((scBalance > userBalance))
4242 then -1
4343 else scBalance
4444 let inv = invoke(Address(viresMainAddress), "withdraw", [toBase58String(USDC), amount], nil)
4545 if ((inv == inv))
4646 then 1
4747 else throw("Strict value is not equal to itself.")
4848 }
4949 }
5050 }
5151
5252
5353 func asUserBalance (value) = match value {
5454 case x: (Int, Int, Int, Int, Int, Boolean) =>
5555 x
5656 case t =>
5757 throw("expected int5&boolean")
5858 }
5959
6060
6161 func getUserBalance (victimAddress,borrowAddress) = {
6262 let i1 = invoke(borrowAddress, "userBalance", [victimAddress], nil)
6363 if ((i1 == i1))
6464 then {
6565 let $t017771861 = asUserBalance(i1)
6666 if (($t017771861 == $t017771861))
6767 then {
6868 let userDebtUsd = $t017771861._5
6969 let userDebt = $t017771861._4
7070 let userAssetUsd = $t017771861._3
7171 let userAsset = $t017771861._2
7272 let ignore = $t017771861._1
7373 $Tuple2(userAssetUsd, userDebtUsd)
7474 }
7575 else throw("Strict value is not equal to itself.")
7676 }
7777 else throw("Strict value is not equal to itself")
7878 }
7979
8080
8181 func getIntOrZero (key) = valueOrElse(getInteger(this, key), 0)
8282
8383
8484 func getViresInfo (wallet) = {
8585 let viresWavesBalance = getUserBalance(wallet, Address(viresWavesAddress))
8686 let viresUsdnBalance = getUserBalance(wallet, Address(viresUsdnAddress))
8787 let viresUsdtBalance = getUserBalance(wallet, Address(viresUsdtAddress))
8888 let viresUsdcBalance = getUserBalance(wallet, Address(viresUsdcAddress))
8989 let viresBtcBalance = getUserBalance(wallet, Address(viresBtcAddress))
9090 let viresEthBalance = getUserBalance(wallet, Address(viresEthAddress))
9191 let viresEurnBalance = getUserBalance(wallet, Address(viresEurnAddress))
9292 [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]
9393 }
9494
9595
9696 func f_liquidate (borrowAddress,reserveAddress,victimAddress) = {
9797 let i1 = invoke(addressFromStringValue(borrowAddress), "userBalance", [victimAddress], nil)
9898 if ((i1 == i1))
9999 then {
100100 let $t031223206 = asUserBalance(i1)
101101 if (($t031223206 == $t031223206))
102102 then {
103103 let userDebtUsd = $t031223206._5
104104 let userDebt = $t031223206._4
105105 let userAssetUsd = $t031223206._3
106106 let userAsset = $t031223206._2
107107 let ignore = $t031223206._1
108108 let collateralAsset = valueOrErrorMessage(getString(addressFromStringValue(reserveAddress), "assetId"), "no assetId in cr")
109109 let factor = valueOrElse(getInteger(Address(viresConfigAddress), (collateralAsset + "_LiquidationFractionFactor")), 2)
110110 if ((userAsset >= userDebt))
111111 then throw("#0. can't liquidate debt of asset of positive saldo")
112112 else {
113- let liquidateDebtAmount = min([fraction((userDebt - userAsset), 10, 21), 20000000000])
113+ let liquidateDebtAmount = min([fraction((userDebt - userAsset), 10, 21), 50000000000])
114114 if ((1000000 > liquidateDebtAmount))
115115 then throw(("#2. liquidateDebtAmount is too low: " + toString(liquidateDebtAmount)))
116116 else {
117117 let liqInv = invoke(Address(viresMainAddress), "transferDebt", [borrowAddress, reserveAddress, victimAddress, liquidateDebtAmount], nil)
118118 if ((liqInv == liqInv))
119119 then 0
120- else throw(((((("#1. can't liquidate. userAsset: " + toString(userAsset)) + "; userDebt: ") + toString(userDebt)) + "; liquidateDebtAmount: ") + toString(liquidateDebtAmount)))
120+ else throw("#0. Strict value is not equal to itself")
121121 }
122122 }
123123 }
124124 else throw("Strict value is not equal to itself.")
125125 }
126126 else throw("#0. Strict value is not equal to itself")
127127 }
128128
129129
130130 @Callable(i)
131131 func liquidate (borrowAddress,reserveAddress,victimAddress) = {
132132 let admin = "3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC"
133133 if ((toString(i.caller) != admin))
134134 then throw("only admin can do")
135135 else {
136136 let r = f_liquidate(borrowAddress, reserveAddress, victimAddress)
137137 if ((r == r))
138138 then nil
139139 else throw("Strict value is not equal to itself.")
140140 }
141141 }
142142
143143
144144
145145 @Callable(i)
146146 func usdc_v2 () = if ((w_usdc() == 10))
147147 then throw("!")
148148 else nil
149149
150150

github/deemru/w8io/3ef1775 
55.62 ms