tx · rreMKzahKo6SmbVnyGjY6awViwJhH3vZufuZiWiULgi 3N34Zi5VD4m9az4kEXWDJngkMHMTpqLcoqo: -0.01400000 Waves 2021.11.12 16:16 [1787834] smart account 3N34Zi5VD4m9az4kEXWDJngkMHMTpqLcoqo > SELF 0.00000000 Waves
{ "type": 13, "id": "rreMKzahKo6SmbVnyGjY6awViwJhH3vZufuZiWiULgi", "fee": 1400000, "feeAssetId": null, "timestamp": 1636723003602, "version": 2, "chainId": 84, "sender": "3N34Zi5VD4m9az4kEXWDJngkMHMTpqLcoqo", "senderPublicKey": "AmXrJ1inc5jpKhf6D9aDcRU8QWHZXBJdBBvz9VsKDe9x", "proofs": [ "2V1wYbFAakJtVyQ3UvazVyxJhZzvVriqrcxWYq82qXu5mxg7sfYEZg864JfvatfHjvNzAhf9jFihPBGkG78cZqKZ" ], "script": "base64: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ZSBpbmNyZWFzZSBuby4gb2YgZGF5cyAoCQABpAAAAAEFAAAAD1VzZXJDbGFpbUFtb3VudAIAAAABLwkAAaQAAAABCAUAAAADcG10AAAABmFtb3VudAIAAAAMKS8xMF44IENPREUuAwkBAAAAAiE9AAAAAgUAAAALZ2Fwb2ZoZWlnaHQAAAAAAAAB+kAJAAACAAAAAQIAAABDWW91IGFyZSBOb3QgRWxpZ2libGUgdG8gTWludCBDT0RFLiBJdCBuZWVkIG1pbmltdW0gOTAgRGF5cyBTdGFraW5nLgMJAAAAAAAAAgUAAAAQVXNlck5vT2ZEZXBvc2l0cwAAAAAAAAAAAQkAAAIAAAABAgAAAD1Zb3UgQWxyZWFkeSBIYXZlIGFuIEFjdGl2ZSBTdGFraW5nLCBQbGVhc2UgV2FpdCB1bnRpbCBNYXR1cmUuCQAETAAAAAIJAQAAAARCdXJuAAAAAgUAAAALQ09ERUFzc2V0SUQIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJUb3RhbF9CdXJuZWRfQ09ERToFAAAAD1RvdGFsQnVybmVkQ09ERQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAALVG90YWxfVHhuczoFAAAADVRvdGFsVHhuc0NPREUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAACUluZmxhdGlvbgUAAAALSW5mbGF0aW9uTm8JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADEJsb2NrX1Bhc3NlZAUAAAAJYmxvY2tkaWZmCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAD05vX09mX0RlcG9zaXRzXwUAAAAKY3VycmVudEtleQUAAAAYU3VtcHVwb2ZVc2VyTm9PZkRlcG9zaXRzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEkRlcG9zaXRfaGVpZ2h0X09mXwUAAAAKY3VycmVudEtleQUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQUAAAAPdG90YWxsb2NrYmxvY2tzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEkRlcG9zaXRfQW1vdW50X09mXwUAAAAKY3VycmVudEtleQUAAAANbmV3Q09ERUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQUAAAAPVXNlckNsYWltQW1vdW50CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAAJjxoMT5DT0RFIFN0YWtlZCBTdWNjZXNzZnVsbHkhPC9oMT48YnI+BQAAAANuaWwAAAABaQEAAAAIV2l0aGRyYXcAAAAABAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAACU1heEE0QUFtdAAAAAEXZZLgAAQAAAAGTWF4RmVlAAAAAAAAAAAYBAAAAA9kaXZpc2libGVmYWN0b3IAAAAAAAAAABMEAAAAEWZldGNoVXNlclN0YWtlQW10CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAALU3Rha2luZ0RhcHAJAAEsAAAAAgIAAAASRGVwb3NpdF9oZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5AgAAACZZb3VyIEFkZHJlc3Mgbm90IEZvdW5kIG9uIFN0YWtpbmcgREFwcAQAAAAKRmVlQ2hhcmdlZAkAAGsAAAADBQAAABFmZXRjaFVzZXJTdGFrZUFtdAAAAAAAAA9CQAUAAAAJTWF4QTRBQW10BAAAABFjaGVja2RlcG9zaXR2YWx1ZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABJEZXBvc2l0X0Ftb3VudF9PZl8FAAAACmN1cnJlbnRLZXkEAAAAEFByZXZpb3VzVHhuc0NPREUEAAAAByRtYXRjaDAJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAC1RvdGFsX1R4bnM6AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAADVRvdGFsVHhuc0NPREUJAABkAAAAAgUAAAAQUHJldmlvdXNUeG5zQ09ERQAAAAAAAAAAAQQAAAAPZmV0Y2hSZXdhcmREYXRhBAAAAAckbWF0Y2gwCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABNUb3RhbF9DT0RFX0NsYWltZWQ6AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAEnRvdGFscmV3YXJkY2xhaW1lZAkAAGQAAAACBQAAAA9mZXRjaFJld2FyZERhdGEJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkEAAAAElByZXZpb3VzSXNzdWVkQ09ERQQAAAAHJG1hdGNoMAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAASVG90YWxfSXNzdWVkX0NPREU6AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAD1RvdGFsSXNzdWVkQ09ERQkAAGQAAAACBQAAABJQcmV2aW91c0lzc3VlZENPREUJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkEAAAAFGZldGNodXNlcnN0YWtlaGVpZ2h0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAALU3Rha2luZ0RhcHAJAAEsAAAAAgIAAAASRGVwb3NpdF9oZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5AgAAACZZb3VyIEFkZHJlc3Mgbm90IEZvdW5kIG9uIFN0YWtpbmcgREFwcAQAAAAVZmV0Y2h1c2VybWF0dXJlaGVpZ2h0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAALU3Rha2luZ0RhcHAJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5AgAAACZZb3VyIEFkZHJlc3Mgbm90IEZvdW5kIG9uIFN0YWtpbmcgREFwcAQAAAALZ2Fwb2ZoZWlnaHQJAABlAAAAAgUAAAAVZmV0Y2h1c2VybWF0dXJlaGVpZ2h0BQAAABRmZXRjaHVzZXJzdGFrZWhlaWdodAMJAABmAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkFAAAABmhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABVlvdXIgCQABpAAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkCAAAAPC8xMF44IENPREUgYXJlIFN0aWxsIE1hdHVyaW5nLiBUb2tlbiB3aWxsIGJlIFVubG9ja2VkIGFmdGVyIAkAAaQAAAABCQAAZQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAZoZWlnaHQCAAAACCBibG9ja3MuAwkAAAAAAAACBQAAABFjaGVja2RlcG9zaXR2YWx1ZQAAAAAAAAAAAAkAAAIAAAABAgAAACtZb3UgSGF2ZSBBbHJlYWR5IFdpdGhkcmF3IHlvdXIgQ09ERSBBbW91bnQuAwkBAAAAAiE9AAAAAgUAAAALZ2Fwb2ZoZWlnaHQAAAAAAAAB+kAJAAACAAAAAQIAAAC8WW91IGFyZSBOb3QgRWxpZ2libGUgdG8gV2l0aGRyYXcgQ09ERS4gSXQgbmVlZCBtaW5pbXVtIDkwIERheXMgU3Rha2luZyBhdCBBNEEgREFwcC4gUHJvYmFibHkgeW91IGFscmVhZHkgaGF2ZSBDbGFpbWVkIFlvdXIgU3Rha2Ugb3IgeW91IE92ZXJ3cml0ZSB0aGUgU21hcnQgQ29udHJhY3Qgd2l0aCBsZXNzIHRoYW4gOTAgZGF5cy4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAC1RvdGFsX1R4bnM6BQAAAA1Ub3RhbFR4bnNDT0RFCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABNUb3RhbF9DT0RFX0NsYWltZWQ6BQAAABJ0b3RhbHJld2FyZGNsYWltZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAElRvdGFsX0lzc3VlZF9DT0RFOgUAAAAPVG90YWxJc3N1ZWRDT0RFCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAtGZWVfQ2hhcmdlZAUAAAAKRmVlQ2hhcmdlZAkABEwAAAACCQEAAAAHUmVpc3N1ZQAAAAMFAAAAC0NPREVBc3NldElECQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5BgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABpAAAAAgkAAGgAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAp1c2VyYW1vdW50AAAAAAAAAAPoBQAAAAtDT0RFQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAABJUcmVhc3VyeUZlZUFkZHJlc3MJAABpAAAAAgkAAGgAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAtUcmVhc3VyeUZlZQAAAAAAAAAD6AUAAAALQ09ERUFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAKZGV2QWRkcmVzcwkAAGkAAAACCQAAaAAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkFAAAABmRldkZlZQAAAAAAAAAD6AUAAAALQ09ERUFzc2V0SUQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAPTm9fT2ZfRGVwb3NpdHNfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEkRlcG9zaXRfaGVpZ2h0X09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9BbW91bnRfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAAKDxoMT5DT0RFIFVuU3Rha2VkIFN1Y2Nlc3NmdWxseSE8L2gxPjxicj4FAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V54tGDuA==", "height": 1787834, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5vnPSqepGQyw6JFsqmuHpE83kWn9vczpaXfrF9HRakFU Next: 7YYe9bdxPe5CocWgeq3155M7cb5wvbMaGCr7SKcSacow Diff:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let CODEAssetID = base58' | |
4 | + | let CODEAssetID = base58'EB4CUQH4fHzzQt9YjcHtA6T7uosHNH9RnQKHgBdZHPCB' | |
5 | 5 | ||
6 | - | let StakingDapp = base58' | |
6 | + | let StakingDapp = base58'J3cAptAPQxVqpEz6Rch57JeKpbns48s1a6HoeQG9aX4J' | |
7 | 7 | ||
8 | 8 | let TreasuryFeeAddress = base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR' | |
9 | 9 | ||
15 | 15 | ||
16 | 16 | let useramount = ((1000 - TreasuryFee) - devFee) | |
17 | 17 | ||
18 | - | let StartHeight = | |
18 | + | let StartHeight = 1850000 | |
19 | 19 | ||
20 | 20 | let minimumlockdays = 6 | |
21 | 21 | ||
94 | 94 | @Callable(i) | |
95 | 95 | func Withdraw () = { | |
96 | 96 | let currentKey = toBase58String(i.caller.bytes) | |
97 | + | let MaxA4AAmt = 1200000000000 | |
98 | + | let MaxFee = 24 | |
99 | + | let divisiblefactor = 19 | |
100 | + | let fetchUserStakeAmt = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Deposit_height_Of_" + currentKey)), "Your Address not Found on Staking DApp") | |
101 | + | let FeeCharged = fraction(fetchUserStakeAmt, 1000000, MaxA4AAmt) | |
97 | 102 | let checkdepositvalue = getIntegerValue(this, ("Deposit_Amount_Of_" + currentKey)) | |
98 | 103 | let PreviousTxnsCODE = match getIntegerValue(this, "Total_Txns:") { | |
99 | 104 | case a: Int => | |
124 | 129 | else if ((checkdepositvalue == 0)) | |
125 | 130 | then throw("You Have Already Withdraw your CODE Amount.") | |
126 | 131 | else if ((gapofheight != 129600)) | |
127 | - | then throw("You are Not Eligible to Withdraw CODE. It need minimum 90 Days Staking.") | |
128 | - | else [IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Total_CODE_Claimed:", totalrewardclaimed), IntegerEntry("Total_Issued_CODE:", TotalIssuedCODE), Reissue(CODEAssetID, getIntegerValue(this, ("Rewards_Of_" + currentKey)), true), ScriptTransfer(i.caller, ((getIntegerValue(this, ("Rewards_Of_" + currentKey)) * useramount) / 1000), CODEAssetID), ScriptTransfer(addressFromPublicKey(TreasuryFeeAddress), ((getIntegerValue(this, ("Rewards_Of_" + currentKey)) * TreasuryFee) / 1000), CODEAssetID), ScriptTransfer(addressFromPublicKey(devAddress), ((getIntegerValue(this, ("Rewards_Of_" + currentKey)) * devFee) / 1000), CODEAssetID), IntegerEntry(("No_Of_Deposits_" + currentKey), 0), IntegerEntry(("Deposit_height_Of_" + currentKey), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + currentKey), 0), IntegerEntry(("Deposit_Amount_Of_" + currentKey), 0), IntegerEntry(("Rewards_Of_" + currentKey), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")] | |
132 | + | then throw("You are Not Eligible to Withdraw CODE. It need minimum 90 Days Staking at A4A DApp. Probably you already have Claimed Your Stake or you Overwrite the Smart Contract with less than 90 days.") | |
133 | + | else [IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Total_CODE_Claimed:", totalrewardclaimed), IntegerEntry("Total_Issued_CODE:", TotalIssuedCODE), IntegerEntry("Fee_Charged", FeeCharged), Reissue(CODEAssetID, getIntegerValue(this, ("Rewards_Of_" + currentKey)), true), ScriptTransfer(i.caller, ((getIntegerValue(this, ("Rewards_Of_" + currentKey)) * useramount) / 1000), CODEAssetID), ScriptTransfer(addressFromPublicKey(TreasuryFeeAddress), ((getIntegerValue(this, ("Rewards_Of_" + currentKey)) * TreasuryFee) / 1000), CODEAssetID), ScriptTransfer(addressFromPublicKey(devAddress), ((getIntegerValue(this, ("Rewards_Of_" + currentKey)) * devFee) / 1000), CODEAssetID), IntegerEntry(("No_Of_Deposits_" + currentKey), 0), IntegerEntry(("Deposit_height_Of_" + currentKey), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + currentKey), 0), IntegerEntry(("Deposit_Amount_Of_" + currentKey), 0), IntegerEntry(("Rewards_Of_" + currentKey), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")] | |
129 | 134 | } | |
130 | 135 | ||
131 | 136 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let CODEAssetID = base58' | |
4 | + | let CODEAssetID = base58'EB4CUQH4fHzzQt9YjcHtA6T7uosHNH9RnQKHgBdZHPCB' | |
5 | 5 | ||
6 | - | let StakingDapp = base58' | |
6 | + | let StakingDapp = base58'J3cAptAPQxVqpEz6Rch57JeKpbns48s1a6HoeQG9aX4J' | |
7 | 7 | ||
8 | 8 | let TreasuryFeeAddress = base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR' | |
9 | 9 | ||
10 | 10 | let devAddress = base58'8d4zGuTjT3h67Z4DatzMXdXXW1GvoQhMTjwCGFxJuene' | |
11 | 11 | ||
12 | 12 | let devFee = 1 | |
13 | 13 | ||
14 | 14 | let TreasuryFee = 9 | |
15 | 15 | ||
16 | 16 | let useramount = ((1000 - TreasuryFee) - devFee) | |
17 | 17 | ||
18 | - | let StartHeight = | |
18 | + | let StartHeight = 1850000 | |
19 | 19 | ||
20 | 20 | let minimumlockdays = 6 | |
21 | 21 | ||
22 | 22 | let maximumlockdays = 7 | |
23 | 23 | ||
24 | 24 | let oneday = 1440 | |
25 | 25 | ||
26 | 26 | let blockdiff = (height - StartHeight) | |
27 | 27 | ||
28 | 28 | let InflationNo = (fraction(10000000000, 1, blockdiff) + 6000) | |
29 | 29 | ||
30 | 30 | @Callable(i) | |
31 | 31 | func Deposit (days) = { | |
32 | 32 | let pmt = if ((size(i.payments) == 1)) | |
33 | 33 | then i.payments[0] | |
34 | 34 | else throw((("No Payments Attached Please Attach " + toBase58String(CODEAssetID)) + " Asset Only.")) | |
35 | 35 | let currentKey = toBase58String(i.caller.bytes) | |
36 | 36 | let UserClaimAmount = ((((InflationNo * pmt.amount) * days) / 365) / 1000) | |
37 | 37 | let allowdedpymt = (blockdiff * 100000) | |
38 | 38 | let actualblocks = (oneday * days) | |
39 | 39 | let totallockblocks = (height + actualblocks) | |
40 | 40 | let PreviousTxnsCODE = match getIntegerValue(this, "Total_Txns:") { | |
41 | 41 | case a: Int => | |
42 | 42 | a | |
43 | 43 | case _ => | |
44 | 44 | 0 | |
45 | 45 | } | |
46 | 46 | let TotalTxnsCODE = (PreviousTxnsCODE + 1) | |
47 | 47 | let PreviousBurnedCODE = match getInteger(this, "Total_Burned_CODE:") { | |
48 | 48 | case a: Int => | |
49 | 49 | a | |
50 | 50 | case _ => | |
51 | 51 | 0 | |
52 | 52 | } | |
53 | 53 | let TotalBurnedCODE = (PreviousBurnedCODE + pmt.amount) | |
54 | 54 | let fetchuserstakeheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Deposit_height_Of_" + currentKey)), "Your Address not Found on Staking DApp") | |
55 | 55 | let fetchusermatureheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Total_Lock_Blocks_Of_" + currentKey)), "Your Address not Found on Staking DApp") | |
56 | 56 | let gapofheight = (fetchusermatureheight - fetchuserstakeheight) | |
57 | 57 | let currentCODEAmount = match getInteger(this, ("Deposit_Amount_Of_" + currentKey)) { | |
58 | 58 | case a: Int => | |
59 | 59 | a | |
60 | 60 | case _ => | |
61 | 61 | 0 | |
62 | 62 | } | |
63 | 63 | let newCODEAmount = (currentCODEAmount + pmt.amount) | |
64 | 64 | let UserNoOfDeposits = match getInteger(this, ("No_Of_Deposits_" + currentKey)) { | |
65 | 65 | case a: Int => | |
66 | 66 | a | |
67 | 67 | case _ => | |
68 | 68 | 0 | |
69 | 69 | } | |
70 | 70 | let SumpupofUserNoOfDeposits = (UserNoOfDeposits + 1) | |
71 | 71 | if ((StartHeight > height)) | |
72 | 72 | then throw((("DApp is Not Started Yet please Wait until " + toString((StartHeight - height))) + " blocks")) | |
73 | 73 | else if ((pmt.assetId != CODEAssetID)) | |
74 | 74 | then throw((("Incorrect asset attached, please attach " + toBase58String(CODEAssetID)) + " asset only")) | |
75 | 75 | else if ((minimumlockdays >= days)) | |
76 | 76 | then throw(((("Choose Locking days in between " + toString((minimumlockdays + 1))) + " to ") + toString(maximumlockdays))) | |
77 | 77 | else if ((days > maximumlockdays)) | |
78 | 78 | then throw(((((("You Entered days to " + toString(days)) + ", Please Enter no. of days in between ") + toString((minimumlockdays + 1))) + " to ") + toString(maximumlockdays))) | |
79 | 79 | else if ((100000 > pmt.amount)) | |
80 | 80 | then throw("Please Attach minimum 0.001 CODE Token To Issue More CODE Asset.") | |
81 | 81 | else if ((pmt.amount > allowdedpymt)) | |
82 | 82 | then throw((("You can attach maximum " + toString(allowdedpymt)) + "/10^8 CODE.")) | |
83 | 83 | else if ((pmt.amount > UserClaimAmount)) | |
84 | 84 | then throw((((("Your Stake Output is lower than input, please increase no. of days (" + toString(UserClaimAmount)) + "/") + toString(pmt.amount)) + ")/10^8 CODE.")) | |
85 | 85 | else if ((gapofheight != 129600)) | |
86 | 86 | then throw("You are Not Eligible to Mint CODE. It need minimum 90 Days Staking.") | |
87 | 87 | else if ((UserNoOfDeposits == 1)) | |
88 | 88 | then throw("You Already Have an Active Staking, Please Wait until Mature.") | |
89 | 89 | else [Burn(CODEAssetID, pmt.amount), IntegerEntry("Total_Burned_CODE:", TotalBurnedCODE), IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Inflation", InflationNo), IntegerEntry("Block_Passed", blockdiff), IntegerEntry(("No_Of_Deposits_" + currentKey), SumpupofUserNoOfDeposits), IntegerEntry(("Deposit_height_Of_" + currentKey), height), IntegerEntry(("Total_Lock_Blocks_Of_" + currentKey), totallockblocks), IntegerEntry(("Deposit_Amount_Of_" + currentKey), newCODEAmount), IntegerEntry(("Rewards_Of_" + currentKey), UserClaimAmount), StringEntry("message", "<h1>CODE Staked Successfully!</h1><br>")] | |
90 | 90 | } | |
91 | 91 | ||
92 | 92 | ||
93 | 93 | ||
94 | 94 | @Callable(i) | |
95 | 95 | func Withdraw () = { | |
96 | 96 | let currentKey = toBase58String(i.caller.bytes) | |
97 | + | let MaxA4AAmt = 1200000000000 | |
98 | + | let MaxFee = 24 | |
99 | + | let divisiblefactor = 19 | |
100 | + | let fetchUserStakeAmt = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Deposit_height_Of_" + currentKey)), "Your Address not Found on Staking DApp") | |
101 | + | let FeeCharged = fraction(fetchUserStakeAmt, 1000000, MaxA4AAmt) | |
97 | 102 | let checkdepositvalue = getIntegerValue(this, ("Deposit_Amount_Of_" + currentKey)) | |
98 | 103 | let PreviousTxnsCODE = match getIntegerValue(this, "Total_Txns:") { | |
99 | 104 | case a: Int => | |
100 | 105 | a | |
101 | 106 | case _ => | |
102 | 107 | 0 | |
103 | 108 | } | |
104 | 109 | let TotalTxnsCODE = (PreviousTxnsCODE + 1) | |
105 | 110 | let fetchRewardData = match getIntegerValue(this, "Total_CODE_Claimed:") { | |
106 | 111 | case a: Int => | |
107 | 112 | a | |
108 | 113 | case _ => | |
109 | 114 | 0 | |
110 | 115 | } | |
111 | 116 | let totalrewardclaimed = (fetchRewardData + getIntegerValue(this, ("Rewards_Of_" + currentKey))) | |
112 | 117 | let PreviousIssuedCODE = match getIntegerValue(this, "Total_Issued_CODE:") { | |
113 | 118 | case a: Int => | |
114 | 119 | a | |
115 | 120 | case _ => | |
116 | 121 | 0 | |
117 | 122 | } | |
118 | 123 | let TotalIssuedCODE = (PreviousIssuedCODE + getIntegerValue(this, ("Rewards_Of_" + currentKey))) | |
119 | 124 | let fetchuserstakeheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Deposit_height_Of_" + currentKey)), "Your Address not Found on Staking DApp") | |
120 | 125 | let fetchusermatureheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Total_Lock_Blocks_Of_" + currentKey)), "Your Address not Found on Staking DApp") | |
121 | 126 | let gapofheight = (fetchusermatureheight - fetchuserstakeheight) | |
122 | 127 | if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + currentKey)) > height)) | |
123 | 128 | then throw((((("Your " + toString(getIntegerValue(this, ("Rewards_Of_" + currentKey)))) + "/10^8 CODE are Still Maturing. Token will be Unlocked after ") + toString((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + currentKey)) - height))) + " blocks.")) | |
124 | 129 | else if ((checkdepositvalue == 0)) | |
125 | 130 | then throw("You Have Already Withdraw your CODE Amount.") | |
126 | 131 | else if ((gapofheight != 129600)) | |
127 | - | then throw("You are Not Eligible to Withdraw CODE. It need minimum 90 Days Staking.") | |
128 | - | else [IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Total_CODE_Claimed:", totalrewardclaimed), IntegerEntry("Total_Issued_CODE:", TotalIssuedCODE), Reissue(CODEAssetID, getIntegerValue(this, ("Rewards_Of_" + currentKey)), true), ScriptTransfer(i.caller, ((getIntegerValue(this, ("Rewards_Of_" + currentKey)) * useramount) / 1000), CODEAssetID), ScriptTransfer(addressFromPublicKey(TreasuryFeeAddress), ((getIntegerValue(this, ("Rewards_Of_" + currentKey)) * TreasuryFee) / 1000), CODEAssetID), ScriptTransfer(addressFromPublicKey(devAddress), ((getIntegerValue(this, ("Rewards_Of_" + currentKey)) * devFee) / 1000), CODEAssetID), IntegerEntry(("No_Of_Deposits_" + currentKey), 0), IntegerEntry(("Deposit_height_Of_" + currentKey), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + currentKey), 0), IntegerEntry(("Deposit_Amount_Of_" + currentKey), 0), IntegerEntry(("Rewards_Of_" + currentKey), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")] | |
132 | + | then throw("You are Not Eligible to Withdraw CODE. It need minimum 90 Days Staking at A4A DApp. Probably you already have Claimed Your Stake or you Overwrite the Smart Contract with less than 90 days.") | |
133 | + | else [IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Total_CODE_Claimed:", totalrewardclaimed), IntegerEntry("Total_Issued_CODE:", TotalIssuedCODE), IntegerEntry("Fee_Charged", FeeCharged), Reissue(CODEAssetID, getIntegerValue(this, ("Rewards_Of_" + currentKey)), true), ScriptTransfer(i.caller, ((getIntegerValue(this, ("Rewards_Of_" + currentKey)) * useramount) / 1000), CODEAssetID), ScriptTransfer(addressFromPublicKey(TreasuryFeeAddress), ((getIntegerValue(this, ("Rewards_Of_" + currentKey)) * TreasuryFee) / 1000), CODEAssetID), ScriptTransfer(addressFromPublicKey(devAddress), ((getIntegerValue(this, ("Rewards_Of_" + currentKey)) * devFee) / 1000), CODEAssetID), IntegerEntry(("No_Of_Deposits_" + currentKey), 0), IntegerEntry(("Deposit_height_Of_" + currentKey), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + currentKey), 0), IntegerEntry(("Deposit_Amount_Of_" + currentKey), 0), IntegerEntry(("Rewards_Of_" + currentKey), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")] | |
129 | 134 | } | |
130 | 135 | ||
131 | 136 | ||
132 | 137 | @Verifier(tx) | |
133 | 138 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
134 | 139 |
github/deemru/w8io/169f3d6 39.99 ms ◑