tx · 51bruAkKK44BQb5wPmAyEvRud6WVamLBRB6g5iTaf7oJ

3N7CrGtgTb8SxosNYbfN8HwyZEDrqExkdgA:  -0.02000000 Waves

2023.07.21 13:12 [2675481] smart account 3N7CrGtgTb8SxosNYbfN8HwyZEDrqExkdgA > SELF 0.00000000 Waves

{ "type": 13, "id": "51bruAkKK44BQb5wPmAyEvRud6WVamLBRB6g5iTaf7oJ", "fee": 2000000, "feeAssetId": null, "timestamp": 1689934374201, "version": 2, "chainId": 84, "sender": "3N7CrGtgTb8SxosNYbfN8HwyZEDrqExkdgA", "senderPublicKey": "FyySBU6ydmEQirHxRVQwxjexQwZ4ikgE4LPJ8sxX2Naw", "proofs": [ "5rFYP1p58Jiq3i6Svv1KKGx2oJEGnVkzLNrJXSwwEZKAupKTQLmqodVjRf6CGqFGtZSLPMJkQFZNDT5iMvee5NbC" ], "script": "base64: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ABRmZXRjaHVzZXJzdGFrZWhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAC1N0YWtpbmdEYXBwCQABLAAAAAICAAAAEkRlcG9zaXRfaGVpZ2h0X09mXwUAAAAKY3VycmVudEtleQIAAAAmWW91ciBBZGRyZXNzIG5vdCBGb3VuZCBvbiBTdGFraW5nIERBcHAEAAAAFWZldGNodXNlcm1hdHVyZWhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAC1N0YWtpbmdEYXBwCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQIAAAAmWW91ciBBZGRyZXNzIG5vdCBGb3VuZCBvbiBTdGFraW5nIERBcHAEAAAAC2dhcG9maGVpZ2h0CQAAZQAAAAIFAAAAFWZldGNodXNlcm1hdHVyZWhlaWdodAUAAAAUZmV0Y2h1c2Vyc3Rha2VoZWlnaHQEAAAAE2NoZWNrTGljZW5zZUJhbGFuY2UJAAPwAAAAAgkBAAAAB0FkZHJlc3MAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBQAAABJDT0RFTElDRU5TRUFzc2V0SUQEAAAAEWN1cnJlbnRDT0RFQW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAASRGVwb3NpdF9BbW91bnRfT2ZfBQAAAApjdXJyZW50S2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAADW5ld0NPREVBbW91bnQJAABkAAAAAgUAAAARY3VycmVudENPREVBbW91bnQIBQAAAANwbXQAAAAGYW1vdW50BAAAABBVc2VyTm9PZkRlcG9zaXRzBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAPTm9fT2ZfRGVwb3NpdHNfBQAAAApjdXJyZW50S2V5AwkAAAEAAAACBQAA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ZSBhbiBBY3RpdmUgU3Rha2luZywgUGxlYXNlIFdhaXQgdW50aWwgTWF0dXJlLgkABEwAAAACCQEAAAAEQnVybgAAAAIFAAAAC0NPREVBc3NldElECAUAAAADcG10AAAABmFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASVG90YWxfQnVybmVkX0NPREU6BQAAAA9Ub3RhbEJ1cm5lZENPREUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAC1RvdGFsX1R4bnM6BQAAAA1Ub3RhbFR4bnNDT0RFCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAlJbmZsYXRpb24FAAAAC0luZmxhdGlvbk5vCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAxCbG9ja19QYXNzZWQFAAAACWJsb2NrZGlmZgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAALQnVybl9GYWN0b3IFAAAAC0J1cm5fZmFjdG9yCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAD05vX09mX0RlcG9zaXRzXwUAAAAKY3VycmVudEtleQUAAAAYU3VtcHVwb2ZVc2VyTm9PZkRlcG9zaXRzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEkRlcG9zaXRfaGVpZ2h0X09mXwUAAAAKY3VycmVudEtleQUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQUAAAAPdG90YWxsb2NrYmxvY2tzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEkRlcG9zaXRfQW1vdW50X09mXwUAAAAKY3VycmVudEtleQUAAAANbmV3Q09ERUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQUAAAAPVXNlckNsYWltQW1vdW50CQAETAAA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ElByZXZpb3VzSXNzdWVkQ09ERQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQQAAAAUUHJldmlvdXNDbGFpbUZlZUluVE4EAAAAByRtYXRjaDAJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAFVRvdGFsX0NsYWltX0ZlZV9Jbl9UTgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABFUb3RhbENsYWltRmVlSW5UTgkAAGQAAAACBQAAABRQcmV2aW91c0NsYWltRmVlSW5UTgUAAAAIQ2xhaW1GZWUEAAAAFGZldGNodXNlcnN0YWtlaGVpZ2h0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAALU3Rha2luZ0RhcHAJAAEsAAAAAgIAAAASRGVwb3NpdF9oZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5AgAAACZZb3VyIEFkZHJlc3Mgbm90IEZvdW5kIG9uIFN0YWtpbmcgREFwcAQAAAAVZmV0Y2h1c2VybWF0dXJlaGVpZ2h0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAALU3Rha2luZ0RhcHAJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5AgAAACZZb3VyIEFkZHJlc3Mgbm90IEZvdW5kIG9uIFN0YWtpbmcgREFwcAQAAAALZ2Fwb2ZoZWlnaHQJAABlAAAAAgUAAAAVZmV0Y2h1c2VybWF0dXJlaGVpZ2h0BQAAABRmZXRjaHVzZXJzdGFrZWhlaWdodAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAMFdyb25nIEFzc2V0IEF0dGFjaGVkIGZvciBQYXltZW50LCBwbGVhc2UgQXR0YWNoIAkAAaQAAAABBQAAAAhDbGFpbUZlZQIAAAAJLzEwXjggVE4uAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAZhbW91bnQFAAAACENsYWltRmVlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABRQbGVhc2UgQXR0YWNoIEV4YWN0IAkAAaQAAAABBQAAAAhDbGFpbUZlZQIAAAAJLzEwXjggVE4uAwkAAGYAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQUAAAAGaGVpZ2h0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAFWW91ciAJAAGkAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQIAAAA8LzEwXjggQ09ERSBhcmUgU3RpbGwgTWF0dXJpbmcuIFRva2VuIHdpbGwgYmUgVW5sb2NrZWQgYWZ0ZXIgCQABpAAAAAEJAABlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkFAAAABmhlaWdodAIAAAAIIGJsb2Nrcy4DCQAAAAAAAAIFAAAAEWNoZWNrZGVwb3NpdHZhbHVlAAAAAAAAAAAACQAAAgAAAAECAAAAK1lvdSBIYXZlIEFscmVhZHkgV2l0aGRyYXcgeW91ciBDT0RFIEFtb3VudC4DCQEAAAACIT0AAAACBQAAAAtnYXBvZmhlaWdodAAAAAAAAAH6QAkAAAIAAAABAgAAALxZb3UgYXJlIE5vdCBFbGlnaWJsZSB0byBXaXRoZHJhdyBDT0RFLiBJdCBuZWVkIG1pbmltdW0gOTAgRGF5cyBTdGFraW5nIGF0IEE0QSBEQXBwLiBQcm9iYWJseSB5b3UgYWxyZWFkeSBoYXZlIENsYWltZWQgWW91ciBTdGFrZSBvciB5b3UgT3ZlcndyaXRlIHRoZSBTbWFydCBDb250cmFjdCB3aXRoIGxlc3MgdGhhbiA5MCBkYXlzLgMJAABnAAAAAgUAAAARZmV0Y2hVc2VyU3Rha2VBbXQAAAABF2WS3/8JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAC1RvdGFsX1R4bnM6BQAAAA1Ub3RhbFR4bnNDT0RFCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABNUb3RhbF9DT0RFX0NsYWltZWQ6BQAAABJ0b3RhbHJld2FyZGNsYWltZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAElRvdGFsX0lzc3VlZF9DT0RFOgUAAAAPVG90YWxJc3N1ZWRDT0RFCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABVUb3RhbF9DbGFpbV9GZWVfSW5fVE4FAAAAEVRvdGFsQ2xhaW1GZWVJblROCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAxGZWVfJV9DaGFyZ2UFAAAADkZsYXRmZWVQZXJjZW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAApGZWVfQW1vdW50BQAAAA51c2VyRmxhdEZlZUFtdAkABEwAAAACCQEAAAAHUmVpc3N1ZQAAAAMFAAAAC0NPREVBc3NldElECQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5BgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQUAAAAOdXNlckZsYXRGZWVBbXQFAAAAC0NPREVBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAElRyZWFzdXJ5RmVlQWRkcmVzcwkAAGsAAAADBQAAAA51c2VyRmxhdEZlZUFtdAAAAAAAAAAAUAAAAAAAAAAAZAUAAAALQ09ERUFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAKZGV2YWRkcmVzcwkAAGsAAAADBQAAAA51c2VyRmxhdEZlZUFtdAUAAAAMZGV2ZmVlY2hhcmVkAAAAAAAAAABkBQAAAAtDT0RFQXNzZXRJRAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAA9Ob19PZl9EZXBvc2l0c18FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9oZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJEZXBvc2l0X0Ftb3VudF9PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQIAAAAoPGgxPkNPREUgVW5TdGFrZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+PGJyPgUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAtUb3RhbF9UeG5zOgUAAAANVG90YWxUeG5zQ09ERQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAATVG90YWxfQ09ERV9DbGFpbWVkOgUAAAASdG90YWxyZXdhcmRjbGFpbWVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJUb3RhbF9Jc3N1ZWRfQ09ERToFAAAAD1RvdGFsSXNzdWVkQ09ERQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAVVG90YWxfQ2xhaW1fRmVlX0luX1ROBQAAABFUb3RhbENsYWltRmVlSW5UTgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAMRmVlXyVfQ2hhcmdlBQAAAAtGZWVzUGVyY2VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAKRmVlX0Ftb3VudAUAAAAKdXNlckZlZUFtdAkABEwAAAACCQEAAAAHUmVpc3N1ZQAAAAMFAAAAC0NPREVBc3NldElECQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5BgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQUAAAAKdXNlckZlZUFtdAUAAAALQ09ERUFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAASVHJlYXN1cnlGZWVBZGRyZXNzCQAAawAAAAMFAAAACnVzZXJGZWVBbXQAAAAAAAAAAFAAAAAAAAAAAGQFAAAAC0NPREVBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAACmRldmFkZHJlc3MJAABrAAAAAwUAAAAKdXNlckZlZUFtdAUAAAAMZGV2ZmVlY2hhcmVkAAAAAAAAAABkBQAAAAtDT0RFQXNzZXRJRAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAA9Ob19PZl9EZXBvc2l0c18FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3Np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", "height": 2675481, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: JCRMZuqf9ww4MRpMxiDN4LecG7g96yZ3pj8RCJHxavjZ Next: CJTRgHuLbmBRn4PqMTHvSLeccb8Q4D6XKTC7YLxtfwXM Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let CODEAssetID = base58'ArPqXguhFLjJt5XwcNwhXMnCv2zSumrM19y5WgT34yRi'
4+let CODEAssetID = base58'EB4CUQH4fHzzQt9YjcHtA6T7uosHNH9RnQKHgBdZHPCB'
55
6-let CODELICENSEAssetID = base58'AxK7XXUow7R1roZXLyYbW7qokA3ELxAWPpyXkJCJumCa'
6+let CODELICENSEAssetID = base58'H3MZcnjakUsXycTbuR1BtZbyXj8C4RAPgdoeoTMGczjX'
77
8-let StakingDapp = base58'FyySBU6ydmEQirHxRVQwxjexQwZ4ikgE4LPJ8sxX2Naw'
8+let StakingDapp = base58'J3cAptAPQxVqpEz6Rch57JeKpbns48s1a6HoeQG9aX4J'
99
1010 let TreasuryFeeAddress = base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR'
1111
1515
1616 let StartHeight = 1850000
1717
18-let minimumBurnFactor = 1000000
19-
2018 let minimumlockdays = getIntegerValue(this, "Minimum_Days_Range")
2119
2220 let maximumlockdays = getIntegerValue(this, "Maximum_Days_Range")
23-
24-let New_minimumlockdays = (minimumlockdays + 1)
25-
26-let New_maximumlockdays = (maximumlockdays + 1)
2721
2822 let oneday = 1440
2923
5751 0
5852 }
5953 let TotalBurnedCODE = (PreviousBurnedCODE + pmt.amount)
60- let fetchuserstakeheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Deposit_height_Of_" + currentKey)), "Your Address not Found on Staking, DAppError: Deposit Height data Missing")
61- let fetchusermatureheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Total_Lock_Blocks_Of_" + currentKey)), "Your Address not Found on Staking DApp,Error: Total Lock Blocks data Missing")
54+ let fetchuserstakeheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Deposit_height_Of_" + currentKey)), "Your Address not Found on Staking DApp")
55+ let fetchusermatureheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Total_Lock_Blocks_Of_" + currentKey)), "Your Address not Found on Staking DApp")
6256 let gapofheight = (fetchusermatureheight - fetchuserstakeheight)
6357 let checkLicenseBalance = assetBalance(Address(i.caller.bytes), CODELICENSEAssetID)
6458 let currentCODEAmount = match getInteger(this, ("Deposit_Amount_Of_" + currentKey)) {
9185 then throw("Please Attach minimum 0.001 CODE Token To Issue More CODE Asset.")
9286 else if ((pmt.amount > allowdedpymt))
9387 then throw((("You can attach maximum " + toString(allowdedpymt)) + "/10^8 CODE."))
94- else if ((gapofheight != 129600))
95- then throw("You are Not Eligible to Mint CODE. It need minimum 90 Days Staking.")
96- else if ((UserNoOfDeposits == 1))
97- then throw("You Already Have an Active Staking, Please Wait until Mature.")
98- else if ((Burn_factor > minimumBurnFactor))
99- then [Burn(CODEAssetID, pmt.amount), IntegerEntry("Total_Burned_CODE:", TotalBurnedCODE), IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Inflation", InflationNo), IntegerEntry("Block_Passed", blockdiff), IntegerEntry("Burn_Factor", Burn_factor), 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>")]
100- else if ((minimumBurnFactor > Burn_factor))
101- then [IntegerEntry("Minimum_Days_Range", New_minimumlockdays), IntegerEntry("Maximum_Days_Range", New_maximumlockdays), StringEntry("message", (((("<h1>Days Range Expended from " + toString(maximumlockdays)) + " Days to ") + toString(New_maximumlockdays)) + " Days. Please Re-Stake Your Code."))]
102- else nil
88+ else if ((pmt.amount > UserClaimAmount))
89+ then throw((((("Your Stake Output is lower than input, please increase no. of days (" + toString(UserClaimAmount)) + "/") + toString(pmt.amount)) + ")/10^8 CODE."))
90+ else if ((gapofheight != 129600))
91+ then throw("You are Not Eligible to Mint CODE. It need minimum 90 Days Staking.")
92+ else if ((UserNoOfDeposits == 1))
93+ then throw("You Already Have an Active Staking, Please Wait until Mature.")
94+ else [Burn(CODEAssetID, pmt.amount), IntegerEntry("Total_Burned_CODE:", TotalBurnedCODE), IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Inflation", InflationNo), IntegerEntry("Block_Passed", blockdiff), IntegerEntry("Burn_Factor", Burn_factor), 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>")]
10395 }
10496
10597
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let CODEAssetID = base58'ArPqXguhFLjJt5XwcNwhXMnCv2zSumrM19y5WgT34yRi'
4+let CODEAssetID = base58'EB4CUQH4fHzzQt9YjcHtA6T7uosHNH9RnQKHgBdZHPCB'
55
6-let CODELICENSEAssetID = base58'AxK7XXUow7R1roZXLyYbW7qokA3ELxAWPpyXkJCJumCa'
6+let CODELICENSEAssetID = base58'H3MZcnjakUsXycTbuR1BtZbyXj8C4RAPgdoeoTMGczjX'
77
8-let StakingDapp = base58'FyySBU6ydmEQirHxRVQwxjexQwZ4ikgE4LPJ8sxX2Naw'
8+let StakingDapp = base58'J3cAptAPQxVqpEz6Rch57JeKpbns48s1a6HoeQG9aX4J'
99
1010 let TreasuryFeeAddress = base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR'
1111
1212 let devaddress = base58'8d4zGuTjT3h67Z4DatzMXdXXW1GvoQhMTjwCGFxJuene'
1313
1414 let devfeechared = 20
1515
1616 let StartHeight = 1850000
1717
18-let minimumBurnFactor = 1000000
19-
2018 let minimumlockdays = getIntegerValue(this, "Minimum_Days_Range")
2119
2220 let maximumlockdays = getIntegerValue(this, "Maximum_Days_Range")
23-
24-let New_minimumlockdays = (minimumlockdays + 1)
25-
26-let New_maximumlockdays = (maximumlockdays + 1)
2721
2822 let oneday = 1440
2923
3024 let blockdiff = (height - StartHeight)
3125
3226 let InflationNo = (fraction(10000000000, 1, blockdiff) + 6000)
3327
3428 @Callable(i)
3529 func Deposit (days) = {
3630 let pmt = if ((size(i.payments) == 1))
3731 then i.payments[0]
3832 else throw((("No Payments Attached Please Attach " + toBase58String(CODEAssetID)) + " Asset Only."))
3933 let currentKey = toBase58String(i.caller.bytes)
4034 let UserClaimAmount = ((((InflationNo * pmt.amount) * days) / 365) / 1000)
4135 let allowdedpymt = (blockdiff * 100000)
4236 let actualblocks = (oneday * days)
4337 let totallockblocks = (height + actualblocks)
4438 let max_receivable = fraction(maximumlockdays, (allowdedpymt * InflationNo), (365 * 1000))
4539 let Burn_factor = fraction(max_receivable, 1000000, allowdedpymt)
4640 let PreviousTxnsCODE = match getIntegerValue(this, "Total_Txns:") {
4741 case a: Int =>
4842 a
4943 case _ =>
5044 0
5145 }
5246 let TotalTxnsCODE = (PreviousTxnsCODE + 1)
5347 let PreviousBurnedCODE = match getInteger(this, "Total_Burned_CODE:") {
5448 case a: Int =>
5549 a
5650 case _ =>
5751 0
5852 }
5953 let TotalBurnedCODE = (PreviousBurnedCODE + pmt.amount)
60- let fetchuserstakeheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Deposit_height_Of_" + currentKey)), "Your Address not Found on Staking, DAppError: Deposit Height data Missing")
61- let fetchusermatureheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Total_Lock_Blocks_Of_" + currentKey)), "Your Address not Found on Staking DApp,Error: Total Lock Blocks data Missing")
54+ let fetchuserstakeheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Deposit_height_Of_" + currentKey)), "Your Address not Found on Staking DApp")
55+ let fetchusermatureheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Total_Lock_Blocks_Of_" + currentKey)), "Your Address not Found on Staking DApp")
6256 let gapofheight = (fetchusermatureheight - fetchuserstakeheight)
6357 let checkLicenseBalance = assetBalance(Address(i.caller.bytes), CODELICENSEAssetID)
6458 let currentCODEAmount = match getInteger(this, ("Deposit_Amount_Of_" + currentKey)) {
6559 case a: Int =>
6660 a
6761 case _ =>
6862 0
6963 }
7064 let newCODEAmount = (currentCODEAmount + pmt.amount)
7165 let UserNoOfDeposits = match getInteger(this, ("No_Of_Deposits_" + currentKey)) {
7266 case a: Int =>
7367 a
7468 case _ =>
7569 0
7670 }
7771 let SumpupofUserNoOfDeposits = (UserNoOfDeposits + 1)
7872 if ((checkLicenseBalance != 1))
7973 then throw("You Need to Mint a CODE License from DApp Address 3JeqfvcGZxJbuSpCB5cFhV2Bb8fdV4WzZzZ.")
8074 else if ((checkLicenseBalance > 1))
8175 then throw("You Own Multiple CODE License on Same Address.")
8276 else if ((StartHeight > height))
8377 then throw((("DApp is Not Started Yet please Wait until " + toString((StartHeight - height))) + " blocks"))
8478 else if ((pmt.assetId != CODEAssetID))
8579 then throw((("Incorrect asset attached, please attach " + toBase58String(CODEAssetID)) + " asset only"))
8680 else if ((minimumlockdays >= days))
8781 then throw(((("Choose Locking days in between " + toString((minimumlockdays + 1))) + " to ") + toString(maximumlockdays)))
8882 else if ((days > maximumlockdays))
8983 then throw(((((("You Entered days to " + toString(days)) + ", Please Enter no. of days in between ") + toString((minimumlockdays + 1))) + " to ") + toString(maximumlockdays)))
9084 else if ((100000 > pmt.amount))
9185 then throw("Please Attach minimum 0.001 CODE Token To Issue More CODE Asset.")
9286 else if ((pmt.amount > allowdedpymt))
9387 then throw((("You can attach maximum " + toString(allowdedpymt)) + "/10^8 CODE."))
94- else if ((gapofheight != 129600))
95- then throw("You are Not Eligible to Mint CODE. It need minimum 90 Days Staking.")
96- else if ((UserNoOfDeposits == 1))
97- then throw("You Already Have an Active Staking, Please Wait until Mature.")
98- else if ((Burn_factor > minimumBurnFactor))
99- then [Burn(CODEAssetID, pmt.amount), IntegerEntry("Total_Burned_CODE:", TotalBurnedCODE), IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Inflation", InflationNo), IntegerEntry("Block_Passed", blockdiff), IntegerEntry("Burn_Factor", Burn_factor), 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>")]
100- else if ((minimumBurnFactor > Burn_factor))
101- then [IntegerEntry("Minimum_Days_Range", New_minimumlockdays), IntegerEntry("Maximum_Days_Range", New_maximumlockdays), StringEntry("message", (((("<h1>Days Range Expended from " + toString(maximumlockdays)) + " Days to ") + toString(New_maximumlockdays)) + " Days. Please Re-Stake Your Code."))]
102- else nil
88+ else if ((pmt.amount > UserClaimAmount))
89+ then throw((((("Your Stake Output is lower than input, please increase no. of days (" + toString(UserClaimAmount)) + "/") + toString(pmt.amount)) + ")/10^8 CODE."))
90+ else if ((gapofheight != 129600))
91+ then throw("You are Not Eligible to Mint CODE. It need minimum 90 Days Staking.")
92+ else if ((UserNoOfDeposits == 1))
93+ then throw("You Already Have an Active Staking, Please Wait until Mature.")
94+ else [Burn(CODEAssetID, pmt.amount), IntegerEntry("Total_Burned_CODE:", TotalBurnedCODE), IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Inflation", InflationNo), IntegerEntry("Block_Passed", blockdiff), IntegerEntry("Burn_Factor", Burn_factor), 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>")]
10395 }
10496
10597
10698
10799 @Callable(i)
108100 func Withdraw () = {
109101 let currentKey = toBase58String(i.caller.bytes)
110102 let MaxA4AAmt = 1200000000000
111103 let MaxFee = 24000000
112104 let divisiblefactor = 19
113105 let fetchUserStakeAmt = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Deposit_Amount_Of_" + currentKey)), "Your Address not Found on Staking DApp")
114106 let FlatfeePercent = 500
115107 let FeesPercent = ((MaxFee - (fraction(fetchUserStakeAmt, 1000000, MaxA4AAmt) * 19)) / 10000)
116108 let ClaimFee = getIntegerValue(this, "Claim_Fee")
117109 let pmt = value(i.payments[0])
118110 let checkdepositvalue = getIntegerValue(this, ("Deposit_Amount_Of_" + currentKey))
119111 let userFeeAmt = (((getIntegerValue(this, ("Rewards_Of_" + currentKey)) - checkdepositvalue) * FeesPercent) / 10000)
120112 let userFlatFeeAmt = (((getIntegerValue(this, ("Rewards_Of_" + currentKey)) - checkdepositvalue) * FlatfeePercent) / 10000)
121113 let PreviousTxnsCODE = match getIntegerValue(this, "Total_Txns:") {
122114 case a: Int =>
123115 a
124116 case _ =>
125117 0
126118 }
127119 let TotalTxnsCODE = (PreviousTxnsCODE + 1)
128120 let fetchRewardData = match getIntegerValue(this, "Total_CODE_Claimed:") {
129121 case a: Int =>
130122 a
131123 case _ =>
132124 0
133125 }
134126 let totalrewardclaimed = (fetchRewardData + getIntegerValue(this, ("Rewards_Of_" + currentKey)))
135127 let PreviousIssuedCODE = match getIntegerValue(this, "Total_Issued_CODE:") {
136128 case a: Int =>
137129 a
138130 case _ =>
139131 0
140132 }
141133 let TotalIssuedCODE = (PreviousIssuedCODE + getIntegerValue(this, ("Rewards_Of_" + currentKey)))
142134 let PreviousClaimFeeInTN = match getIntegerValue(this, "Total_Claim_Fee_In_TN") {
143135 case a: Int =>
144136 a
145137 case _ =>
146138 0
147139 }
148140 let TotalClaimFeeInTN = (PreviousClaimFeeInTN + ClaimFee)
149141 let fetchuserstakeheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Deposit_height_Of_" + currentKey)), "Your Address not Found on Staking DApp")
150142 let fetchusermatureheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Total_Lock_Blocks_Of_" + currentKey)), "Your Address not Found on Staking DApp")
151143 let gapofheight = (fetchusermatureheight - fetchuserstakeheight)
152144 if (isDefined(pmt.assetId))
153145 then throw((("Wrong Asset Attached for Payment, please Attach " + toString(ClaimFee)) + "/10^8 TN."))
154146 else if ((pmt.amount != ClaimFee))
155147 then throw((("Please Attach Exact " + toString(ClaimFee)) + "/10^8 TN."))
156148 else if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + currentKey)) > height))
157149 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."))
158150 else if ((checkdepositvalue == 0))
159151 then throw("You Have Already Withdraw your CODE Amount.")
160152 else if ((gapofheight != 129600))
161153 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.")
162154 else if ((fetchUserStakeAmt >= 1199999999999))
163155 then [IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Total_CODE_Claimed:", totalrewardclaimed), IntegerEntry("Total_Issued_CODE:", TotalIssuedCODE), IntegerEntry("Total_Claim_Fee_In_TN", TotalClaimFeeInTN), IntegerEntry("Fee_%_Charge", FlatfeePercent), IntegerEntry("Fee_Amount", userFlatFeeAmt), Reissue(CODEAssetID, getIntegerValue(this, ("Rewards_Of_" + currentKey)), true), ScriptTransfer(i.caller, (getIntegerValue(this, ("Rewards_Of_" + currentKey)) - userFlatFeeAmt), CODEAssetID), ScriptTransfer(addressFromPublicKey(TreasuryFeeAddress), fraction(userFlatFeeAmt, 80, 100), CODEAssetID), ScriptTransfer(addressFromPublicKey(devaddress), fraction(userFlatFeeAmt, devfeechared, 100), 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>")]
164156 else [IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Total_CODE_Claimed:", totalrewardclaimed), IntegerEntry("Total_Issued_CODE:", TotalIssuedCODE), IntegerEntry("Total_Claim_Fee_In_TN", TotalClaimFeeInTN), IntegerEntry("Fee_%_Charge", FeesPercent), IntegerEntry("Fee_Amount", userFeeAmt), Reissue(CODEAssetID, getIntegerValue(this, ("Rewards_Of_" + currentKey)), true), ScriptTransfer(i.caller, (getIntegerValue(this, ("Rewards_Of_" + currentKey)) - userFeeAmt), CODEAssetID), ScriptTransfer(addressFromPublicKey(TreasuryFeeAddress), fraction(userFeeAmt, 80, 100), CODEAssetID), ScriptTransfer(addressFromPublicKey(devaddress), fraction(userFeeAmt, devfeechared, 100), 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>")]
165157 }
166158
167159
168160
169161 @Callable(i)
170162 func SetDaysRange (Minimum_Days_Range,Maximum_Days_Range) = {
171163 let calleraddress = toBase58String(i.caller.bytes)
172164 let adminrights = getStringValue(this, "DApp_Admin_Rights")
173165 let Minimum_days = 7
174166 let Maximum_days = 200
175167 if ((adminrights != calleraddress))
176168 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to change Days Range."))
177169 else if ((Minimum_days > Minimum_Days_Range))
178170 then throw("Minimum days range must be more than 6 and in between 7-200.")
179171 else if ((Maximum_Days_Range > Maximum_days))
180172 then throw("Maximum days range can't exceed the 200.")
181173 else if ((Minimum_Days_Range > Maximum_Days_Range))
182174 then throw((((("Minimum days range can't be exceed the value of Maximum days range. Choose the Range between [" + toString(Minimum_days)) + "-") + toString(Maximum_days)) + "]"))
183175 else [IntegerEntry("Minimum_Days_Range", Minimum_Days_Range), IntegerEntry("Maximum_Days_Range", Maximum_Days_Range)]
184176 }
185177
186178
187179
188180 @Callable(i)
189181 func SetClaimFee (ClaimFee) = {
190182 let calleraddress = toBase58String(i.caller.bytes)
191183 let adminrights = getStringValue(this, "DApp_Admin_Rights")
192184 let Minimum_Claim_fee = 100000000
193185 let Maximum_Claim_fee = 100000000000
194186 if ((adminrights != calleraddress))
195187 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to change Claim Fee."))
196188 else if ((Minimum_Claim_fee > ClaimFee))
197189 then throw((("Minimum Claim fee is " + toString(Minimum_Claim_fee)) + " TN [int-format]."))
198190 else if ((ClaimFee > Maximum_Claim_fee))
199191 then throw((("Maximum Claim fee can't be more than " + toString(Maximum_Claim_fee)) + " TN. [int-format]"))
200192 else [IntegerEntry("Claim_Fee", ClaimFee)]
201193 }
202194
203195
204196 @Verifier(tx)
205197 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
206198

github/deemru/w8io/026f985 
59.84 ms