tx · 8XRn6EN95ergktrGeGRiEC7vjuQhbXi3nmVHxwY8sJtR

3P6QCup9ZgsBg8LLzk7dCa8MnCZBCLYQoXP:  -0.01000000 Waves

2023.05.22 09:42 [3654335] smart account 3P6QCup9ZgsBg8LLzk7dCa8MnCZBCLYQoXP > SELF 0.00000000 Waves

{ "type": 13, "id": "8XRn6EN95ergktrGeGRiEC7vjuQhbXi3nmVHxwY8sJtR", "fee": 1000000, "feeAssetId": null, "timestamp": 1684737834616, "version": 2, "chainId": 87, "sender": "3P6QCup9ZgsBg8LLzk7dCa8MnCZBCLYQoXP", "senderPublicKey": "Gz4W9Y9UMEEZzMBu6GHyXY7BRsLXdbzFDwRPak18TW7u", "proofs": [ "3XRC3yzAVLpbQsfvEeQE531oAEgeJexqBtCTqWfZcd7moRg7cxsksxcADfMw2vAogXCGbeVbxxrqkf5K1NnWipNE" ], "script": "base64:BgIGCAISABIAAwAIeHRuYXB5SWQBIFo7IE7afJx8sjIhsNqLuRLbzygBZVEzKYrJUwgG7dMSAAV4dG5JZAEgtiYpwwT1zlORpA5LdSQvZIxRsfrfr1QpvUjSHSqyqtEAA0FQWQkAZAIAAQkAaQIJAGkCCQBpAgkAaAIJAGUCBQZoZWlnaHQAn/u+AQBpAGQA7QIAoAsCAWkBCHN0YWtlWFROAAQDcG10CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAEBmFtb3VudAkAaQIIBQNwbXQGYW1vdW50BQNBUFkDCQECIT0CCAUDcG10B2Fzc2V0SWQFBXh0bklkCQACAQIVYXR0YWNoIFhUTiB0b2tlbiBvbmx5BAdsb2NrSW52CQD8BwQJAQdBZGRyZXNzAQEaAVcglFxKrc/0SDk7iECzv9vujFCgp2rP2ugCBnN1cHBseQUDbmlsCQDMCAIFA3BtdAUDbmlsAwkAAAIFB2xvY2tJbnYFB2xvY2tJbnYEC3h0bmFweUlzc3VlCQEHUmVpc3N1ZQMFCHh0bmFweUlkBQZhbW91bnQGCQDMCAIFC3h0bmFweUlzc3VlCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUGYW1vdW50BQh4dG5hcHlJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCnVuc3Rha2VYVE4ABANwbXQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQGYW1vdW50CAUDcG10BmFtb3VudAQIcG10dmFsdWUJAGgCBQZhbW91bnQFA0FQWQMJAQIhPQIIBQNwbXQHYXNzZXRJZAUIeHRuYXB5SWQJAAIBAhhhdHRhY2ggWFROQVBZIHRva2VuIG9ubHkEB2xvY2tJbnYJAPwHBAkBB0FkZHJlc3MBARoBVyCUXEqtz/RIOTuIQLO/2+6MUKCnas/a6AIId2l0aGRyYXcJAMwIAgIFeHRuSWQJAMwIAgIIcG10dmFsdWUFA25pbAkAzAgCBQNwbXQFA25pbAMJAAACBQdsb2NrSW52BQdsb2NrSW52BAp4dG5hcHlCdXJuCQEEQnVybgIFCHh0bmFweUlkBQZhbW91bnQJAMwIAgUKeHRuYXB5QnVybgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIJAGgCBQZhbW91bnQFA0FQWQUFeHRuSWQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgCa9ts3", "height": 3654335, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3DH9rrF3t3urZhoYHk7ugUj3MdpxRZmsKVYpwfpAYhZZ Next: 75LX82AUpSSMkyEXbQweokNyEpeW3Wvj1KXWkUwswvz1 Diff:
OldNewDifferences
55
66 let xtnId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
77
8-let APY = (((((height - 3652954) * 105) / 100) / 365) / 1440)
8+let APY = (1 + (((((height - 3128735) * 105) / 100) / 365) / 1440))
99
1010 @Callable(i)
1111 func stakeXTN () = {
1212 let pmt = value(i.payments[0])
13- let amount = (pmt.amount / (1 + APY))
13+ let amount = (pmt.amount / APY)
1414 if ((pmt.assetId != xtnId))
1515 then throw("attach XTN token only")
1616 else {
3030 func unstakeXTN () = {
3131 let pmt = value(i.payments[0])
3232 let amount = pmt.amount
33+ let pmtvalue = (amount * APY)
3334 if ((pmt.assetId != xtnapyId))
3435 then throw("attach XTNAPY token only")
3536 else {
36- let xtnapyBurn = Burn(xtnapyId, amount)
37-[xtnapyBurn, ScriptTransfer(i.caller, (amount * (1 + APY)), xtnId)]
37+ let lockInv = invoke(Address(base58'3P4uA5etnZi4AmBabKinq2bMiWU8KcnHZdH'), "withdraw", ["xtnId", "pmtvalue"], [pmt])
38+ if ((lockInv == lockInv))
39+ then {
40+ let xtnapyBurn = Burn(xtnapyId, amount)
41+[xtnapyBurn, ScriptTransfer(i.caller, (amount * APY), xtnId)]
42+ }
43+ else throw("Strict value is not equal to itself.")
3844 }
3945 }
4046
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 = (((((height - 3652954) * 105) / 100) / 365) / 1440)
8+let APY = (1 + (((((height - 3128735) * 105) / 100) / 365) / 1440))
99
1010 @Callable(i)
1111 func stakeXTN () = {
1212 let pmt = value(i.payments[0])
13- let amount = (pmt.amount / (1 + APY))
13+ let amount = (pmt.amount / APY)
1414 if ((pmt.assetId != xtnId))
1515 then throw("attach XTN token only")
1616 else {
1717 let lockInv = invoke(Address(base58'3P4uA5etnZi4AmBabKinq2bMiWU8KcnHZdH'), "supply", nil, [pmt])
1818 if ((lockInv == lockInv))
1919 then {
2020 let xtnapyIssue = Reissue(xtnapyId, amount, true)
2121 [xtnapyIssue, ScriptTransfer(i.caller, amount, xtnapyId)]
2222 }
2323 else throw("Strict value is not equal to itself.")
2424 }
2525 }
2626
2727
2828
2929 @Callable(i)
3030 func unstakeXTN () = {
3131 let pmt = value(i.payments[0])
3232 let amount = pmt.amount
33+ let pmtvalue = (amount * APY)
3334 if ((pmt.assetId != xtnapyId))
3435 then throw("attach XTNAPY token only")
3536 else {
36- let xtnapyBurn = Burn(xtnapyId, amount)
37-[xtnapyBurn, ScriptTransfer(i.caller, (amount * (1 + APY)), xtnId)]
37+ let lockInv = invoke(Address(base58'3P4uA5etnZi4AmBabKinq2bMiWU8KcnHZdH'), "withdraw", ["xtnId", "pmtvalue"], [pmt])
38+ if ((lockInv == lockInv))
39+ then {
40+ let xtnapyBurn = Burn(xtnapyId, amount)
41+[xtnapyBurn, ScriptTransfer(i.caller, (amount * APY), xtnId)]
42+ }
43+ else throw("Strict value is not equal to itself.")
3844 }
3945 }
4046
4147

github/deemru/w8io/3ef1775 
46.67 ms