tx · GY5iVvNfyDoiSVyBZ3Z5FBnNQ6LL7uzzfGRR1unLPtVd

3N7CrGtgTb8SxosNYbfN8HwyZEDrqExkdgA:  -0.02200000 Waves

2023.07.21 11:43 [2675386] smart account 3N7CrGtgTb8SxosNYbfN8HwyZEDrqExkdgA > SELF 0.00000000 Waves

{ "type": 13, "id": "GY5iVvNfyDoiSVyBZ3Z5FBnNQ6LL7uzzfGRR1unLPtVd", "fee": 2200000, "feeAssetId": null, "timestamp": 1689929014577, "version": 2, "chainId": 84, "sender": "3N7CrGtgTb8SxosNYbfN8HwyZEDrqExkdgA", "senderPublicKey": "FyySBU6ydmEQirHxRVQwxjexQwZ4ikgE4LPJ8sxX2Naw", "proofs": [ "3FCZfS13MHfNcvw2C7kgJod4JW7Dr5xh2xTJtZXyj8Jawf7yyVgM5DbENBXXko6Lxr4wx7uFEvCVHNzXbSYKJ8MS" ], "script": "base64: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VG90YWxfQnVybmVkX0NPREU6AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAD1RvdGFsQnVybmVkQ09ERQkAAGQAAAACBQAAABJQcmV2aW91c0J1cm5lZENPREUIBQAAAANwbXQAAAAGYW1vdW50BAAAABRmZXRjaHVzZXJzdGFrZWhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAC1N0YWtpbmdEYXBwCQABLAAAAAICAAAAEkRlcG9zaXRfaGVpZ2h0X09mXwUAAAAKY3VycmVudEtleQIAAAAmWW91ciBBZGRyZXNzIG5vdCBGb3VuZCBvbiBTdGFraW5nIERBcHAEAAAAFWZldGNodXNlcm1hdHVyZWhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAC1N0YWtpbmdEYXBwCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQIAAAAmWW91ciBBZGRyZXNzIG5vdCBGb3VuZCBvbiBTdGFraW5nIERBcHAEAAAAC2dhcG9maGVpZ2h0CQAAZQAAAAIFAAAAFWZldGNodXNlcm1hdHVyZWhlaWdodAUAAAAUZmV0Y2h1c2Vyc3Rha2VoZWlnaHQEAAAAE2NoZWNrTGljZW5zZUJhbGFuY2UJAAPwAAAAAgkBAAAAB0FkZHJlc3MAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBQAAABJDT0RFTElDRU5TRUFzc2V0SUQEAAAAEWN1cnJlbnRDT0RFQW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAASRGVwb3NpdF9BbW91bnRfT2ZfBQAAAApjdXJyZW50S2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAADW5ld0NPREVBbW91bnQJ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AAAAAfpACQAAAgAAAAECAAAAQ1lvdSBhcmUgTm90IEVsaWdpYmxlIHRvIE1pbnQgQ09ERS4gSXQgbmVlZCBtaW5pbXVtIDkwIERheXMgU3Rha2luZy4DCQAAAAAAAAIFAAAAEFVzZXJOb09mRGVwb3NpdHMAAAAAAAAAAAEJAAACAAAAAQIAAAA9WW91IEFscmVhZHkgSGF2ZSBhbiBBY3RpdmUgU3Rha2luZywgUGxlYXNlIFdhaXQgdW50aWwgTWF0dXJlLgMJAABmAAAAAgUAAAALQnVybl9mYWN0b3IFAAAAEW1pbmltdW1CdXJuRmFjdG9yCQAETAAAAAIJAQAAAARCdXJuAAAAAgUAAAALQ09ERUFzc2V0SUQIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJUb3RhbF9CdXJuZWRfQ09ERToFAAAAD1RvdGFsQnVybmVkQ09ERQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAALVG90YWxfVHhuczoFAAAADVRvdGFsVHhuc0NPREUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAACUluZmxhdGlvbgUAAAALSW5mbGF0aW9uTm8JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADEJsb2NrX1Bhc3NlZAUAAAAJYmxvY2tkaWZmCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAtCdXJuX0ZhY3RvcgUAAAALQnVybl9mYWN0b3IJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAPTm9fT2ZfRGVwb3NpdHNfBQAAAApjdXJyZW50S2V5BQAAABhTdW1wdXBvZlVzZXJOb09mRGVwb3NpdHMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9oZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAZoZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5BQAAAA90b3RhbGxvY2tibG9ja3MJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9BbW91bnRfT2ZfBQAAAApjdXJyZW50S2V5BQAAAA1uZXdDT0RFQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5BQAAAA9Vc2VyQ2xhaW1BbW91bnQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQIAAAAmPGgxPkNPREUgU3Rha2VkIFN1Y2Nlc3NmdWxseSE8L2gxPjxicj4FAAAAA25pbAMJAABmAAAAAgUAAAARbWluaW11bUJ1cm5GYWN0b3IFAAAAC0J1cm5fZmFjdG9yCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJNaW5pbXVtX0RheXNfUmFuZ2UFAAAAE05ld19taW5pbXVtbG9ja2RheXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAEk1heGltdW1fRGF5c19SYW5nZQUAAAATTmV3X21heGltdW1sb2NrZGF5cwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAHTxoMT5EYXlzIFJhbmdlIEV4cGVuZGVkIGZyb20gCQABpAAAAAEFAAAAD21heGltdW1sb2NrZGF5cwIAAAAJIERheXMgdG8gCQABpAAAAAEFAAAAE05ld19tYXhpbXVtbG9ja2RheXMCAAAAISBEYXlzLiBQbGVhc2UgUmUtU3Rha2UgWW91ciBDb2RlLgUAAAADbmlsBQAAAANuaWwAAAABaQEAAAAIV2l0aGRyYXcAAAAABAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAACU1heEE0QUFtdAAAAAEXZZLgAAQAAAAGTWF4RmVlAAAAAAABbjYABAAAAA9kaXZpc2libGVmYWN0b3IAAAAAAAAAABMEAAAAEWZldGNoVXNlclN0YWtlQW10CQEAAAATdmFsdWVP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bENsYWltRmVlSW5UTgkAAGQAAAACBQAAABRQcmV2aW91c0NsYWltRmVlSW5UTgUAAAAIQ2xhaW1GZWUEAAAAFGZldGNodXNlcnN0YWtlaGVpZ2h0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAALU3Rha2luZ0RhcHAJAAEsAAAAAgIAAAASRGVwb3NpdF9oZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5AgAAACZZb3VyIEFkZHJlc3Mgbm90IEZvdW5kIG9uIFN0YWtpbmcgREFwcAQAAAAVZmV0Y2h1c2VybWF0dXJlaGVpZ2h0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAALU3Rha2luZ0RhcHAJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5AgAAACZZb3VyIEFkZHJlc3Mgbm90IEZvdW5kIG9uIFN0YWtpbmcgREFwcAQAAAALZ2Fwb2ZoZWlnaHQJAABlAAAAAgUAAAAVZmV0Y2h1c2VybWF0dXJlaGVpZ2h0BQAAABRmZXRjaHVzZXJzdGFrZWhlaWdodAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAMFdyb25nIEFzc2V0IEF0dGFjaGVkIGZvciBQYXltZW50LCBwbGVhc2UgQXR0YWNoIAkAAaQAAAABBQAAAAhDbGFpbUZlZQIAAAAJLzEwXjggVE4uAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAZhbW91bnQFAAAACENsYWltRmVlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABRQbGVhc2UgQXR0YWNoIEV4YWN0IAkAAaQAAAABBQAAAAhDbGFpbUZlZQIAAAAJLzEwXjggVE4uAwkAAGYAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQUAAAAGaGVpZ2h0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAFWW91ciAJAAGkAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQIAAAA8LzEwXjggQ09ERSBhcmUgU3RpbGwgTWF0dXJpbmcuIFRva2VuIHdpbGwgYmUgVW5sb2NrZWQgYWZ0ZXIgCQABpAAAAAEJAABlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkFAAAABmhlaWdodAIAAAAIIGJsb2Nrcy4DCQAAAAAAAAIFAAAAEWNoZWNrZGVwb3NpdHZhbHVlAAAAAAAAAAAACQAAAgAAAAECAAAAK1lvdSBIYXZlIEFscmVhZHkgV2l0aGRyYXcgeW91ciBDT0RFIEFtb3VudC4DCQEAAAACIT0AAAACBQAAAAtnYXBvZmhlaWdodAAAAAAAAAH6QAkAAAIAAAABAgAAALxZb3UgYXJlIE5vdCBFbGlnaWJsZSB0byBXaXRoZHJhdyBDT0RFLiBJdCBuZWVkIG1pbmltdW0gOTAgRGF5cyBTdGFraW5nIGF0IEE0QSBEQXBwLiBQcm9iYWJseSB5b3UgYWxyZWFkeSBoYXZlIENsYWltZWQgWW91ciBTdGFrZSBvciB5b3UgT3ZlcndyaXRlIHRoZSBTbWFydCBDb250cmFjdCB3aXRoIGxlc3MgdGhhbiA5MCBkYXlzLgMJAABnAAAAAgUAAAARZmV0Y2hVc2VyU3Rha2VBbXQAAAABF2WS3/8JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAC1RvdGFsX1R4bnM6BQAAAA1Ub3RhbFR4bnNDT0RFCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABNUb3RhbF9DT0RFX0NsYWltZWQ6BQAAABJ0b3RhbHJld2FyZGNsYWltZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAElRvdGFsX0lzc3VlZF9DT0RFOgUAAAAPVG90YWxJc3N1ZWRDT0RFCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABVUb3RhbF9DbGFpbV9GZWVfSW5fVE4FAAAAEVRvdGFsQ2xhaW1GZWVJblROCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAxGZWVfJV9DaGFyZ2UFAAAADkZsYXRmZWVQZXJjZW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAApGZWVfQW1vdW50BQAAAA51c2VyRmxhdEZlZUFtdAkABEwAAAACCQEAAAAHUmVpc3N1ZQAAAAMFAAAAC0NPREVBc3NldElECQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5BgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQUAAAAOdXNlckZsYXRGZWVBbXQFAAAAC0NPREVBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAElRyZWFzdXJ5RmVlQWRkcmVzcwkAAGsAAAADBQAAAA51c2VyRmxhdEZlZUFtdAAAAAAAAAAAUAAAAAAAAAAAZAUAAAALQ09ERUFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAKZGV2YWRkcmVzcwkAAGsAAAADBQAAAA51c2VyRmxhdEZlZUFtdAUAAAAMZGV2ZmVlY2hhcmVkAAAAAAAAAABkBQAAAAtDT0RFQXNzZXRJRAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAA9Ob19PZl9EZXBvc2l0c18FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9oZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJEZXBvc2l0X0Ftb3VudF9PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQIAAAAoPGgxPkNPREUgVW5TdGFrZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+PGJyPgUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAtUb3RhbF9UeG5zOgUAAAANVG90YWxUeG5zQ09ERQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAATVG90YWxfQ09ERV9DbGFpbWVkOgUAAAASdG90YWxyZXdhcmRjbGFpbWVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJUb3RhbF9Jc3N1ZWRfQ09ERToFAAAAD1RvdGFsSXNzdWVkQ09ERQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAVVG90YWxfQ2xhaW1fRmVlX0luX1ROBQAAABFUb3RhbENsYWltRmVlSW5UTgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAMRmVlXyVfQ2hhcmdlBQAAAAtGZWVzUGVyY2VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAKRmVlX0Ftb3VudAUAAAAKdXNlckZlZUFtdAkABEwAAAACCQEAAAAHUmVpc3N1ZQAAAAMFAAAAC0NPREVBc3NldElECQEAAAARQGV4dHJOYXRpdmUo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", "height": 2675386, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GjVdvbVQuJ1NWcC2Pa65hsUKV8rdyjCpPnz8w2D4b3F6 Next: AtDmaDxfb4xKQTDG78ZoxdbkQGxPRYpn8RSoyL9exLuX Diff:
OldNewDifferences
1515
1616 let g = 1850000
1717
18-let h = getIntegerValue(this, "Minimum_Days_Range")
18+let h = 1000000
1919
20-let i = getIntegerValue(this, "Maximum_Days_Range")
20+let i = getIntegerValue(this, "Minimum_Days_Range")
2121
22-let j = 1440
22+let j = getIntegerValue(this, "Maximum_Days_Range")
2323
24-let k = (height - g)
24+let k = (i + 1)
2525
26-let l = (fraction(10000000000, 1, k) + 6000)
26+let l = (j + 1)
2727
28-@Callable(m)
29-func Deposit (n) = {
30- let o = if ((size(m.payments) == 1))
31- then m.payments[0]
28+let m = 1440
29+
30+let n = (height - g)
31+
32+let o = (fraction(10000000000, 1, n) + 6000)
33+
34+@Callable(p)
35+func Deposit (q) = {
36+ let r = if ((size(p.payments) == 1))
37+ then p.payments[0]
3238 else throw((("No Payments Attached Please Attach " + toBase58String(a)) + " Asset Only."))
33- let p = toBase58String(m.caller.bytes)
34- let q = ((((l * o.amount) * n) / 365) / 1000)
35- let r = (k * 100000)
36- let s = (j * n)
37- let t = (height + s)
38- let u = fraction(i, (r * l), (365 * 1000))
39- let v = fraction(u, 1000000, r)
40- let w = {
41- let x = getIntegerValue(this, "Total_Txns:")
42- if ($isInstanceOf(x, "Int"))
39+ let s = toBase58String(p.caller.bytes)
40+ let t = ((((o * r.amount) * q) / 365) / 1000)
41+ let u = (n * 100000)
42+ let v = (m * q)
43+ let w = (height + v)
44+ let x = fraction(j, (u * o), (365 * 1000))
45+ let y = fraction(x, 1000000, u)
46+ let z = {
47+ let A = getIntegerValue(this, "Total_Txns:")
48+ if ($isInstanceOf(A, "Int"))
4349 then {
44- let y = x
45- y
50+ let B = A
51+ B
4652 }
4753 else 0
4854 }
49- let z = (w + 1)
50- let A = {
51- let x = getInteger(this, "Total_Burned_CODE:")
52- if ($isInstanceOf(x, "Int"))
55+ let C = (z + 1)
56+ let D = {
57+ let A = getInteger(this, "Total_Burned_CODE:")
58+ if ($isInstanceOf(A, "Int"))
5359 then {
54- let y = x
55- y
60+ let B = A
61+ B
5662 }
5763 else 0
5864 }
59- let B = (A + o.amount)
60- let C = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Deposit_height_Of_" + p)), "Your Address not Found on Staking DApp")
61- let D = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Total_Lock_Blocks_Of_" + p)), "Your Address not Found on Staking DApp")
62- let E = (D - C)
63- let F = assetBalance(Address(m.caller.bytes), b)
64- let G = {
65- let x = getInteger(this, ("Deposit_Amount_Of_" + p))
66- if ($isInstanceOf(x, "Int"))
65+ let E = (D + r.amount)
66+ let F = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Deposit_height_Of_" + s)), "Your Address not Found on Staking DApp")
67+ let G = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Total_Lock_Blocks_Of_" + s)), "Your Address not Found on Staking DApp")
68+ let H = (G - F)
69+ let I = assetBalance(Address(p.caller.bytes), b)
70+ let J = {
71+ let A = getInteger(this, ("Deposit_Amount_Of_" + s))
72+ if ($isInstanceOf(A, "Int"))
6773 then {
68- let y = x
69- y
74+ let B = A
75+ B
7076 }
7177 else 0
7278 }
73- let H = (G + o.amount)
74- let I = {
75- let x = getInteger(this, ("No_Of_Deposits_" + p))
76- if ($isInstanceOf(x, "Int"))
79+ let K = (J + r.amount)
80+ let L = {
81+ let A = getInteger(this, ("No_Of_Deposits_" + s))
82+ if ($isInstanceOf(A, "Int"))
7783 then {
78- let y = x
79- y
84+ let B = A
85+ B
8086 }
8187 else 0
8288 }
83- let J = (I + 1)
84- if ((F != 1))
89+ let M = (L + 1)
90+ if ((I != 1))
8591 then throw("You Need to Mint a CODE License from DApp Address 3JeqfvcGZxJbuSpCB5cFhV2Bb8fdV4WzZzZ.")
86- else if ((F > 1))
92+ else if ((I > 1))
8793 then throw("You Own Multiple CODE License on Same Address.")
8894 else if ((g > height))
8995 then throw((("DApp is Not Started Yet please Wait until " + toString((g - height))) + " blocks"))
90- else if ((o.assetId != a))
96+ else if ((r.assetId != a))
9197 then throw((("Incorrect asset attached, please attach " + toBase58String(a)) + " asset only"))
92- else if ((h >= n))
93- then throw(((("Choose Locking days in between " + toString((h + 1))) + " to ") + toString(i)))
94- else if ((n > i))
95- then throw(((((("You Entered days to " + toString(n)) + ", Please Enter no. of days in between ") + toString((h + 1))) + " to ") + toString(i)))
96- else if ((100000 > o.amount))
98+ else if ((i >= q))
99+ then throw(((("Choose Locking days in between " + toString((i + 1))) + " to ") + toString(j)))
100+ else if ((q > j))
101+ then throw(((((("You Entered days to " + toString(q)) + ", Please Enter no. of days in between ") + toString((i + 1))) + " to ") + toString(j)))
102+ else if ((100000 > r.amount))
97103 then throw("Please Attach minimum 0.001 CODE Token To Issue More CODE Asset.")
98- else if ((o.amount > r))
99- then throw((("You can attach maximum " + toString(r)) + "/10^8 CODE."))
100- else if ((o.amount > q))
101- then throw((((("Your Stake Output is lower than input, please increase no. of days (" + toString(q)) + "/") + toString(o.amount)) + ")/10^8 CODE."))
102- else if ((E != 129600))
104+ else if ((r.amount > u))
105+ then throw((("You can attach maximum " + toString(u)) + "/10^8 CODE."))
106+ else if ((r.amount > t))
107+ then throw((((("Your Stake Output is lower than input, please increase no. of days (" + toString(t)) + "/") + toString(r.amount)) + ")/10^8 CODE."))
108+ else if ((H != 129600))
103109 then throw("You are Not Eligible to Mint CODE. It need minimum 90 Days Staking.")
104- else if ((I == 1))
110+ else if ((L == 1))
105111 then throw("You Already Have an Active Staking, Please Wait until Mature.")
106- else [Burn(a, o.amount), IntegerEntry("Total_Burned_CODE:", B), IntegerEntry("Total_Txns:", z), IntegerEntry("Inflation", l), IntegerEntry("Block_Passed", k), IntegerEntry("Burn_Factor", v), IntegerEntry(("No_Of_Deposits_" + p), J), IntegerEntry(("Deposit_height_Of_" + p), height), IntegerEntry(("Total_Lock_Blocks_Of_" + p), t), IntegerEntry(("Deposit_Amount_Of_" + p), H), IntegerEntry(("Rewards_Of_" + p), q), StringEntry("message", "<h1>CODE Staked Successfully!</h1><br>")]
112+ else if ((y > h))
113+ then [Burn(a, r.amount), IntegerEntry("Total_Burned_CODE:", E), IntegerEntry("Total_Txns:", C), IntegerEntry("Inflation", o), IntegerEntry("Block_Passed", n), IntegerEntry("Burn_Factor", y), IntegerEntry(("No_Of_Deposits_" + s), M), IntegerEntry(("Deposit_height_Of_" + s), height), IntegerEntry(("Total_Lock_Blocks_Of_" + s), w), IntegerEntry(("Deposit_Amount_Of_" + s), K), IntegerEntry(("Rewards_Of_" + s), t), StringEntry("message", "<h1>CODE Staked Successfully!</h1><br>")]
114+ else if ((h > y))
115+ then [IntegerEntry("Minimum_Days_Range", k), IntegerEntry("Maximum_Days_Range", l), StringEntry("message", (((("<h1>Days Range Expended from " + toString(j)) + " Days to ") + toString(l)) + " Days. Please Re-Stake Your Code."))]
116+ else nil
107117 }
108118
109119
110120
111-@Callable(m)
121+@Callable(p)
112122 func Withdraw () = {
113- let p = toBase58String(m.caller.bytes)
114- let K = 1200000000000
115- let L = 24000000
116- let M = 19
117- let N = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Deposit_Amount_Of_" + p)), "Your Address not Found on Staking DApp")
118- let O = 500
119- let P = ((L - (fraction(N, 1000000, K) * 19)) / 10000)
120- let Q = getIntegerValue(this, "Claim_Fee")
121- let o = value(m.payments[0])
122- let R = getIntegerValue(this, ("Deposit_Amount_Of_" + p))
123- let S = (((getIntegerValue(this, ("Rewards_Of_" + p)) - R) * P) / 10000)
124- let T = (((getIntegerValue(this, ("Rewards_Of_" + p)) - R) * O) / 10000)
125- let w = {
126- let x = getIntegerValue(this, "Total_Txns:")
127- if ($isInstanceOf(x, "Int"))
123+ let s = toBase58String(p.caller.bytes)
124+ let N = 1200000000000
125+ let O = 24000000
126+ let P = 19
127+ let Q = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Deposit_Amount_Of_" + s)), "Your Address not Found on Staking DApp")
128+ let R = 500
129+ let S = ((O - (fraction(Q, 1000000, N) * 19)) / 10000)
130+ let T = getIntegerValue(this, "Claim_Fee")
131+ let r = value(p.payments[0])
132+ let U = getIntegerValue(this, ("Deposit_Amount_Of_" + s))
133+ let V = (((getIntegerValue(this, ("Rewards_Of_" + s)) - U) * S) / 10000)
134+ let W = (((getIntegerValue(this, ("Rewards_Of_" + s)) - U) * R) / 10000)
135+ let z = {
136+ let A = getIntegerValue(this, "Total_Txns:")
137+ if ($isInstanceOf(A, "Int"))
128138 then {
129- let y = x
130- y
139+ let B = A
140+ B
131141 }
132142 else 0
133143 }
134- let z = (w + 1)
135- let U = {
136- let x = getIntegerValue(this, "Total_CODE_Claimed:")
137- if ($isInstanceOf(x, "Int"))
144+ let C = (z + 1)
145+ let X = {
146+ let A = getIntegerValue(this, "Total_CODE_Claimed:")
147+ if ($isInstanceOf(A, "Int"))
138148 then {
139- let y = x
140- y
149+ let B = A
150+ B
141151 }
142152 else 0
143153 }
144- let V = (U + getIntegerValue(this, ("Rewards_Of_" + p)))
145- let W = {
146- let x = getIntegerValue(this, "Total_Issued_CODE:")
147- if ($isInstanceOf(x, "Int"))
154+ let Y = (X + getIntegerValue(this, ("Rewards_Of_" + s)))
155+ let Z = {
156+ let A = getIntegerValue(this, "Total_Issued_CODE:")
157+ if ($isInstanceOf(A, "Int"))
148158 then {
149- let y = x
150- y
159+ let B = A
160+ B
151161 }
152162 else 0
153163 }
154- let X = (W + getIntegerValue(this, ("Rewards_Of_" + p)))
155- let Y = {
156- let x = getIntegerValue(this, "Total_Claim_Fee_In_TN")
157- if ($isInstanceOf(x, "Int"))
164+ let aa = (Z + getIntegerValue(this, ("Rewards_Of_" + s)))
165+ let ab = {
166+ let A = getIntegerValue(this, "Total_Claim_Fee_In_TN")
167+ if ($isInstanceOf(A, "Int"))
158168 then {
159- let y = x
160- y
169+ let B = A
170+ B
161171 }
162172 else 0
163173 }
164- let Z = (Y + Q)
165- let C = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Deposit_height_Of_" + p)), "Your Address not Found on Staking DApp")
166- let D = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Total_Lock_Blocks_Of_" + p)), "Your Address not Found on Staking DApp")
167- let E = (D - C)
168- if (isDefined(o.assetId))
169- then throw((("Wrong Asset Attached for Payment, please Attach " + toString(Q)) + "/10^8 TN."))
170- else if ((o.amount != Q))
171- then throw((("Please Attach Exact " + toString(Q)) + "/10^8 TN."))
172- else if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + p)) > height))
173- then throw((((("Your " + toString(getIntegerValue(this, ("Rewards_Of_" + p)))) + "/10^8 CODE are Still Maturing. Token will be Unlocked after ") + toString((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + p)) - height))) + " blocks."))
174- else if ((R == 0))
174+ let ac = (ab + T)
175+ let F = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Deposit_height_Of_" + s)), "Your Address not Found on Staking DApp")
176+ let G = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Total_Lock_Blocks_Of_" + s)), "Your Address not Found on Staking DApp")
177+ let H = (G - F)
178+ if (isDefined(r.assetId))
179+ then throw((("Wrong Asset Attached for Payment, please Attach " + toString(T)) + "/10^8 TN."))
180+ else if ((r.amount != T))
181+ then throw((("Please Attach Exact " + toString(T)) + "/10^8 TN."))
182+ else if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + s)) > height))
183+ then throw((((("Your " + toString(getIntegerValue(this, ("Rewards_Of_" + s)))) + "/10^8 CODE are Still Maturing. Token will be Unlocked after ") + toString((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + s)) - height))) + " blocks."))
184+ else if ((U == 0))
175185 then throw("You Have Already Withdraw your CODE Amount.")
176- else if ((E != 129600))
186+ else if ((H != 129600))
177187 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.")
178- else if ((N >= 1199999999999))
179- then [IntegerEntry("Total_Txns:", z), IntegerEntry("Total_CODE_Claimed:", V), IntegerEntry("Total_Issued_CODE:", X), IntegerEntry("Total_Claim_Fee_In_TN", Z), IntegerEntry("Fee_%_Charge", O), IntegerEntry("Fee_Amount", T), Reissue(a, getIntegerValue(this, ("Rewards_Of_" + p)), true), ScriptTransfer(m.caller, (getIntegerValue(this, ("Rewards_Of_" + p)) - T), a), ScriptTransfer(addressFromPublicKey(d), fraction(T, 80, 100), a), ScriptTransfer(addressFromPublicKey(e), fraction(T, f, 100), a), IntegerEntry(("No_Of_Deposits_" + p), 0), IntegerEntry(("Deposit_height_Of_" + p), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + p), 0), IntegerEntry(("Deposit_Amount_Of_" + p), 0), IntegerEntry(("Rewards_Of_" + p), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
180- else [IntegerEntry("Total_Txns:", z), IntegerEntry("Total_CODE_Claimed:", V), IntegerEntry("Total_Issued_CODE:", X), IntegerEntry("Total_Claim_Fee_In_TN", Z), IntegerEntry("Fee_%_Charge", P), IntegerEntry("Fee_Amount", S), Reissue(a, getIntegerValue(this, ("Rewards_Of_" + p)), true), ScriptTransfer(m.caller, (getIntegerValue(this, ("Rewards_Of_" + p)) - S), a), ScriptTransfer(addressFromPublicKey(d), fraction(S, 80, 100), a), ScriptTransfer(addressFromPublicKey(e), fraction(S, f, 100), a), IntegerEntry(("No_Of_Deposits_" + p), 0), IntegerEntry(("Deposit_height_Of_" + p), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + p), 0), IntegerEntry(("Deposit_Amount_Of_" + p), 0), IntegerEntry(("Rewards_Of_" + p), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
188+ else if ((Q >= 1199999999999))
189+ then [IntegerEntry("Total_Txns:", C), IntegerEntry("Total_CODE_Claimed:", Y), IntegerEntry("Total_Issued_CODE:", aa), IntegerEntry("Total_Claim_Fee_In_TN", ac), IntegerEntry("Fee_%_Charge", R), IntegerEntry("Fee_Amount", W), Reissue(a, getIntegerValue(this, ("Rewards_Of_" + s)), true), ScriptTransfer(p.caller, (getIntegerValue(this, ("Rewards_Of_" + s)) - W), a), ScriptTransfer(addressFromPublicKey(d), fraction(W, 80, 100), a), ScriptTransfer(addressFromPublicKey(e), fraction(W, f, 100), a), IntegerEntry(("No_Of_Deposits_" + s), 0), IntegerEntry(("Deposit_height_Of_" + s), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + s), 0), IntegerEntry(("Deposit_Amount_Of_" + s), 0), IntegerEntry(("Rewards_Of_" + s), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
190+ else [IntegerEntry("Total_Txns:", C), IntegerEntry("Total_CODE_Claimed:", Y), IntegerEntry("Total_Issued_CODE:", aa), IntegerEntry("Total_Claim_Fee_In_TN", ac), IntegerEntry("Fee_%_Charge", S), IntegerEntry("Fee_Amount", V), Reissue(a, getIntegerValue(this, ("Rewards_Of_" + s)), true), ScriptTransfer(p.caller, (getIntegerValue(this, ("Rewards_Of_" + s)) - V), a), ScriptTransfer(addressFromPublicKey(d), fraction(V, 80, 100), a), ScriptTransfer(addressFromPublicKey(e), fraction(V, f, 100), a), IntegerEntry(("No_Of_Deposits_" + s), 0), IntegerEntry(("Deposit_height_Of_" + s), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + s), 0), IntegerEntry(("Deposit_Amount_Of_" + s), 0), IntegerEntry(("Rewards_Of_" + s), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
181191 }
182192
183193
184194
185-@Callable(m)
186-func SetDaysRange (aa,ab) = {
187- let ac = toBase58String(m.caller.bytes)
188- let ad = getStringValue(this, "DApp_Admin_Rights")
189- let ae = 7
190- let af = 200
191- if ((ad != ac))
192- then throw((("I know You are not An Admin. Only " + ad) + " has rights to change Days Range."))
193- else if ((ae > aa))
195+@Callable(p)
196+func SetDaysRange (ad,ae) = {
197+ let af = toBase58String(p.caller.bytes)
198+ let ag = getStringValue(this, "DApp_Admin_Rights")
199+ let ah = 7
200+ let ai = 200
201+ if ((ag != af))
202+ then throw((("I know You are not An Admin. Only " + ag) + " has rights to change Days Range."))
203+ else if ((ah > ad))
194204 then throw("Minimum days range must be more than 6 and in between 7-200.")
195- else if ((ab > af))
205+ else if ((ae > ai))
196206 then throw("Maximum days range can't exceed the 200.")
197- else if ((aa > ab))
198- then throw((((("Minimum days range can't be exceed the value of Maximum days range. Choose the Range between [" + toString(ae)) + "-") + toString(af)) + "]"))
199- else [IntegerEntry("Minimum_Days_Range", aa), IntegerEntry("Maximum_Days_Range", ab)]
207+ else if ((ad > ae))
208+ then throw((((("Minimum days range can't be exceed the value of Maximum days range. Choose the Range between [" + toString(ah)) + "-") + toString(ai)) + "]"))
209+ else [IntegerEntry("Minimum_Days_Range", ad), IntegerEntry("Maximum_Days_Range", ae)]
200210 }
201211
202212
203213
204-@Callable(m)
205-func SetClaimFee (Q) = {
206- let ac = toBase58String(m.caller.bytes)
207- let ad = getStringValue(this, "DApp_Admin_Rights")
208- let ag = 100000000
209- let ah = 100000000000
210- if ((ad != ac))
211- then throw((("I know You are not An Admin. Only " + ad) + " has rights to change Claim Fee."))
212- else if ((ag > Q))
213- then throw((("Minimum Claim fee is " + toString(ag)) + " TN [int-format]."))
214- else if ((Q > ah))
215- then throw((("Maximum Claim fee can't be more than " + toString(ah)) + " TN. [int-format]"))
216- else [IntegerEntry("Claim_Fee", Q)]
214+@Callable(p)
215+func SetClaimFee (T) = {
216+ let af = toBase58String(p.caller.bytes)
217+ let ag = getStringValue(this, "DApp_Admin_Rights")
218+ let aj = 100000000
219+ let ak = 100000000000
220+ if ((ag != af))
221+ then throw((("I know You are not An Admin. Only " + ag) + " has rights to change Claim Fee."))
222+ else if ((aj > T))
223+ then throw((("Minimum Claim fee is " + toString(aj)) + " TN [int-format]."))
224+ else if ((T > ak))
225+ then throw((("Maximum Claim fee can't be more than " + toString(ak)) + " TN. [int-format]"))
226+ else [IntegerEntry("Claim_Fee", T)]
217227 }
218228
219229
220-@Verifier(ai)
221-func aj () = sigVerify(ai.bodyBytes, ai.proofs[0], ai.senderPublicKey)
230+@Verifier(al)
231+func am () = sigVerify(al.bodyBytes, al.proofs[0], al.senderPublicKey)
222232
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'EB4CUQH4fHzzQt9YjcHtA6T7uosHNH9RnQKHgBdZHPCB'
55
66 let b = base58'H3MZcnjakUsXycTbuR1BtZbyXj8C4RAPgdoeoTMGczjX'
77
88 let c = base58'J3cAptAPQxVqpEz6Rch57JeKpbns48s1a6HoeQG9aX4J'
99
1010 let d = base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR'
1111
1212 let e = base58'8d4zGuTjT3h67Z4DatzMXdXXW1GvoQhMTjwCGFxJuene'
1313
1414 let f = 20
1515
1616 let g = 1850000
1717
18-let h = getIntegerValue(this, "Minimum_Days_Range")
18+let h = 1000000
1919
20-let i = getIntegerValue(this, "Maximum_Days_Range")
20+let i = getIntegerValue(this, "Minimum_Days_Range")
2121
22-let j = 1440
22+let j = getIntegerValue(this, "Maximum_Days_Range")
2323
24-let k = (height - g)
24+let k = (i + 1)
2525
26-let l = (fraction(10000000000, 1, k) + 6000)
26+let l = (j + 1)
2727
28-@Callable(m)
29-func Deposit (n) = {
30- let o = if ((size(m.payments) == 1))
31- then m.payments[0]
28+let m = 1440
29+
30+let n = (height - g)
31+
32+let o = (fraction(10000000000, 1, n) + 6000)
33+
34+@Callable(p)
35+func Deposit (q) = {
36+ let r = if ((size(p.payments) == 1))
37+ then p.payments[0]
3238 else throw((("No Payments Attached Please Attach " + toBase58String(a)) + " Asset Only."))
33- let p = toBase58String(m.caller.bytes)
34- let q = ((((l * o.amount) * n) / 365) / 1000)
35- let r = (k * 100000)
36- let s = (j * n)
37- let t = (height + s)
38- let u = fraction(i, (r * l), (365 * 1000))
39- let v = fraction(u, 1000000, r)
40- let w = {
41- let x = getIntegerValue(this, "Total_Txns:")
42- if ($isInstanceOf(x, "Int"))
39+ let s = toBase58String(p.caller.bytes)
40+ let t = ((((o * r.amount) * q) / 365) / 1000)
41+ let u = (n * 100000)
42+ let v = (m * q)
43+ let w = (height + v)
44+ let x = fraction(j, (u * o), (365 * 1000))
45+ let y = fraction(x, 1000000, u)
46+ let z = {
47+ let A = getIntegerValue(this, "Total_Txns:")
48+ if ($isInstanceOf(A, "Int"))
4349 then {
44- let y = x
45- y
50+ let B = A
51+ B
4652 }
4753 else 0
4854 }
49- let z = (w + 1)
50- let A = {
51- let x = getInteger(this, "Total_Burned_CODE:")
52- if ($isInstanceOf(x, "Int"))
55+ let C = (z + 1)
56+ let D = {
57+ let A = getInteger(this, "Total_Burned_CODE:")
58+ if ($isInstanceOf(A, "Int"))
5359 then {
54- let y = x
55- y
60+ let B = A
61+ B
5662 }
5763 else 0
5864 }
59- let B = (A + o.amount)
60- let C = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Deposit_height_Of_" + p)), "Your Address not Found on Staking DApp")
61- let D = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Total_Lock_Blocks_Of_" + p)), "Your Address not Found on Staking DApp")
62- let E = (D - C)
63- let F = assetBalance(Address(m.caller.bytes), b)
64- let G = {
65- let x = getInteger(this, ("Deposit_Amount_Of_" + p))
66- if ($isInstanceOf(x, "Int"))
65+ let E = (D + r.amount)
66+ let F = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Deposit_height_Of_" + s)), "Your Address not Found on Staking DApp")
67+ let G = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Total_Lock_Blocks_Of_" + s)), "Your Address not Found on Staking DApp")
68+ let H = (G - F)
69+ let I = assetBalance(Address(p.caller.bytes), b)
70+ let J = {
71+ let A = getInteger(this, ("Deposit_Amount_Of_" + s))
72+ if ($isInstanceOf(A, "Int"))
6773 then {
68- let y = x
69- y
74+ let B = A
75+ B
7076 }
7177 else 0
7278 }
73- let H = (G + o.amount)
74- let I = {
75- let x = getInteger(this, ("No_Of_Deposits_" + p))
76- if ($isInstanceOf(x, "Int"))
79+ let K = (J + r.amount)
80+ let L = {
81+ let A = getInteger(this, ("No_Of_Deposits_" + s))
82+ if ($isInstanceOf(A, "Int"))
7783 then {
78- let y = x
79- y
84+ let B = A
85+ B
8086 }
8187 else 0
8288 }
83- let J = (I + 1)
84- if ((F != 1))
89+ let M = (L + 1)
90+ if ((I != 1))
8591 then throw("You Need to Mint a CODE License from DApp Address 3JeqfvcGZxJbuSpCB5cFhV2Bb8fdV4WzZzZ.")
86- else if ((F > 1))
92+ else if ((I > 1))
8793 then throw("You Own Multiple CODE License on Same Address.")
8894 else if ((g > height))
8995 then throw((("DApp is Not Started Yet please Wait until " + toString((g - height))) + " blocks"))
90- else if ((o.assetId != a))
96+ else if ((r.assetId != a))
9197 then throw((("Incorrect asset attached, please attach " + toBase58String(a)) + " asset only"))
92- else if ((h >= n))
93- then throw(((("Choose Locking days in between " + toString((h + 1))) + " to ") + toString(i)))
94- else if ((n > i))
95- then throw(((((("You Entered days to " + toString(n)) + ", Please Enter no. of days in between ") + toString((h + 1))) + " to ") + toString(i)))
96- else if ((100000 > o.amount))
98+ else if ((i >= q))
99+ then throw(((("Choose Locking days in between " + toString((i + 1))) + " to ") + toString(j)))
100+ else if ((q > j))
101+ then throw(((((("You Entered days to " + toString(q)) + ", Please Enter no. of days in between ") + toString((i + 1))) + " to ") + toString(j)))
102+ else if ((100000 > r.amount))
97103 then throw("Please Attach minimum 0.001 CODE Token To Issue More CODE Asset.")
98- else if ((o.amount > r))
99- then throw((("You can attach maximum " + toString(r)) + "/10^8 CODE."))
100- else if ((o.amount > q))
101- then throw((((("Your Stake Output is lower than input, please increase no. of days (" + toString(q)) + "/") + toString(o.amount)) + ")/10^8 CODE."))
102- else if ((E != 129600))
104+ else if ((r.amount > u))
105+ then throw((("You can attach maximum " + toString(u)) + "/10^8 CODE."))
106+ else if ((r.amount > t))
107+ then throw((((("Your Stake Output is lower than input, please increase no. of days (" + toString(t)) + "/") + toString(r.amount)) + ")/10^8 CODE."))
108+ else if ((H != 129600))
103109 then throw("You are Not Eligible to Mint CODE. It need minimum 90 Days Staking.")
104- else if ((I == 1))
110+ else if ((L == 1))
105111 then throw("You Already Have an Active Staking, Please Wait until Mature.")
106- else [Burn(a, o.amount), IntegerEntry("Total_Burned_CODE:", B), IntegerEntry("Total_Txns:", z), IntegerEntry("Inflation", l), IntegerEntry("Block_Passed", k), IntegerEntry("Burn_Factor", v), IntegerEntry(("No_Of_Deposits_" + p), J), IntegerEntry(("Deposit_height_Of_" + p), height), IntegerEntry(("Total_Lock_Blocks_Of_" + p), t), IntegerEntry(("Deposit_Amount_Of_" + p), H), IntegerEntry(("Rewards_Of_" + p), q), StringEntry("message", "<h1>CODE Staked Successfully!</h1><br>")]
112+ else if ((y > h))
113+ then [Burn(a, r.amount), IntegerEntry("Total_Burned_CODE:", E), IntegerEntry("Total_Txns:", C), IntegerEntry("Inflation", o), IntegerEntry("Block_Passed", n), IntegerEntry("Burn_Factor", y), IntegerEntry(("No_Of_Deposits_" + s), M), IntegerEntry(("Deposit_height_Of_" + s), height), IntegerEntry(("Total_Lock_Blocks_Of_" + s), w), IntegerEntry(("Deposit_Amount_Of_" + s), K), IntegerEntry(("Rewards_Of_" + s), t), StringEntry("message", "<h1>CODE Staked Successfully!</h1><br>")]
114+ else if ((h > y))
115+ then [IntegerEntry("Minimum_Days_Range", k), IntegerEntry("Maximum_Days_Range", l), StringEntry("message", (((("<h1>Days Range Expended from " + toString(j)) + " Days to ") + toString(l)) + " Days. Please Re-Stake Your Code."))]
116+ else nil
107117 }
108118
109119
110120
111-@Callable(m)
121+@Callable(p)
112122 func Withdraw () = {
113- let p = toBase58String(m.caller.bytes)
114- let K = 1200000000000
115- let L = 24000000
116- let M = 19
117- let N = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Deposit_Amount_Of_" + p)), "Your Address not Found on Staking DApp")
118- let O = 500
119- let P = ((L - (fraction(N, 1000000, K) * 19)) / 10000)
120- let Q = getIntegerValue(this, "Claim_Fee")
121- let o = value(m.payments[0])
122- let R = getIntegerValue(this, ("Deposit_Amount_Of_" + p))
123- let S = (((getIntegerValue(this, ("Rewards_Of_" + p)) - R) * P) / 10000)
124- let T = (((getIntegerValue(this, ("Rewards_Of_" + p)) - R) * O) / 10000)
125- let w = {
126- let x = getIntegerValue(this, "Total_Txns:")
127- if ($isInstanceOf(x, "Int"))
123+ let s = toBase58String(p.caller.bytes)
124+ let N = 1200000000000
125+ let O = 24000000
126+ let P = 19
127+ let Q = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Deposit_Amount_Of_" + s)), "Your Address not Found on Staking DApp")
128+ let R = 500
129+ let S = ((O - (fraction(Q, 1000000, N) * 19)) / 10000)
130+ let T = getIntegerValue(this, "Claim_Fee")
131+ let r = value(p.payments[0])
132+ let U = getIntegerValue(this, ("Deposit_Amount_Of_" + s))
133+ let V = (((getIntegerValue(this, ("Rewards_Of_" + s)) - U) * S) / 10000)
134+ let W = (((getIntegerValue(this, ("Rewards_Of_" + s)) - U) * R) / 10000)
135+ let z = {
136+ let A = getIntegerValue(this, "Total_Txns:")
137+ if ($isInstanceOf(A, "Int"))
128138 then {
129- let y = x
130- y
139+ let B = A
140+ B
131141 }
132142 else 0
133143 }
134- let z = (w + 1)
135- let U = {
136- let x = getIntegerValue(this, "Total_CODE_Claimed:")
137- if ($isInstanceOf(x, "Int"))
144+ let C = (z + 1)
145+ let X = {
146+ let A = getIntegerValue(this, "Total_CODE_Claimed:")
147+ if ($isInstanceOf(A, "Int"))
138148 then {
139- let y = x
140- y
149+ let B = A
150+ B
141151 }
142152 else 0
143153 }
144- let V = (U + getIntegerValue(this, ("Rewards_Of_" + p)))
145- let W = {
146- let x = getIntegerValue(this, "Total_Issued_CODE:")
147- if ($isInstanceOf(x, "Int"))
154+ let Y = (X + getIntegerValue(this, ("Rewards_Of_" + s)))
155+ let Z = {
156+ let A = getIntegerValue(this, "Total_Issued_CODE:")
157+ if ($isInstanceOf(A, "Int"))
148158 then {
149- let y = x
150- y
159+ let B = A
160+ B
151161 }
152162 else 0
153163 }
154- let X = (W + getIntegerValue(this, ("Rewards_Of_" + p)))
155- let Y = {
156- let x = getIntegerValue(this, "Total_Claim_Fee_In_TN")
157- if ($isInstanceOf(x, "Int"))
164+ let aa = (Z + getIntegerValue(this, ("Rewards_Of_" + s)))
165+ let ab = {
166+ let A = getIntegerValue(this, "Total_Claim_Fee_In_TN")
167+ if ($isInstanceOf(A, "Int"))
158168 then {
159- let y = x
160- y
169+ let B = A
170+ B
161171 }
162172 else 0
163173 }
164- let Z = (Y + Q)
165- let C = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Deposit_height_Of_" + p)), "Your Address not Found on Staking DApp")
166- let D = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Total_Lock_Blocks_Of_" + p)), "Your Address not Found on Staking DApp")
167- let E = (D - C)
168- if (isDefined(o.assetId))
169- then throw((("Wrong Asset Attached for Payment, please Attach " + toString(Q)) + "/10^8 TN."))
170- else if ((o.amount != Q))
171- then throw((("Please Attach Exact " + toString(Q)) + "/10^8 TN."))
172- else if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + p)) > height))
173- then throw((((("Your " + toString(getIntegerValue(this, ("Rewards_Of_" + p)))) + "/10^8 CODE are Still Maturing. Token will be Unlocked after ") + toString((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + p)) - height))) + " blocks."))
174- else if ((R == 0))
174+ let ac = (ab + T)
175+ let F = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Deposit_height_Of_" + s)), "Your Address not Found on Staking DApp")
176+ let G = valueOrErrorMessage(getInteger(addressFromPublicKey(c), ("Total_Lock_Blocks_Of_" + s)), "Your Address not Found on Staking DApp")
177+ let H = (G - F)
178+ if (isDefined(r.assetId))
179+ then throw((("Wrong Asset Attached for Payment, please Attach " + toString(T)) + "/10^8 TN."))
180+ else if ((r.amount != T))
181+ then throw((("Please Attach Exact " + toString(T)) + "/10^8 TN."))
182+ else if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + s)) > height))
183+ then throw((((("Your " + toString(getIntegerValue(this, ("Rewards_Of_" + s)))) + "/10^8 CODE are Still Maturing. Token will be Unlocked after ") + toString((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + s)) - height))) + " blocks."))
184+ else if ((U == 0))
175185 then throw("You Have Already Withdraw your CODE Amount.")
176- else if ((E != 129600))
186+ else if ((H != 129600))
177187 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.")
178- else if ((N >= 1199999999999))
179- then [IntegerEntry("Total_Txns:", z), IntegerEntry("Total_CODE_Claimed:", V), IntegerEntry("Total_Issued_CODE:", X), IntegerEntry("Total_Claim_Fee_In_TN", Z), IntegerEntry("Fee_%_Charge", O), IntegerEntry("Fee_Amount", T), Reissue(a, getIntegerValue(this, ("Rewards_Of_" + p)), true), ScriptTransfer(m.caller, (getIntegerValue(this, ("Rewards_Of_" + p)) - T), a), ScriptTransfer(addressFromPublicKey(d), fraction(T, 80, 100), a), ScriptTransfer(addressFromPublicKey(e), fraction(T, f, 100), a), IntegerEntry(("No_Of_Deposits_" + p), 0), IntegerEntry(("Deposit_height_Of_" + p), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + p), 0), IntegerEntry(("Deposit_Amount_Of_" + p), 0), IntegerEntry(("Rewards_Of_" + p), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
180- else [IntegerEntry("Total_Txns:", z), IntegerEntry("Total_CODE_Claimed:", V), IntegerEntry("Total_Issued_CODE:", X), IntegerEntry("Total_Claim_Fee_In_TN", Z), IntegerEntry("Fee_%_Charge", P), IntegerEntry("Fee_Amount", S), Reissue(a, getIntegerValue(this, ("Rewards_Of_" + p)), true), ScriptTransfer(m.caller, (getIntegerValue(this, ("Rewards_Of_" + p)) - S), a), ScriptTransfer(addressFromPublicKey(d), fraction(S, 80, 100), a), ScriptTransfer(addressFromPublicKey(e), fraction(S, f, 100), a), IntegerEntry(("No_Of_Deposits_" + p), 0), IntegerEntry(("Deposit_height_Of_" + p), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + p), 0), IntegerEntry(("Deposit_Amount_Of_" + p), 0), IntegerEntry(("Rewards_Of_" + p), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
188+ else if ((Q >= 1199999999999))
189+ then [IntegerEntry("Total_Txns:", C), IntegerEntry("Total_CODE_Claimed:", Y), IntegerEntry("Total_Issued_CODE:", aa), IntegerEntry("Total_Claim_Fee_In_TN", ac), IntegerEntry("Fee_%_Charge", R), IntegerEntry("Fee_Amount", W), Reissue(a, getIntegerValue(this, ("Rewards_Of_" + s)), true), ScriptTransfer(p.caller, (getIntegerValue(this, ("Rewards_Of_" + s)) - W), a), ScriptTransfer(addressFromPublicKey(d), fraction(W, 80, 100), a), ScriptTransfer(addressFromPublicKey(e), fraction(W, f, 100), a), IntegerEntry(("No_Of_Deposits_" + s), 0), IntegerEntry(("Deposit_height_Of_" + s), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + s), 0), IntegerEntry(("Deposit_Amount_Of_" + s), 0), IntegerEntry(("Rewards_Of_" + s), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
190+ else [IntegerEntry("Total_Txns:", C), IntegerEntry("Total_CODE_Claimed:", Y), IntegerEntry("Total_Issued_CODE:", aa), IntegerEntry("Total_Claim_Fee_In_TN", ac), IntegerEntry("Fee_%_Charge", S), IntegerEntry("Fee_Amount", V), Reissue(a, getIntegerValue(this, ("Rewards_Of_" + s)), true), ScriptTransfer(p.caller, (getIntegerValue(this, ("Rewards_Of_" + s)) - V), a), ScriptTransfer(addressFromPublicKey(d), fraction(V, 80, 100), a), ScriptTransfer(addressFromPublicKey(e), fraction(V, f, 100), a), IntegerEntry(("No_Of_Deposits_" + s), 0), IntegerEntry(("Deposit_height_Of_" + s), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + s), 0), IntegerEntry(("Deposit_Amount_Of_" + s), 0), IntegerEntry(("Rewards_Of_" + s), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
181191 }
182192
183193
184194
185-@Callable(m)
186-func SetDaysRange (aa,ab) = {
187- let ac = toBase58String(m.caller.bytes)
188- let ad = getStringValue(this, "DApp_Admin_Rights")
189- let ae = 7
190- let af = 200
191- if ((ad != ac))
192- then throw((("I know You are not An Admin. Only " + ad) + " has rights to change Days Range."))
193- else if ((ae > aa))
195+@Callable(p)
196+func SetDaysRange (ad,ae) = {
197+ let af = toBase58String(p.caller.bytes)
198+ let ag = getStringValue(this, "DApp_Admin_Rights")
199+ let ah = 7
200+ let ai = 200
201+ if ((ag != af))
202+ then throw((("I know You are not An Admin. Only " + ag) + " has rights to change Days Range."))
203+ else if ((ah > ad))
194204 then throw("Minimum days range must be more than 6 and in between 7-200.")
195- else if ((ab > af))
205+ else if ((ae > ai))
196206 then throw("Maximum days range can't exceed the 200.")
197- else if ((aa > ab))
198- then throw((((("Minimum days range can't be exceed the value of Maximum days range. Choose the Range between [" + toString(ae)) + "-") + toString(af)) + "]"))
199- else [IntegerEntry("Minimum_Days_Range", aa), IntegerEntry("Maximum_Days_Range", ab)]
207+ else if ((ad > ae))
208+ then throw((((("Minimum days range can't be exceed the value of Maximum days range. Choose the Range between [" + toString(ah)) + "-") + toString(ai)) + "]"))
209+ else [IntegerEntry("Minimum_Days_Range", ad), IntegerEntry("Maximum_Days_Range", ae)]
200210 }
201211
202212
203213
204-@Callable(m)
205-func SetClaimFee (Q) = {
206- let ac = toBase58String(m.caller.bytes)
207- let ad = getStringValue(this, "DApp_Admin_Rights")
208- let ag = 100000000
209- let ah = 100000000000
210- if ((ad != ac))
211- then throw((("I know You are not An Admin. Only " + ad) + " has rights to change Claim Fee."))
212- else if ((ag > Q))
213- then throw((("Minimum Claim fee is " + toString(ag)) + " TN [int-format]."))
214- else if ((Q > ah))
215- then throw((("Maximum Claim fee can't be more than " + toString(ah)) + " TN. [int-format]"))
216- else [IntegerEntry("Claim_Fee", Q)]
214+@Callable(p)
215+func SetClaimFee (T) = {
216+ let af = toBase58String(p.caller.bytes)
217+ let ag = getStringValue(this, "DApp_Admin_Rights")
218+ let aj = 100000000
219+ let ak = 100000000000
220+ if ((ag != af))
221+ then throw((("I know You are not An Admin. Only " + ag) + " has rights to change Claim Fee."))
222+ else if ((aj > T))
223+ then throw((("Minimum Claim fee is " + toString(aj)) + " TN [int-format]."))
224+ else if ((T > ak))
225+ then throw((("Maximum Claim fee can't be more than " + toString(ak)) + " TN. [int-format]"))
226+ else [IntegerEntry("Claim_Fee", T)]
217227 }
218228
219229
220-@Verifier(ai)
221-func aj () = sigVerify(ai.bodyBytes, ai.proofs[0], ai.senderPublicKey)
230+@Verifier(al)
231+func am () = sigVerify(al.bodyBytes, al.proofs[0], al.senderPublicKey)
222232

github/deemru/w8io/169f3d6 
119.85 ms