tx · Gyt4yW3XvrS4HfaGacB4cH1XQ3XHmgwK7KxotRAnmxBt

3PRCXiSGCsKcih1SXKwwJSKQm42SQ5ywVsC:  -0.00300000 Waves

2022.12.22 23:27 [3437430] smart account 3PRCXiSGCsKcih1SXKwwJSKQm42SQ5ywVsC > SELF 0.00000000 Waves

{ "type": 13, "id": "Gyt4yW3XvrS4HfaGacB4cH1XQ3XHmgwK7KxotRAnmxBt", "fee": 300000, "feeAssetId": null, "timestamp": 1671740856877, "version": 1, "sender": "3PRCXiSGCsKcih1SXKwwJSKQm42SQ5ywVsC", "senderPublicKey": "7YZQSz1ZQR8d4D27ik1ya4Qz2HSG87xHScRmiKvvfk1D", "proofs": [ "4eWrUA3PLh8uJEjQqzpDZAe7DybbZHCAEqRSUyzv1Q3EcbuzteCEBqJCv6dXWwYpH6gxiVGeZm3AfY5NGz9S29Bm" ], "script": "base64:BgIHCAISAwoBAQIABFVTRE4BILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRAAthZ2dyQWRkcmVzcwkBB0FkZHJlc3MBARoBV286hXxRfBxCZ0u4+m5f0vPEmd1h5yhYCwEBaQEIdXNkbl8xMDABBmFtb3VudAQRdXNkbkFtb3VudE9uU3RhcnQJAPAHAgUEdGhpcwUEVVNETgMJAAACBRF1c2RuQW1vdW50T25TdGFydAURdXNkbkFtb3VudE9uU3RhcnQEA2ludgkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUENidlBWUWZTdlZ1ODhpcDhGbTVZandKaGpFWWsxVHhoawIVd2l0aGRyYXdWZXN0ZWRBbGxVU0ROCQDMCAIHCQDMCAIGBQNuaWwFA25pbAMJAAACBQNpbnYFA2ludgQXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcJAPAHAgUEdGhpcwUEVVNETgMJAAACBRd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwUXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwULYWdnckFkZHJlc3MJAGUCBRd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwURdXNkbkFtb3VudE9uU3RhcnQFBFVTRE4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgD4YcA4", "chainId": 87, "height": 3437430, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 55kdG9zA8SG2DQX2VfLf8dYdBgfuUVgiNg2ud9zXBmHR Next: FbybXoVe9SerMsHeB97CQwZcg6HuSfXRV18criyXtddZ Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
55
6-let SURF = base58'At8D6NFFpheCbvKVnjVoeLL84Eo8NZn6ovManxfLaFWL'
7-
8-let adminAddress = Address(base58'3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC')
9-
10-let aggrAddress = Address(base58'3P5T88oGg47FEsJcpC2o43BSF34Bs5dcFpP')
11-
12-let usdnAggrAddress = Address(base58'3P2cpE7nusQRRFt3Tg22WtKfdi6bUKwmqVM')
13-
14-func asAnyList (v) = match v {
15- case l: List[Any] =>
16- l
17- case _ =>
18- throw("#err")
19-}
20-
21-
22-func asInt (v) = match v {
23- case x: Int =>
24- x
25- case t =>
26- throw("#err")
27-}
28-
6+let aggrAddress = Address(base58'3PC51qgNQz4xx7m1DhLdCDYESaeNKT6zeFt')
297
308 @Callable(i)
319 func usdn_100 (amount) = {
4624 }
4725
4826
49-
50-@Callable(i)
51-func surf (w) = if (if ((i.caller != adminAddress))
52- then (i.caller != this)
53- else false)
54- then throw("only admin can do")
55- else {
56- let neutrinoMetrics = asAnyList(invoke(addressFromStringValue("3P77iUusNwMMzWFdC8f7bftwpHyG1PBs1gq"), "calcNeutinoMetricsREADONLY", nil, nil))
57- let BR = asInt(neutrinoMetrics[8])
58- if ((w > BR))
59- then {
60- let inv = invoke(Address(base58'3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk'), "withdrawVestedAllSURF", [false, true], nil)
61- if ((inv == inv))
62- then {
63- let aAmount = assetBalance(this, SURF)
64-[ScriptTransfer(aggrAddress, aAmount, SURF)]
65- }
66- else throw("Strict value is not equal to itself.")
67- }
68- else throw(("br is bad. " + toString(BR)))
69- }
70-
71-
72-
73-@Callable(i)
74-func toVesting (b) = if (if (if ((i.originCaller != adminAddress))
75- then (i.originCaller != this)
76- else false)
77- then (i.originCaller != aggrAddress)
78- else false)
79- then throw("only admin can do")
80- else if ((size(i.payments) != 1))
81- then throw("bad payment")
82- else {
83- let repayAmount = i.payments[0].amount
84- let repayAsset = i.payments[0].assetId
85- let inv1 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "repay", [b], [AttachedPayment(repayAsset, repayAmount)])
86- if ((inv1 == inv1))
87- then {
88- let inv2 = invoke(Address(base58'3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk'), "convertToUSDN", nil, nil)
89- if ((inv2 == inv2))
90- then {
91- let inv3 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "withdraw", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", -1], nil)
92- if ((inv3 == inv3))
93- then {
94- let balance = assetBalance(this, value(repayAsset))
95- if ((balance == balance))
96- then [ScriptTransfer(aggrAddress, balance, repayAsset), ScriptTransfer(usdnAggrAddress, assetBalance(this, USDN), USDN)]
97- else throw("Strict value is not equal to itself.")
98- }
99- else throw("Strict value is not equal to itself.")
100- }
101- else throw("Strict value is not equal to itself.")
102- }
103- else throw("Strict value is not equal to itself.")
104- }
105-
106-
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
55
6-let SURF = base58'At8D6NFFpheCbvKVnjVoeLL84Eo8NZn6ovManxfLaFWL'
7-
8-let adminAddress = Address(base58'3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC')
9-
10-let aggrAddress = Address(base58'3P5T88oGg47FEsJcpC2o43BSF34Bs5dcFpP')
11-
12-let usdnAggrAddress = Address(base58'3P2cpE7nusQRRFt3Tg22WtKfdi6bUKwmqVM')
13-
14-func asAnyList (v) = match v {
15- case l: List[Any] =>
16- l
17- case _ =>
18- throw("#err")
19-}
20-
21-
22-func asInt (v) = match v {
23- case x: Int =>
24- x
25- case t =>
26- throw("#err")
27-}
28-
6+let aggrAddress = Address(base58'3PC51qgNQz4xx7m1DhLdCDYESaeNKT6zeFt')
297
308 @Callable(i)
319 func usdn_100 (amount) = {
3210 let usdnAmountOnStart = assetBalance(this, USDN)
3311 if ((usdnAmountOnStart == usdnAmountOnStart))
3412 then {
3513 let inv = invoke(addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk"), "withdrawVestedAllUSDN", [false, true], nil)
3614 if ((inv == inv))
3715 then {
3816 let usdnAmountAfterWithdraw = assetBalance(this, USDN)
3917 if ((usdnAmountAfterWithdraw == usdnAmountAfterWithdraw))
4018 then [ScriptTransfer(aggrAddress, (usdnAmountAfterWithdraw - usdnAmountOnStart), USDN)]
4119 else throw("Strict value is not equal to itself.")
4220 }
4321 else throw("Strict value is not equal to itself.")
4422 }
4523 else throw("Strict value is not equal to itself.")
4624 }
4725
4826
49-
50-@Callable(i)
51-func surf (w) = if (if ((i.caller != adminAddress))
52- then (i.caller != this)
53- else false)
54- then throw("only admin can do")
55- else {
56- let neutrinoMetrics = asAnyList(invoke(addressFromStringValue("3P77iUusNwMMzWFdC8f7bftwpHyG1PBs1gq"), "calcNeutinoMetricsREADONLY", nil, nil))
57- let BR = asInt(neutrinoMetrics[8])
58- if ((w > BR))
59- then {
60- let inv = invoke(Address(base58'3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk'), "withdrawVestedAllSURF", [false, true], nil)
61- if ((inv == inv))
62- then {
63- let aAmount = assetBalance(this, SURF)
64-[ScriptTransfer(aggrAddress, aAmount, SURF)]
65- }
66- else throw("Strict value is not equal to itself.")
67- }
68- else throw(("br is bad. " + toString(BR)))
69- }
70-
71-
72-
73-@Callable(i)
74-func toVesting (b) = if (if (if ((i.originCaller != adminAddress))
75- then (i.originCaller != this)
76- else false)
77- then (i.originCaller != aggrAddress)
78- else false)
79- then throw("only admin can do")
80- else if ((size(i.payments) != 1))
81- then throw("bad payment")
82- else {
83- let repayAmount = i.payments[0].amount
84- let repayAsset = i.payments[0].assetId
85- let inv1 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "repay", [b], [AttachedPayment(repayAsset, repayAmount)])
86- if ((inv1 == inv1))
87- then {
88- let inv2 = invoke(Address(base58'3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk'), "convertToUSDN", nil, nil)
89- if ((inv2 == inv2))
90- then {
91- let inv3 = invoke(Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'), "withdraw", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", -1], nil)
92- if ((inv3 == inv3))
93- then {
94- let balance = assetBalance(this, value(repayAsset))
95- if ((balance == balance))
96- then [ScriptTransfer(aggrAddress, balance, repayAsset), ScriptTransfer(usdnAggrAddress, assetBalance(this, USDN), USDN)]
97- else throw("Strict value is not equal to itself.")
98- }
99- else throw("Strict value is not equal to itself.")
100- }
101- else throw("Strict value is not equal to itself.")
102- }
103- else throw("Strict value is not equal to itself.")
104- }
105-
106-

github/deemru/w8io/3ef1775 
25.82 ms