tx · HYXMZQVk1TtVcYjtyUoYn3wBq7YNX6nM5rme1QFV7ejr

3P6QCup9ZgsBg8LLzk7dCa8MnCZBCLYQoXP:  -0.01000000 Waves

2023.05.22 14:23 [3654612] smart account 3P6QCup9ZgsBg8LLzk7dCa8MnCZBCLYQoXP > SELF 0.00000000 Waves

{ "type": 13, "id": "HYXMZQVk1TtVcYjtyUoYn3wBq7YNX6nM5rme1QFV7ejr", "fee": 1000000, "feeAssetId": null, "timestamp": 1684754590075, "version": 2, "chainId": 87, "sender": "3P6QCup9ZgsBg8LLzk7dCa8MnCZBCLYQoXP", "senderPublicKey": "Gz4W9Y9UMEEZzMBu6GHyXY7BRsLXdbzFDwRPak18TW7u", "proofs": [ "3w1zayRtixiHbxSPs9NXfbnYjqB3yRFTAVtnMnCW33CMR79zDYg2HBJWpsmUWJ2X8nJr5d3cfenM4ZMLKNdsaetx" ], "script": "base64:BgIGCAISABIABAAIeHRuYXB5SWQBIFo7IE7afJx8sjIhsNqLuRLbzygBZVEzKYrJUwgG7dMSAAV4dG5JZAEgtiYpwwT1zlORpA5LdSQvZIxRsfrfr1QpvUjSHSqyqtEBEGNoZWNrQmxvY2tIZWlnaHQABQZoZWlnaHQABHJhdGUJAGQCCQBpAgkAaQIJAGkCCQBoAgkAZQIJARBjaGVja0Jsb2NrSGVpZ2h0AACf+74BAAUAZADtAgCgCwABAgFpAQhzdGFrZVhUTgAEA3BtdAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwAABAZhbW91bnQJAGkCCAUDcG10BmFtb3VudAUEcmF0ZQMJAQIhPQIIBQNwbXQHYXNzZXRJZAUFeHRuSWQJAAIBAhVhdHRhY2ggWFROIHRva2VuIG9ubHkEC3h0bmFweUlzc3VlCQEHUmVpc3N1ZQMFCHh0bmFweUlkBQZhbW91bnQGCQDMCAIFC3h0bmFweUlzc3VlCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUGYW1vdW50BQh4dG5hcHlJZAUDbmlsAWkBCnVuc3Rha2VYVE4ABANwbXQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQGYW1vdW50CQBoAggFA3BtdAZhbW91bnQFBHJhdGUDCQECIT0CCAUDcG10B2Fzc2V0SWQFCHh0bmFweUlkCQACAQIYYXR0YWNoIFhUTkFQWSB0b2tlbiBvbmx5BAp4dG5hcHlCdXJuCQEEQnVybgIFCHh0bmFweUlkBQZhbW91bnQJAMwIAgUKeHRuYXB5QnVybgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFBmFtb3VudAUFeHRuSWQFA25pbAD0ICgx", "height": 3654612, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DRx3xE6qyPtS6K233RsJYRwryo3h6zWYYz85Z9TkYZuK Next: 6edFGH3QokYot1WqFe5qwrGYuF3S7oqPfjeGFJ7YMa8Z Diff:
OldNewDifferences
55
66 let xtnId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
77
8-let APY = (1 + (((((height - 3128735) * 5) / 100) / 365) / 1440))
8+func checkBlockHeight () = height
9+
10+
11+let rate = ((((((checkBlockHeight() - 3128735) * 5) / 100) / 365) / 1440) + 1)
912
1013 @Callable(i)
1114 func stakeXTN () = {
1215 let pmt = value(i.payments[0])
13- let amount = (pmt.amount / APY)
16+ let amount = (pmt.amount / rate)
1417 if ((pmt.assetId != xtnId))
1518 then throw("attach XTN token only")
1619 else {
17- let lockInv = invoke(Address(base58'3P4uA5etnZi4AmBabKinq2bMiWU8KcnHZdH'), "supply", nil, [pmt])
18- if ((lockInv == lockInv))
19- then {
20- let xtnapyIssue = Reissue(xtnapyId, amount, true)
20+ let xtnapyIssue = Reissue(xtnapyId, amount, true)
2121 [xtnapyIssue, ScriptTransfer(i.caller, amount, xtnapyId)]
22- }
23- else throw("Strict value is not equal to itself.")
2422 }
2523 }
2624
2927 @Callable(i)
3028 func unstakeXTN () = {
3129 let pmt = value(i.payments[0])
32- let amount = pmt.amount
30+ let amount = (pmt.amount * rate)
3331 if ((pmt.assetId != xtnapyId))
3432 then throw("attach XTNAPY token only")
3533 else {
36- let lockInv = invoke(Address(base58'3P4uA5etnZi4AmBabKinq2bMiWU8KcnHZdH'), "withdraw", [xtnId, amount], [pmt])
37- if ((lockInv == lockInv))
38- then {
39- let xtnapyBurn = Burn(xtnapyId, amount)
40-[xtnapyBurn, ScriptTransfer(i.caller, (amount * APY), xtnId)]
41- }
42- else throw("Strict value is not equal to itself.")
34+ let xtnapyBurn = Burn(xtnapyId, amount)
35+[xtnapyBurn, ScriptTransfer(i.caller, amount, xtnId)]
4336 }
4437 }
4538
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let xtnapyId = base58'75Dz6E9vHi3gcmLvA4DesPRC7QmWaGK1ZR2uAGEXmrPK'
55
66 let xtnId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
77
8-let APY = (1 + (((((height - 3128735) * 5) / 100) / 365) / 1440))
8+func checkBlockHeight () = height
9+
10+
11+let rate = ((((((checkBlockHeight() - 3128735) * 5) / 100) / 365) / 1440) + 1)
912
1013 @Callable(i)
1114 func stakeXTN () = {
1215 let pmt = value(i.payments[0])
13- let amount = (pmt.amount / APY)
16+ let amount = (pmt.amount / rate)
1417 if ((pmt.assetId != xtnId))
1518 then throw("attach XTN token only")
1619 else {
17- let lockInv = invoke(Address(base58'3P4uA5etnZi4AmBabKinq2bMiWU8KcnHZdH'), "supply", nil, [pmt])
18- if ((lockInv == lockInv))
19- then {
20- let xtnapyIssue = Reissue(xtnapyId, amount, true)
20+ let xtnapyIssue = Reissue(xtnapyId, amount, true)
2121 [xtnapyIssue, ScriptTransfer(i.caller, amount, xtnapyId)]
22- }
23- else throw("Strict value is not equal to itself.")
2422 }
2523 }
2624
2725
2826
2927 @Callable(i)
3028 func unstakeXTN () = {
3129 let pmt = value(i.payments[0])
32- let amount = pmt.amount
30+ let amount = (pmt.amount * rate)
3331 if ((pmt.assetId != xtnapyId))
3432 then throw("attach XTNAPY token only")
3533 else {
36- let lockInv = invoke(Address(base58'3P4uA5etnZi4AmBabKinq2bMiWU8KcnHZdH'), "withdraw", [xtnId, amount], [pmt])
37- if ((lockInv == lockInv))
38- then {
39- let xtnapyBurn = Burn(xtnapyId, amount)
40-[xtnapyBurn, ScriptTransfer(i.caller, (amount * APY), xtnId)]
41- }
42- else throw("Strict value is not equal to itself.")
34+ let xtnapyBurn = Burn(xtnapyId, amount)
35+[xtnapyBurn, ScriptTransfer(i.caller, amount, xtnId)]
4336 }
4437 }
4538
4639

github/deemru/w8io/6500d08 
39.38 ms