tx · Wu1DPL6gFMULwYQmNrcoZjuPUDxC2Gff3vZE6XB2X42

3P2qmtyVE6fi71vwmTJLL3RUGXb2S1azZTn:  -0.00300000 Waves

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

{ "type": 13, "id": "Wu1DPL6gFMULwYQmNrcoZjuPUDxC2Gff3vZE6XB2X42", "fee": 300000, "feeAssetId": null, "timestamp": 1671740852058, "version": 1, "sender": "3P2qmtyVE6fi71vwmTJLL3RUGXb2S1azZTn", "senderPublicKey": "HRJ4Tp3khEvcdWBK1j15iCs9bJRykMHf4yYYenxN9JdM", "proofs": [ "2KJyWrQYXPwgaZbPCGoQr7pLXB7BAxZ2fCSGPF4BQvKbSKDBnerwqKUR3qYq5h5T87WHwoNvVXgG9cdbi235EbzJ" ], "script": "base64:BgIHCAISAwoBAQIABFVTRE4BILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRAAthZ2dyQWRkcmVzcwkBB0FkZHJlc3MBARoBV286hXxRfBxCZ0u4+m5f0vPEmd1h5yhYCwEBaQEIdXNkbl8xMDABBmFtb3VudAQRdXNkbkFtb3VudE9uU3RhcnQJAPAHAgUEdGhpcwUEVVNETgMJAAACBRF1c2RuQW1vdW50T25TdGFydAURdXNkbkFtb3VudE9uU3RhcnQEA2ludgkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUENidlBWUWZTdlZ1ODhpcDhGbTVZandKaGpFWWsxVHhoawIVd2l0aGRyYXdWZXN0ZWRBbGxVU0ROCQDMCAIHCQDMCAIGBQNuaWwFA25pbAMJAAACBQNpbnYFA2ludgQXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcJAPAHAgUEdGhpcwUEVVNETgMJAAACBRd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwUXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwULYWdnckFkZHJlc3MJAGUCBRd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwURdXNkbkFtb3VudE9uU3RhcnQFBFVTRE4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgD4YcA4", "chainId": 87, "height": 3437430, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 71pgKWHVoDxWbynDACYWZRKZByt7pKvNJH6Snyh1RA9n Next: Ar8tvrt6oNoLXySicqnYK4UhMYxNdsF6jczm5VGnnvtT 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 
26.98 ms