2023.01.20 16:22 [3478823] smart account 3PQtCWETDNqNnUAmLv1jww94x5R8Fv6Rsvh > SELF 0.00000000 Waves

{ "type": 13, "id": "9FxFESrG5yHXMArVq8WNhxcszjanssAAzpFywnJJc6Nc", "fee": 500000, "feeAssetId": null, "timestamp": 1674220930231, "version": 1, "sender": "3PQtCWETDNqNnUAmLv1jww94x5R8Fv6Rsvh", "senderPublicKey": "6ASM4Jj8M3fWuA8sNjYsmJ1By6sc9gu8WSm3rmJYBitQ", "proofs": [ "3ynaTUfiY27AKfzsN7pPuanFx9R9rJfT3ciYEX4jfnWmvYKREVvbZPPNo98YC5y4WdM2jb7Vpp4cZAqWn28gAJfH" ], "script": "base64:BgIYCAISAwoBARIDCgEBEgMKAQgSAwoBCBIACAAEVVNETgEgtiYpwwT1zlORpA5LdSQvZIxRsfrfr1QpvUjSHSqyqtEABFNVUkYBIJLR9EriEQEr9H7q3iGOPcX7yfJ9zoey7VIZ8DpOJFj1AAxhZG1pbkFkZHJlc3MJAQdBZGRyZXNzAQEaAVc0FN9xREbfMFTR97icc0UMqzorm02OJmEAC2FnZ3JBZGRyZXNzCQEHQWRkcmVzcwEBGgFXJqAMCkZONGXCherIE8gqRGALS8LL8ZtsAA91c2RuQWdnckFkZHJlc3MJAQdBZGRyZXNzAQEaAVcHjOFVob2YfPYA61m/TjnrxEWlXnNk32wAC3plZnRBZGRyZXNzCQEHQWRkcmVzcwEBGgFXbzqFfFF8HEJnS7j6bl/S88SZ3WHnKFgLAQlhc0FueUxpc3QBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIJTGlzdFtBbnldBAFsBQckbWF0Y2gwBQFsCQACAQIEI2VycgEFYXNJbnQBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIDSW50BAF4BQckbWF0Y2gwBQF4BAF0BQckbWF0Y2gwCQACAQIEI2VycgUBaQEIdXNkbl8xMDABBmFtb3VudAQRdXNkbkFtb3VudE9uU3RhcnQJAPAHAgUEdGhpcwUEVVNETgMJAAACBRF1c2RuQW1vdW50T25TdGFydAURdXNkbkFtb3VudE9uU3RhcnQEA2ludgkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUENidlBWUWZTdlZ1ODhpcDhGbTVZandKaGpFWWsxVHhoawIVd2l0aGRyYXdWZXN0ZWRBbGxVU0ROCQDMCAIHCQDMCAIGBQNuaWwFA25pbAMJAAACBQNpbnYFA2ludgQXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcJAPAHAgUEdGhpcwUEVVNETgMJAAACBRd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwUXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwULYWdnckFkZHJlc3MJAGUCBRd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwURdXNkbkFtb3VudE9uU3RhcnQFBFVTRE4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQRzdXJmAQF3AwMJAQIhPQIIBQFpBmNhbGxlcgUMYWRtaW5BZGRyZXNzCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMHCQACAQIRb25seSBhZG1pbiBjYW4gZG8ED25ldXRyaW5vTWV0cmljcwkBCWFzQW55TGlzdAEJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM1A3N2lVdXNOd01NeldGZEM4ZjdiZnR3cEh5RzFQQnMxZ3ECGmNhbGNOZXV0aW5vTWV0cmljc1JFQURPTkxZBQNuaWwFA25pbAQCQlIJAQVhc0ludAEJAJEDAgUPbmV1dHJpbm9NZXRyaWNzAAgDCQBmAgUBdwUCQlIEA2ludgkA/AcECQEHQWRkcmVzcwEBGgFXdRLdk4IPW94ldhU5y0nVH1MoCcTocV4nAhV3aXRoZHJhd1Zlc3RlZEFsbFNVUkYJAMwIAgcJAMwIAgYFA25pbAUDbmlsAwkAAAIFA2ludgUDaW52BAdhQW1vdW50CQDwBwIFBHRoaXMFBFNVUkYJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwULYWdnckFkZHJlc3MFB2FBbW91bnQFBFNVUkYFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgEJAKwCAgILYnIgaXMgYmFkLiAJAKQDAQUCQlIBaQEJdG9WZXN0aW5nAQFiAwMDCQECIT0CCAUBaQxvcmlnaW5DYWxsZXIFDGFkbWluQWRkcmVzcwkBAiE9AggFAWkMb3JpZ2luQ2FsbGVyBQR0aGlzBwkBAiE9AggFAWkMb3JpZ2luQ2FsbGVyBQthZ2dyQWRkcmVzcwcJAAIBAhFvbmx5IGFkbWluIGNhbiBkbwMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECC2JhZCBwYXltZW50BAtyZXBheUFtb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQECnJlcGF5QXNzZXQICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAQEaW52MQkA/AcECQEHQWRkcmVzcwEBGgFXXsGWGTDJokN4RmnWJtbx5rhD0L32TB64AgVyZXBheQkAzAgCBQFiBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFCnJlcGF5QXNzZXQFC3JlcGF5QW1vdW50BQNuaWwDCQAAAgUEaW52MQUEaW52MQQEaW52MgkA/AcECQEHQWRkcmVzcwEBGgFXdRLdk4IPW94ldhU5y0nVH1MoCcTocV4nAg1jb252ZXJ0VG9VU0ROBQNuaWwFA25pbAMJAAACBQRpbnYyBQRpbnYyBARpbnYzCQD8BwQJAQdBZGRyZXNzAQEaAVdewZYZMMmiQ3hGadYm1vHmuEPQvfZMHrgCCHdpdGhkcmF3CQDMCAICLERHMnhGa1BkRHdLVW9Ca3pHQWhRdExwU0d6ZlhMaUNZUEV6ZUtIMkFkMjRwCQDMCAIA////////////AQUDbmlsBQNuaWwDCQAAAgUEaW52MwUEaW52MwQHYmFsYW5jZQkA8AcCBQR0aGlzCQEFdmFsdWUBBQpyZXBheUFzc2V0AwkAAAIFB2JhbGFuY2UFB2JhbGFuY2UJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwULYWdnckFkZHJlc3MFB2JhbGFuY2UFCnJlcGF5QXNzZXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUPdXNkbkFnZ3JBZGRyZXNzCQDwBwIFBHRoaXMFBFVTRE4FBFVTRE4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ9yZXdhcmRzX3Zlc3RpbmcBCnN0ckFkZHJlc3MDAwkBAiE9AggFAWkMb3JpZ2luQ2FsbGVyBQxhZG1pbkFkZHJlc3MJAQIhPQIIBQFpDG9yaWdpbkNhbGxlcgUEdGhpcwcJAAIBAhFvbmx5IGFkbWluIGNhbiBkbwQJdG9BZGRyZXNzAwkAAAIFCnN0ckFkZHJlc3MCIzNQQzUxcWdOUXo0eHg3bTFEaExkQ0RZRVNhZU5LVDZ6ZUZ0BQt6ZWZ0QWRkcmVzcwUPdXNkbkFnZ3JBZGRyZXNzBBF1c2RuQW1vdW50T25TdGFydAkA8AcCBQR0aGlzBQRVU0ROAwkAAAIFEXVzZG5BbW91bnRPblN0YXJ0BRF1c2RuQW1vdW50T25TdGFydAQDaW52CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQS1prNVRkUENMUDJHWnZpaXBMRmZLNDZFeFRud2tSQ0JkAgxjbGFpbVJld2FyZHMFA25pbAUDbmlsAwkAAAIFA2ludgUDaW52BBd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwkA8AcCBQR0aGlzBQRVU0ROAwkAAAIFF3VzZG5BbW91bnRBZnRlcldpdGhkcmF3BRd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQl0b0FkZHJlc3MJAGUCBRd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwURdXNkbkFtb3VudE9uU3RhcnQFBFVTRE4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQlpbXBvcnRfbHAAAwMDAwkBAiE9AggFAWkMb3JpZ2luQ2FsbGVyBQxhZG1pbkFkZHJlc3MJAQIhPQIIBQFpDG9yaWdpbkNhbGxlcgUEdGhpcwcJAQIhPQIIBQFpDG9yaWdpbkNhbGxlcgULYWdnckFkZHJlc3MHCQECIT0CCAUBaQxvcmlnaW5DYWxsZXIFD3VzZG5BZ2dyQWRkcmVzcwcJAAIBAhFvbmx5IGFkbWluIGNhbiBkbwMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECC2JhZCBwYXltZW50BAtyZXBheUFtb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQECnJlcGF5QXNzZXQICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAQDaW52CQD8BwQJAQdBZGRyZXNzAQEaAVdewZYZMMmiQ3hGadYm1vHmuEPQvfZMHrgCE3JlcGxlbmlzaFdpdGhBdG9rZW4FA25pbAgFAWkIcGF5bWVudHMDCQAAAgUDaW52BQNpbnYFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgBoMAFB", "chainId": 87, "height": 3478823, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CCxJAYb44aMaWkebJJg2wGFSX5e2UmuHFSFXq74ZhZh5 Next: BTUMZwm9uhWmtT17sri5TDwQZJvG7SdjtGqzpxZTh76x Diff:
OldNewDifferences
1010 let aggrAddress = Address(base58'3P5T88oGg47FEsJcpC2o43BSF34Bs5dcFpP')
1111
1212 let usdnAggrAddress = Address(base58'3P2cpE7nusQRRFt3Tg22WtKfdi6bUKwmqVM')
13+
14+let zeftAddress = Address(base58'3PC51qgNQz4xx7m1DhLdCDYESaeNKT6zeFt')
1315
1416 func asAnyList (v) = match v {
1517 case l: List[Any] =>
106108
107109
108110 @Callable(i)
109-func fullVestingEur (b,v,transferDebt) = if (if (if ((i.originCaller != adminAddress))
111+func rewards_vesting (strAddress) = if (if ((i.originCaller != adminAddress))
112+ then (i.originCaller != this)
113+ else false)
114+ then throw("only admin can do")
115+ else {
116+ let toAddress = if ((strAddress == "3PC51qgNQz4xx7m1DhLdCDYESaeNKT6zeFt"))
117+ then zeftAddress
118+ else usdnAggrAddress
119+ let usdnAmountOnStart = assetBalance(this, USDN)
120+ if ((usdnAmountOnStart == usdnAmountOnStart))
121+ then {
122+ let inv = invoke(addressFromStringValue("3PKZk5TdPCLP2GZviipLFfK46ExTnwkRCBd"), "claimRewards", nil, nil)
123+ if ((inv == inv))
124+ then {
125+ let usdnAmountAfterWithdraw = assetBalance(this, USDN)
126+ if ((usdnAmountAfterWithdraw == usdnAmountAfterWithdraw))
127+ then [ScriptTransfer(toAddress, (usdnAmountAfterWithdraw - usdnAmountOnStart), USDN)]
128+ else throw("Strict value is not equal to itself.")
129+ }
130+ else throw("Strict value is not equal to itself.")
131+ }
132+ else throw("Strict value is not equal to itself.")
133+ }
134+
135+
136+
137+@Callable(i)
138+func import_lp () = if (if (if (if ((i.originCaller != adminAddress))
110139 then (i.originCaller != this)
111140 else false)
112141 then (i.originCaller != aggrAddress)
113142 else false)
143+ then (i.originCaller != usdnAggrAddress)
144+ else false)
114145 then throw("only admin can do")
115- else if ((size(i.payments) != 2))
146+ else if ((size(i.payments) != 1))
116147 then throw("bad payment")
117148 else {
118- let supplyAmount = i.payments[0].amount
119- let supplyAsset = i.payments[0].assetId
120- let repayAmount = i.payments[1].amount
121- let repayAsset = i.payments[1].assetId
122- if ((supplyAsset != USDN))
123- then throw("bad deposit asset")
124- else {
125- let inv1 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "deposit", ["3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce", true], [AttachedPayment(supplyAsset, supplyAmount)])
126- if ((inv1 == inv1))
127- then {
128- let inv2 = invoke(Address(base58'3PJ6iR5X1PT2rZcNmbqByKuh7k8mtj5wVGw'), "transferDebt", ["3PBjqiMwwag72VWUtHNnVrxTBrNK8D7bVcN", "3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S", v, transferDebt], nil)
129- if ((inv2 == inv2))
130- then {
131- let inv3 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "repay", [b], [AttachedPayment(repayAsset, repayAmount)])
132- if ((inv3 == inv3))
133- then {
134- let inv4 = invoke(Address(base58'3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk'), "convertToUSDN", nil, nil)
135- if ((inv4 == inv4))
136- then {
137- let inv5 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "withdraw", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", -1], nil)
138- if ((inv5 == inv5))
139- then {
140- let inv6 = invoke(addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk"), "withdrawVestedAllUSDN", [false, true], nil)
141- if ((inv6 == inv6))
142- then {
143- let balance = assetBalance(this, value(repayAsset))
144- if ((balance == balance))
145- then [ScriptTransfer(aggrAddress, balance, repayAsset), ScriptTransfer(usdnAggrAddress, assetBalance(this, USDN), USDN)]
146- else throw("Strict value is not equal to itself.")
147- }
148- else throw("Strict value is not equal to itself.")
149- }
150- else throw("Strict value is not equal to itself.")
151- }
152- else throw("Strict value is not equal to itself.")
153- }
154- else throw("Strict value is not equal to itself.")
155- }
156- else throw("Strict value is not equal to itself.")
157- }
158- else throw("Strict value is not equal to itself.")
159- }
149+ let repayAmount = i.payments[0].amount
150+ let repayAsset = i.payments[0].assetId
151+ let inv = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "replenishWithAtoken", nil, i.payments)
152+ if ((inv == inv))
153+ then nil
154+ else throw("Strict value is not equal to itself.")
160155 }
161156
162157
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
55
66 let SURF = base58'At8D6NFFpheCbvKVnjVoeLL84Eo8NZn6ovManxfLaFWL'
77
88 let adminAddress = Address(base58'3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC')
99
1010 let aggrAddress = Address(base58'3P5T88oGg47FEsJcpC2o43BSF34Bs5dcFpP')
1111
1212 let usdnAggrAddress = Address(base58'3P2cpE7nusQRRFt3Tg22WtKfdi6bUKwmqVM')
13+
14+let zeftAddress = Address(base58'3PC51qgNQz4xx7m1DhLdCDYESaeNKT6zeFt')
1315
1416 func asAnyList (v) = match v {
1517 case l: List[Any] =>
1618 l
1719 case _ =>
1820 throw("#err")
1921 }
2022
2123
2224 func asInt (v) = match v {
2325 case x: Int =>
2426 x
2527 case t =>
2628 throw("#err")
2729 }
2830
2931
3032 @Callable(i)
3133 func usdn_100 (amount) = {
3234 let usdnAmountOnStart = assetBalance(this, USDN)
3335 if ((usdnAmountOnStart == usdnAmountOnStart))
3436 then {
3537 let inv = invoke(addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk"), "withdrawVestedAllUSDN", [false, true], nil)
3638 if ((inv == inv))
3739 then {
3840 let usdnAmountAfterWithdraw = assetBalance(this, USDN)
3941 if ((usdnAmountAfterWithdraw == usdnAmountAfterWithdraw))
4042 then [ScriptTransfer(aggrAddress, (usdnAmountAfterWithdraw - usdnAmountOnStart), USDN)]
4143 else throw("Strict value is not equal to itself.")
4244 }
4345 else throw("Strict value is not equal to itself.")
4446 }
4547 else throw("Strict value is not equal to itself.")
4648 }
4749
4850
4951
5052 @Callable(i)
5153 func surf (w) = if (if ((i.caller != adminAddress))
5254 then (i.caller != this)
5355 else false)
5456 then throw("only admin can do")
5557 else {
5658 let neutrinoMetrics = asAnyList(invoke(addressFromStringValue("3P77iUusNwMMzWFdC8f7bftwpHyG1PBs1gq"), "calcNeutinoMetricsREADONLY", nil, nil))
5759 let BR = asInt(neutrinoMetrics[8])
5860 if ((w > BR))
5961 then {
6062 let inv = invoke(Address(base58'3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk'), "withdrawVestedAllSURF", [false, true], nil)
6163 if ((inv == inv))
6264 then {
6365 let aAmount = assetBalance(this, SURF)
6466 [ScriptTransfer(aggrAddress, aAmount, SURF)]
6567 }
6668 else throw("Strict value is not equal to itself.")
6769 }
6870 else throw(("br is bad. " + toString(BR)))
6971 }
7072
7173
7274
7375 @Callable(i)
7476 func toVesting (b) = if (if (if ((i.originCaller != adminAddress))
7577 then (i.originCaller != this)
7678 else false)
7779 then (i.originCaller != aggrAddress)
7880 else false)
7981 then throw("only admin can do")
8082 else if ((size(i.payments) != 1))
8183 then throw("bad payment")
8284 else {
8385 let repayAmount = i.payments[0].amount
8486 let repayAsset = i.payments[0].assetId
8587 let inv1 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "repay", [b], [AttachedPayment(repayAsset, repayAmount)])
8688 if ((inv1 == inv1))
8789 then {
8890 let inv2 = invoke(Address(base58'3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk'), "convertToUSDN", nil, nil)
8991 if ((inv2 == inv2))
9092 then {
9193 let inv3 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "withdraw", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", -1], nil)
9294 if ((inv3 == inv3))
9395 then {
9496 let balance = assetBalance(this, value(repayAsset))
9597 if ((balance == balance))
9698 then [ScriptTransfer(aggrAddress, balance, repayAsset), ScriptTransfer(usdnAggrAddress, assetBalance(this, USDN), USDN)]
9799 else throw("Strict value is not equal to itself.")
98100 }
99101 else throw("Strict value is not equal to itself.")
100102 }
101103 else throw("Strict value is not equal to itself.")
102104 }
103105 else throw("Strict value is not equal to itself.")
104106 }
105107
106108
107109
108110 @Callable(i)
109-func fullVestingEur (b,v,transferDebt) = if (if (if ((i.originCaller != adminAddress))
111+func rewards_vesting (strAddress) = if (if ((i.originCaller != adminAddress))
112+ then (i.originCaller != this)
113+ else false)
114+ then throw("only admin can do")
115+ else {
116+ let toAddress = if ((strAddress == "3PC51qgNQz4xx7m1DhLdCDYESaeNKT6zeFt"))
117+ then zeftAddress
118+ else usdnAggrAddress
119+ let usdnAmountOnStart = assetBalance(this, USDN)
120+ if ((usdnAmountOnStart == usdnAmountOnStart))
121+ then {
122+ let inv = invoke(addressFromStringValue("3PKZk5TdPCLP2GZviipLFfK46ExTnwkRCBd"), "claimRewards", nil, nil)
123+ if ((inv == inv))
124+ then {
125+ let usdnAmountAfterWithdraw = assetBalance(this, USDN)
126+ if ((usdnAmountAfterWithdraw == usdnAmountAfterWithdraw))
127+ then [ScriptTransfer(toAddress, (usdnAmountAfterWithdraw - usdnAmountOnStart), USDN)]
128+ else throw("Strict value is not equal to itself.")
129+ }
130+ else throw("Strict value is not equal to itself.")
131+ }
132+ else throw("Strict value is not equal to itself.")
133+ }
134+
135+
136+
137+@Callable(i)
138+func import_lp () = if (if (if (if ((i.originCaller != adminAddress))
110139 then (i.originCaller != this)
111140 else false)
112141 then (i.originCaller != aggrAddress)
113142 else false)
143+ then (i.originCaller != usdnAggrAddress)
144+ else false)
114145 then throw("only admin can do")
115- else if ((size(i.payments) != 2))
146+ else if ((size(i.payments) != 1))
116147 then throw("bad payment")
117148 else {
118- let supplyAmount = i.payments[0].amount
119- let supplyAsset = i.payments[0].assetId
120- let repayAmount = i.payments[1].amount
121- let repayAsset = i.payments[1].assetId
122- if ((supplyAsset != USDN))
123- then throw("bad deposit asset")
124- else {
125- let inv1 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "deposit", ["3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce", true], [AttachedPayment(supplyAsset, supplyAmount)])
126- if ((inv1 == inv1))
127- then {
128- let inv2 = invoke(Address(base58'3PJ6iR5X1PT2rZcNmbqByKuh7k8mtj5wVGw'), "transferDebt", ["3PBjqiMwwag72VWUtHNnVrxTBrNK8D7bVcN", "3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S", v, transferDebt], nil)
129- if ((inv2 == inv2))
130- then {
131- let inv3 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "repay", [b], [AttachedPayment(repayAsset, repayAmount)])
132- if ((inv3 == inv3))
133- then {
134- let inv4 = invoke(Address(base58'3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk'), "convertToUSDN", nil, nil)
135- if ((inv4 == inv4))
136- then {
137- let inv5 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "withdraw", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", -1], nil)
138- if ((inv5 == inv5))
139- then {
140- let inv6 = invoke(addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk"), "withdrawVestedAllUSDN", [false, true], nil)
141- if ((inv6 == inv6))
142- then {
143- let balance = assetBalance(this, value(repayAsset))
144- if ((balance == balance))
145- then [ScriptTransfer(aggrAddress, balance, repayAsset), ScriptTransfer(usdnAggrAddress, assetBalance(this, USDN), USDN)]
146- else throw("Strict value is not equal to itself.")
147- }
148- else throw("Strict value is not equal to itself.")
149- }
150- else throw("Strict value is not equal to itself.")
151- }
152- else throw("Strict value is not equal to itself.")
153- }
154- else throw("Strict value is not equal to itself.")
155- }
156- else throw("Strict value is not equal to itself.")
157- }
158- else throw("Strict value is not equal to itself.")
159- }
149+ let repayAmount = i.payments[0].amount
150+ let repayAsset = i.payments[0].assetId
151+ let inv = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "replenishWithAtoken", nil, i.payments)
152+ if ((inv == inv))
153+ then nil
154+ else throw("Strict value is not equal to itself.")
160155 }
161156
162157

github/deemru/w8io/786bc32 
55.47 ms