2021.12.06 01:13 [2886509] smart account 3P984CrEYKGfoBLdwRFiNE2j3gFoYA1cvYp > SELF 0.00000000 Waves

{ "type": 13, "id": "G7VYmRPcU7DdPVPAbAmzyZxr2NZWg1NiZ3569ikEBDpH", "fee": 1000000, "feeAssetId": null, "timestamp": 1638742437289, "version": 2, "chainId": 87, "sender": "3P984CrEYKGfoBLdwRFiNE2j3gFoYA1cvYp", "senderPublicKey": "9mKotRjaeDuiRhrXqMg55Uh1V1WzwG4kDaAcE7HGzh43", "proofs": [ "29kuxDrnDNdXKUNjUvoVPqbnJce7zrsSBkMqyhFmjNbFaYnXesowHDf315SEQ9vHh9P5jjQ1Egos4T1a6QDCmDeZ" ], "script": "base64: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", "height": 2886509, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6eGRSztd8fCANzef1wWE2sBvkyPyf6Z7ts5toiNmSwxw Next: GuqqU8iZRh4mkdRGdYXCteRVBCYb7RMeJHVyGquNKvA5 Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
5+
6+let NEUTRINO = base58'3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ'
7+
8+@Callable(i)
9+func stakeUSDN (amount) = {
10+ let USDNBalance = assetBalance(this, USDN)
11+ if (!((USDNBalance > amount)))
12+ then throw("exceeds the available amount")
13+ else {
14+ let result = invoke(Address(NEUTRINO), "lockNeutrino", nil, [AttachedPayment(USDN, amount)])
15+ if ((result == result))
16+ then {
17+ let stakedUSDN = valueOrElse(getInteger(this, "staked_usdn_amount"), 0)
18+ let totalStakedUSDN = (stakedUSDN + amount)
19+ $Tuple2([IntegerEntry("staked_usdn_amount", totalStakedUSDN)], unit)
20+ }
21+ else throw("Strict value is not equal to itself.")
22+ }
23+ }
24+
25+
26+
27+@Callable(i)
28+func unstakeUSDN () = {
29+ let totalStakedUSDN = getIntegerValue(this, "staked_usdn_amount")
30+ let totalStakedUSDNNeutrino = getIntegerValue(Address(NEUTRINO), ("rpd_balance_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_" + toString(this)))
31+ if (!((totalStakedUSDN == totalStakedUSDNNeutrino)))
32+ then throw("amounts are not matching, check it!!!")
33+ else {
34+ let result = invoke(Address(NEUTRINO), "unlockNeutrino", [totalStakedUSDN, "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], nil)
35+ if ((result == result))
36+ then $Tuple2([BooleanEntry("unstaked_usdn", true), IntegerEntry("unstaked_usdn_amount", totalStakedUSDN), IntegerEntry("staked_usdn_amount", 0)], unit)
37+ else throw("Strict value is not equal to itself.")
38+ }
39+ }
40+
41+
42+
43+@Callable(i)
44+func stakeWaves (amount) = {
45+ let availableWavesBalance = wavesBalance(this).available
46+ if (!(((availableWavesBalance - 200000000) >= amount)))
47+ then throw("not enough waves amount to lease")
48+ else {
49+ let LeaseAction = Lease(Address(base58'3P9DEDP5VbyXQyKtXDUt2crRPn5B7gs6ujc'), amount)
50+ let leaseId = calculateLeaseId(LeaseAction)
51+ let leasedAmount = valueOrElse(getInteger(this, "leased_amount"), 0)
52+ let totalLeasedAmount = (leasedAmount + amount)
53+ $Tuple2([LeaseAction, IntegerEntry("leased_amount", totalLeasedAmount), BinaryEntry("leasing_id", leaseId)], unit)
54+ }
55+ }
56+
57+
58+
59+@Callable(i)
60+func unstakeWaves () = {
61+ let leaseid = getBinaryValue(this, "leasing_id")
62+ $Tuple2([DeleteEntry("staked_usdn_amount"), DeleteEntry("unstaked_usdn"), DeleteEntry("unstaked_usdn_amount"), LeaseCancel(leaseid)], unit)
63+ }
64+
465
566
667 @Callable(i)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
5+
6+let NEUTRINO = base58'3PNikM6yp4NqcSU8guxQtmR5onr2D4e8yTJ'
7+
8+@Callable(i)
9+func stakeUSDN (amount) = {
10+ let USDNBalance = assetBalance(this, USDN)
11+ if (!((USDNBalance > amount)))
12+ then throw("exceeds the available amount")
13+ else {
14+ let result = invoke(Address(NEUTRINO), "lockNeutrino", nil, [AttachedPayment(USDN, amount)])
15+ if ((result == result))
16+ then {
17+ let stakedUSDN = valueOrElse(getInteger(this, "staked_usdn_amount"), 0)
18+ let totalStakedUSDN = (stakedUSDN + amount)
19+ $Tuple2([IntegerEntry("staked_usdn_amount", totalStakedUSDN)], unit)
20+ }
21+ else throw("Strict value is not equal to itself.")
22+ }
23+ }
24+
25+
26+
27+@Callable(i)
28+func unstakeUSDN () = {
29+ let totalStakedUSDN = getIntegerValue(this, "staked_usdn_amount")
30+ let totalStakedUSDNNeutrino = getIntegerValue(Address(NEUTRINO), ("rpd_balance_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_" + toString(this)))
31+ if (!((totalStakedUSDN == totalStakedUSDNNeutrino)))
32+ then throw("amounts are not matching, check it!!!")
33+ else {
34+ let result = invoke(Address(NEUTRINO), "unlockNeutrino", [totalStakedUSDN, "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], nil)
35+ if ((result == result))
36+ then $Tuple2([BooleanEntry("unstaked_usdn", true), IntegerEntry("unstaked_usdn_amount", totalStakedUSDN), IntegerEntry("staked_usdn_amount", 0)], unit)
37+ else throw("Strict value is not equal to itself.")
38+ }
39+ }
40+
41+
42+
43+@Callable(i)
44+func stakeWaves (amount) = {
45+ let availableWavesBalance = wavesBalance(this).available
46+ if (!(((availableWavesBalance - 200000000) >= amount)))
47+ then throw("not enough waves amount to lease")
48+ else {
49+ let LeaseAction = Lease(Address(base58'3P9DEDP5VbyXQyKtXDUt2crRPn5B7gs6ujc'), amount)
50+ let leaseId = calculateLeaseId(LeaseAction)
51+ let leasedAmount = valueOrElse(getInteger(this, "leased_amount"), 0)
52+ let totalLeasedAmount = (leasedAmount + amount)
53+ $Tuple2([LeaseAction, IntegerEntry("leased_amount", totalLeasedAmount), BinaryEntry("leasing_id", leaseId)], unit)
54+ }
55+ }
56+
57+
58+
59+@Callable(i)
60+func unstakeWaves () = {
61+ let leaseid = getBinaryValue(this, "leasing_id")
62+ $Tuple2([DeleteEntry("staked_usdn_amount"), DeleteEntry("unstaked_usdn"), DeleteEntry("unstaked_usdn_amount"), LeaseCancel(leaseid)], unit)
63+ }
64+
465
566
667 @Callable(i)
768 func sendit () = if ((toString(i.caller) != "3PJVLNCkc7ChN4ADTTwDzGWyCXgVNuF124s"))
869 then throw("not that")
970 else $Tuple2([ScriptTransfer(i.caller, 1000, base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p')], unit)
1071
1172

github/deemru/w8io/786bc32 
23.93 ms