tx · 4ZRPCAaHnp7PjXCWhJhcuxycowdhei439kvyK1bbqweR

3N7CrGtgTb8SxosNYbfN8HwyZEDrqExkdgA:  -0.02000000 Waves

2023.07.21 16:49 [2675699] smart account 3N7CrGtgTb8SxosNYbfN8HwyZEDrqExkdgA > SELF 0.00000000 Waves

{ "type": 13, "id": "4ZRPCAaHnp7PjXCWhJhcuxycowdhei439kvyK1bbqweR", "fee": 2000000, "feeAssetId": null, "timestamp": 1689947388384, "version": 2, "chainId": 84, "sender": "3N7CrGtgTb8SxosNYbfN8HwyZEDrqExkdgA", "senderPublicKey": "FyySBU6ydmEQirHxRVQwxjexQwZ4ikgE4LPJ8sxX2Naw", "proofs": [ "5RGjqxBbUemj6eQxB8XuyVMxrC75d2TF2YcK6wFt59UiWvrPGBt4N4ceQjQ5XRAdzyB6ZmPyhpDboHpRnoDZiuHj" ], "script": "base64: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bWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAA9Ub3RhbEJ1cm5lZENPREUJAABkAAAAAgUAAAASUHJldmlvdXNCdXJuZWRDT0RFCAUAAAADcG10AAAABmFtb3VudAQAAAAUZmV0Y2h1c2Vyc3Rha2VoZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAtTdGFraW5nRGFwcAkAASwAAAACAgAAABJEZXBvc2l0X2hlaWdodF9PZl8FAAAACmN1cnJlbnRLZXkCAAAAJllvdXIgQWRkcmVzcyBub3QgRm91bmQgb24gU3Rha2luZyBEQXBwBAAAABVmZXRjaHVzZXJtYXR1cmVoZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAtTdGFraW5nRGFwcAkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkCAAAAJllvdXIgQWRkcmVzcyBub3QgRm91bmQgb24gU3Rha2luZyBEQXBwBAAAAAtnYXBvZmhlaWdodAkAAGUAAAACBQAAABVmZXRjaHVzZXJtYXR1cmVoZWlnaHQFAAAAFGZldGNodXNlcnN0YWtlaGVpZ2h0BAAAABNjaGVja0xpY2Vuc2VCYWxhbmNlCQAD8AAAAAIJAQAAAAdBZGRyZXNzAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwUAAAASQ09ERUxJQ0VOU0VBc3NldElEBAAAABFjdXJyZW50Q09ERUFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAEkRlcG9zaXRfQW1vdW50X09mXwUAAAAKY3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAA1uZXdDT0RFQW1vdW50CQAAZAAAAAIFAAAAEWN1cnJlbnRDT0RFQW1vdW50CAUAAAADcG10AAAABmFtb3VudAQAAAAQVXNlck5v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AAAAAgkBAAAABEJ1cm4AAAACBQAAAAtDT0RFQXNzZXRJRAgFAAAAA3BtdAAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAElRvdGFsX0J1cm5lZF9DT0RFOgUAAAAPVG90YWxCdXJuZWRDT0RFCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAtUb3RhbF9UeG5zOgUAAAANVG90YWxUeG5zQ09ERQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAJSW5mbGF0aW9uBQAAAAtJbmZsYXRpb25ObwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAMQmxvY2tfUGFzc2VkBQAAAAlibG9ja2RpZmYJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAC0J1cm5fRmFjdG9yBQAAAAtCdXJuX2ZhY3RvcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAA9Ob19PZl9EZXBvc2l0c18FAAAACmN1cnJlbnRLZXkFAAAAGFN1bXB1cG9mVXNlck5vT2ZEZXBvc2l0cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJEZXBvc2l0X2hlaWdodF9PZl8FAAAACmN1cnJlbnRLZXkFAAAABmhlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkFAAAAD3RvdGFsbG9ja2Jsb2NrcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJEZXBvc2l0X0Ftb3VudF9PZl8FAAAACmN1cnJlbnRLZXkFAAAADW5ld0NPREVBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkFAAAAD1VzZXJDbGFpbUFtb3VudAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlAgAAACY8aDE+Q09ERSBT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BHRoaXMJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkEAAAAFFByZXZpb3VzQ2xhaW1GZWVJblROBAAAAAckbWF0Y2gwCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABVUb3RhbF9DbGFpbV9GZWVfSW5fVE4DCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAARVG90YWxDbGFpbUZlZUluVE4JAABkAAAAAgUAAAAUUHJldmlvdXNDbGFpbUZlZUluVE4FAAAACENsYWltRmVlBAAAABRmZXRjaHVzZXJzdGFrZWhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAC1N0YWtpbmdEYXBwCQABLAAAAAICAAAAEkRlcG9zaXRfaGVpZ2h0X09mXwUAAAAKY3VycmVudEtleQIAAAAmWW91ciBBZGRyZXNzIG5vdCBGb3VuZCBvbiBTdGFraW5nIERBcHAEAAAAFWZldGNodXNlcm1hdHVyZWhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAC1N0YWtpbmdEYXBwCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQIAAAAmWW91ciBBZGRyZXNzIG5vdCBGb3VuZCBvbiBTdGFraW5nIERBcHAEAAAAC2dhcG9maGVpZ2h0CQAAZQAAAAIFAAAAFWZldGNodXNlcm1hdHVyZWhlaWdodAUAAAAUZmV0Y2h1c2Vyc3Rha2VoZWlnaHQDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAADBXcm9uZyBBc3NldCBBdHRhY2hlZCBmb3IgUGF5bWVudCwgcGxlYXNlIEF0dGFjaCAJAAGkAAAAAQUAAAAIQ2xhaW1GZWUCAAAACS8xMF44IFROLgMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAGYW1vdW50BQAAAAhDbGFpbUZlZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAUUGxlYXNlIEF0dGFjaCBFeGFjdCAJAAGkAAAAAQUAAAAIQ2xhaW1GZWUCAAAACS8xMF44IFROLgMJAABmAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkFAAAABmhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABVlvdXIgCQABpAAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkCAAAAPC8xMF44IENPREUgYXJlIFN0aWxsIE1hdHVyaW5nLiBUb2tlbiB3aWxsIGJlIFVubG9ja2VkIGFmdGVyIAkAAaQAAAABCQAAZQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAZoZWlnaHQCAAAACCBibG9ja3MuAwkAAAAAAAACBQAAABFjaGVja2RlcG9zaXR2YWx1ZQAAAAAAAAAAAAkAAAIAAAABAgAAACtZb3UgSGF2ZSBBbHJlYWR5IFdpdGhkcmF3IHlvdXIgQ09ERSBBbW91bnQuAwkBAAAAAiE9AAAAAgUAAAALZ2Fwb2ZoZWlnaHQAAAAAAAAB+kAJAAACAAAAAQIAAAC8WW91IGFyZSBOb3QgRWxpZ2libGUgdG8gV2l0aGRyYXcgQ09ERS4gSXQgbmVlZCBtaW5pbXVtIDkwIERheXMgU3Rha2luZyBhdCBBNEEgREFwcC4gUHJvYmFibHkgeW91IGFscmVhZHkgaGF2ZSBDbGFpbWVkIFlvdXIgU3Rha2Ugb3IgeW91IE92ZXJ3cml0ZSB0aGUgU21hcnQgQ29udHJhY3Qgd2l0aCBsZXNzIHRoYW4gOTAgZGF5cy4DCQAAZwAAAAIFAAAAEWZldGNoVXNlclN0YWtlQW10AAAAARdlkt//CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAtUb3RhbF9UeG5zOgUAAAANVG90YWxUeG5zQ09ERQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAATVG90YWxfQ09ERV9DbGFpbWVkOgUAAAASdG90YWxyZXdhcmRjbGFpbWVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJUb3RhbF9Jc3N1ZWRfQ09ERToFAAAAD1RvdGFsSXNzdWVkQ09ERQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAVVG90YWxfQ2xhaW1fRmVlX0luX1ROBQAAABFUb3RhbENsYWltRmVlSW5UTgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAMRmVlXyVfQ2hhcmdlBQAAAA5GbGF0ZmVlUGVyY2VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAKRmVlX0Ftb3VudAUAAAAOdXNlckZsYXRGZWVBbXQJAARMAAAAAgkBAAAAB1JlaXNzdWUAAAADBQAAAAtDT0RFQXNzZXRJRAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQYJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAZQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkFAAAADnVzZXJGbGF0RmVlQW10BQAAAAtDT0RFQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAABJUcmVhc3VyeUZlZUFkZHJlc3MJAABrAAAAAwUAAAAOdXNlckZsYXRGZWVBbXQAAAAAAAAAAFAAAAAAAAAAAGQFAAAAC0NPREVBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAACmRldmFkZHJlc3MJAABrAAAAAwUAAAAOdXNlckZsYXRGZWVBbXQFAAAADGRldmZlZWNoYXJlZAAAAAAAAAAAZAUAAAALQ09ERUFzc2V0SUQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAPTm9fT2ZfRGVwb3NpdHNfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEkRlcG9zaXRfaGVpZ2h0X09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9BbW91bnRfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAAKDxoMT5DT0RFIFVuU3Rha2VkIFN1Y2Nlc3NmdWxseSE8L2gxPjxicj4FAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAALVG90YWxfVHhuczoFAAAADVRvdGFsVHhuc0NPREUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAE1RvdGFsX0NPREVfQ2xhaW1lZDoFAAAAEnRvdGFscmV3YXJkY2xhaW1lZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASVG90YWxfSXNzdWVkX0NPREU6BQAAAA9Ub3RhbElzc3VlZENPREUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAFVRvdGFsX0NsYWlt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AAAMTWF4aW11bV9kYXlzCQAAAgAAAAECAAAAKE1heGltdW0gZGF5cyByYW5nZSBjYW4ndCBleGNlZWQgdGhlIDIwMC4DCQAAZgAAAAIFAAAAEk1pbmltdW1fRGF5c19SYW5nZQUAAAASTWF4aW11bV9EYXlzX1JhbmdlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAABeTWluaW11bSBkYXlzIHJhbmdlIGNhbid0IGJlIGV4Y2VlZCB0aGUgdmFsdWUgb2YgTWF4aW11bSBkYXlzIHJhbmdlLiBDaG9vc2UgdGhlIFJhbmdlIGJldHdlZW4gWwkAAaQAAAABBQAAAAxNaW5pbXVtX2RheXMCAAAAAS0JAAGkAAAAAQUAAAAMTWF4aW11bV9kYXlzAgAAAAFdCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJNaW5pbXVtX0RheXNfUmFuZ2UFAAAAEk1pbmltdW1fRGF5c19SYW5nZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASTWF4aW11bV9EYXlzX1JhbmdlBQAAABJNYXhpbXVtX0RheXNfUmFuZ2UFAAAAA25pbAAAAAFpAQAAAAtTZXRDbGFpbUZlZQAAAAEAAAAIQ2xhaW1GZWUEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAALYWRtaW5yaWdodHMJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMCAAAAEURBcHBfQWRtaW5fUmlnaHRzBAAAABFNaW5pbXVtX0NsYWltX2ZlZQAAAAAABfXhAAQAAAARTWF4aW11bV9DbGFpbV9mZWUAAAAAF0h26AADCQEAAAACIT0AAAACBQAAAAthZG1pbnJpZ2h0cwUAAAANY2FsbGVyYWRkcmVzcwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAiSSBrbm93IFlvdSBhcmUgbm90IEFuIEFkbWluLiBPbmx5IAUAAAALYWRtaW5yaWdodHMCAAAAICBoYXMgcmlnaHRzIHRvIGNoYW5nZSBDbGFpbSBGZWUuAwkAAGYAAAACBQAAABFNaW5pbXVtX0NsYWltX2ZlZQUAAAAIQ2xhaW1GZWUJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAFU1pbmltdW0gQ2xhaW0gZmVlIGlzIAkAAaQAAAABBQAAABFNaW5pbXVtX0NsYWltX2ZlZQIAAAARIFROIFtpbnQtZm9ybWF0XS4DCQAAZgAAAAIFAAAACENsYWltRmVlBQAAABFNYXhpbXVtX0NsYWltX2ZlZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAlTWF4aW11bSBDbGFpbSBmZWUgY2FuJ3QgYmUgbW9yZSB0aGFuIAkAAaQAAAABBQAAABFNYXhpbXVtX0NsYWltX2ZlZQIAAAARIFROLiBbaW50LWZvcm1hdF0JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAACUNsYWltX0ZlZQUAAAAIQ2xhaW1GZWUFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V54ubzMQ==", "height": 2675699, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CJTRgHuLbmBRn4PqMTHvSLeccb8Q4D6XKTC7YLxtfwXM Next: none Diff:
OldNewDifferences
2121
2222 let j = getIntegerValue(this, "Maximum_Days_Range")
2323
24-let k = 1000000
24+let k = 100000
2525
26-let l = 1440
26+let l = 1000000
2727
28-let m = (height - h)
28+let m = 1440
2929
30-let n = (fraction(10000000000, 1, m) + 6000)
30+let n = (height - h)
3131
32-@Callable(o)
33-func Deposit (p) = {
34- let q = if ((size(o.payments) == 1))
35- then o.payments[0]
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]
3638 else throw((("No Payments Attached Please Attach " + toBase58String(b)) + " Asset Only."))
37- let r = toBase58String(o.caller.bytes)
38- let s = ((((n * q.amount) * p) / 365) / 1000)
39- let t = (m * 100000)
40- let u = (l * p)
41- let v = (height + u)
42- let w = fraction(j, (t * n), (365 * 1000))
43- let x = fraction(w, 1000000, t)
44- let y = {
45- let z = getIntegerValue(this, "Total_Txns:")
46- if ($isInstanceOf(z, "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"))
4749 then {
48- let A = z
49- A
50+ let B = A
51+ B
5052 }
5153 else 0
5254 }
53- let B = (y + 1)
54- let C = {
55- let z = getInteger(this, "Total_Burned_CODE:")
56- if ($isInstanceOf(z, "Int"))
55+ let C = (z + 1)
56+ let D = {
57+ let A = getInteger(this, "Total_Burned_CODE:")
58+ if ($isInstanceOf(A, "Int"))
5759 then {
58- let A = z
59- A
60+ let B = A
61+ B
6062 }
6163 else 0
6264 }
63- let D = (C + q.amount)
64- let E = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("Deposit_height_Of_" + r)), "Your Address not Found on Staking DApp")
65- let F = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("Total_Lock_Blocks_Of_" + r)), "Your Address not Found on Staking DApp")
66- let G = (F - E)
67- let H = assetBalance(Address(o.caller.bytes), c)
68- let I = {
69- let z = getInteger(this, ("Deposit_Amount_Of_" + r))
70- if ($isInstanceOf(z, "Int"))
65+ let E = (D + r.amount)
66+ let F = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("Deposit_height_Of_" + s)), "Your Address not Found on Staking DApp")
67+ let G = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("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), c)
70+ let J = {
71+ let A = getInteger(this, ("Deposit_Amount_Of_" + s))
72+ if ($isInstanceOf(A, "Int"))
7173 then {
72- let A = z
73- A
74+ let B = A
75+ B
7476 }
7577 else 0
7678 }
77- let J = (I + q.amount)
78- let K = {
79- let z = getInteger(this, ("No_Of_Deposits_" + r))
80- if ($isInstanceOf(z, "Int"))
79+ let K = (J + r.amount)
80+ let L = {
81+ let A = getInteger(this, ("No_Of_Deposits_" + s))
82+ if ($isInstanceOf(A, "Int"))
8183 then {
82- let A = z
83- A
84+ let B = A
85+ B
8486 }
8587 else 0
8688 }
87- let L = (K + 1)
88- if ((H != 1))
89+ let M = (L + 1)
90+ let N = {
91+ let A = getInteger(this, "Expension_Counter")
92+ if ($isInstanceOf(A, "Int"))
93+ then {
94+ let B = A
95+ B
96+ }
97+ else 0
98+ }
99+ let O = (N + 1)
100+ if ((I != 1))
89101 then throw("You Need to Mint a CODE License from DApp Address 3JeqfvcGZxJbuSpCB5cFhV2Bb8fdV4WzZzZ.")
90- else if ((H > 1))
102+ else if ((I > 1))
91103 then throw("You Own Multiple CODE License on Same Address.")
92104 else if ((h > height))
93105 then throw((("DApp is Not Started Yet please Wait until " + toString((h - height))) + " blocks"))
94- else if ((q.assetId != b))
106+ else if ((r.assetId != b))
95107 then throw((("Incorrect asset attached, please attach " + toBase58String(b)) + " asset only"))
96- else if ((i >= p))
108+ else if ((i >= q))
97109 then throw(((("Choose Locking days in between " + toString((i + 1))) + " to ") + toString(j)))
98- else if ((p > j))
99- then throw(((((("You Entered days to " + toString(p)) + ", Please Enter no. of days in between ") + toString((i + 1))) + " to ") + toString(j)))
100- else if ((100000 > q.amount))
110+ else if ((q > j))
111+ then throw(((((("You Entered days to " + toString(q)) + ", Please Enter no. of days in between ") + toString((i + 1))) + " to ") + toString(j)))
112+ else if ((k > r.amount))
101113 then throw("Please Attach minimum 0.001 CODE Token To Issue More CODE Asset.")
102- else if ((q.amount > t))
103- then throw((("You can attach maximum " + toString(t)) + "/10^8 CODE."))
104- else if ((G != 129600))
114+ else if ((r.amount > u))
115+ then throw((("You can attach maximum " + toString(u)) + "/10^8 CODE."))
116+ else if ((H != 129600))
105117 then throw("You are Not Eligible to Mint CODE. It need minimum 90 Days Staking.")
106- else if ((K == 1))
118+ else if ((L == 1))
107119 then throw("You Already Have an Active Staking, Please Wait until Mature.")
108- else if ((k > x))
109- then [StringEntry("Version", a), StringEntry("Version_Updator", ((a + "_") + r)), StringEntry("message", (((("New Days Range Expended from " + toString(j)) + " To ") + toString((j + 1))) + " Days. Please Restake.")), IntegerEntry("Maximum_Days_Range", (j + 1)), IntegerEntry("Minimum_Days_Range", (i + 1)), ScriptTransfer(o.caller, q.amount, b)]
110- else [Burn(b, q.amount), IntegerEntry("Total_Burned_CODE:", D), IntegerEntry("Total_Txns:", B), IntegerEntry("Inflation", n), IntegerEntry("Block_Passed", m), IntegerEntry("Burn_Factor", x), IntegerEntry(("No_Of_Deposits_" + r), L), IntegerEntry(("Deposit_height_Of_" + r), height), IntegerEntry(("Total_Lock_Blocks_Of_" + r), v), IntegerEntry(("Deposit_Amount_Of_" + r), J), IntegerEntry(("Rewards_Of_" + r), s), StringEntry("message", "<h1>CODE Staked Successfully!</h1><br>")]
120+ else if ((l > y))
121+ then [StringEntry("Version", a), IntegerEntry("Expension_Counter", O), StringEntry((toString(O) + "_Expension_Updator"), s), StringEntry("message", (((("New Days Range Expended from " + toString(j)) + " To ") + toString((j + 1))) + " Days. Please Restake.")), IntegerEntry("Maximum_Days_Range", (j + 1)), IntegerEntry("Minimum_Days_Range", (i + 1)), ScriptTransfer(p.caller, r.amount, b)]
122+ else [Burn(b, 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>")]
111123 }
112124
113125
114126
115-@Callable(o)
127+@Callable(p)
116128 func Withdraw () = {
117- let r = toBase58String(o.caller.bytes)
118- let M = 1200000000000
119- let N = 24000000
120- let O = 19
121- let P = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("Deposit_Amount_Of_" + r)), "Your Address not Found on Staking DApp")
122- let Q = 500
123- let R = ((N - (fraction(P, 1000000, M) * 19)) / 10000)
124- let S = getIntegerValue(this, "Claim_Fee")
125- let q = value(o.payments[0])
126- let T = getIntegerValue(this, ("Deposit_Amount_Of_" + r))
127- let U = (((getIntegerValue(this, ("Rewards_Of_" + r)) - T) * R) / 10000)
128- let V = (((getIntegerValue(this, ("Rewards_Of_" + r)) - T) * Q) / 10000)
129- let y = {
130- let z = getIntegerValue(this, "Total_Txns:")
131- if ($isInstanceOf(z, "Int"))
129+ let s = toBase58String(p.caller.bytes)
130+ let P = 1200000000000
131+ let Q = 24000000
132+ let R = 19
133+ let S = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("Deposit_Amount_Of_" + s)), "Your Address not Found on Staking DApp")
134+ let T = 500
135+ let U = ((Q - (fraction(S, 1000000, P) * 19)) / 10000)
136+ let V = getIntegerValue(this, "Claim_Fee")
137+ let r = value(p.payments[0])
138+ let W = getIntegerValue(this, ("Deposit_Amount_Of_" + s))
139+ let X = (((getIntegerValue(this, ("Rewards_Of_" + s)) - W) * U) / 10000)
140+ let Y = (((getIntegerValue(this, ("Rewards_Of_" + s)) - W) * T) / 10000)
141+ let z = {
142+ let A = getIntegerValue(this, "Total_Txns:")
143+ if ($isInstanceOf(A, "Int"))
132144 then {
133- let A = z
134- A
145+ let B = A
146+ B
135147 }
136148 else 0
137149 }
138- let B = (y + 1)
139- let W = {
140- let z = getIntegerValue(this, "Total_CODE_Claimed:")
141- if ($isInstanceOf(z, "Int"))
150+ let C = (z + 1)
151+ let Z = {
152+ let A = getIntegerValue(this, "Total_CODE_Claimed:")
153+ if ($isInstanceOf(A, "Int"))
142154 then {
143- let A = z
144- A
155+ let B = A
156+ B
145157 }
146158 else 0
147159 }
148- let X = (W + getIntegerValue(this, ("Rewards_Of_" + r)))
149- let Y = {
150- let z = getIntegerValue(this, "Total_Issued_CODE:")
151- if ($isInstanceOf(z, "Int"))
160+ let aa = (Z + getIntegerValue(this, ("Rewards_Of_" + s)))
161+ let ab = {
162+ let A = getIntegerValue(this, "Total_Issued_CODE:")
163+ if ($isInstanceOf(A, "Int"))
152164 then {
153- let A = z
154- A
165+ let B = A
166+ B
155167 }
156168 else 0
157169 }
158- let Z = (Y + getIntegerValue(this, ("Rewards_Of_" + r)))
159- let aa = {
160- let z = getIntegerValue(this, "Total_Claim_Fee_In_TN")
161- if ($isInstanceOf(z, "Int"))
170+ let ac = (ab + getIntegerValue(this, ("Rewards_Of_" + s)))
171+ let ad = {
172+ let A = getIntegerValue(this, "Total_Claim_Fee_In_TN")
173+ if ($isInstanceOf(A, "Int"))
162174 then {
163- let A = z
164- A
175+ let B = A
176+ B
165177 }
166178 else 0
167179 }
168- let ab = (aa + S)
169- let E = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("Deposit_height_Of_" + r)), "Your Address not Found on Staking DApp")
170- let F = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("Total_Lock_Blocks_Of_" + r)), "Your Address not Found on Staking DApp")
171- let G = (F - E)
172- if (isDefined(q.assetId))
173- then throw((("Wrong Asset Attached for Payment, please Attach " + toString(S)) + "/10^8 TN."))
174- else if ((q.amount != S))
175- then throw((("Please Attach Exact " + toString(S)) + "/10^8 TN."))
176- else if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + r)) > height))
177- then throw((((("Your " + toString(getIntegerValue(this, ("Rewards_Of_" + r)))) + "/10^8 CODE are Still Maturing. Token will be Unlocked after ") + toString((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + r)) - height))) + " blocks."))
178- else if ((T == 0))
180+ let ae = (ad + V)
181+ let F = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("Deposit_height_Of_" + s)), "Your Address not Found on Staking DApp")
182+ let G = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("Total_Lock_Blocks_Of_" + s)), "Your Address not Found on Staking DApp")
183+ let H = (G - F)
184+ if (isDefined(r.assetId))
185+ then throw((("Wrong Asset Attached for Payment, please Attach " + toString(V)) + "/10^8 TN."))
186+ else if ((r.amount != V))
187+ then throw((("Please Attach Exact " + toString(V)) + "/10^8 TN."))
188+ else if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + s)) > height))
189+ 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."))
190+ else if ((W == 0))
179191 then throw("You Have Already Withdraw your CODE Amount.")
180- else if ((G != 129600))
192+ else if ((H != 129600))
181193 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.")
182- else if ((P >= 1199999999999))
183- then [IntegerEntry("Total_Txns:", B), IntegerEntry("Total_CODE_Claimed:", X), IntegerEntry("Total_Issued_CODE:", Z), IntegerEntry("Total_Claim_Fee_In_TN", ab), IntegerEntry("Fee_%_Charge", Q), IntegerEntry("Fee_Amount", V), Reissue(b, getIntegerValue(this, ("Rewards_Of_" + r)), true), ScriptTransfer(o.caller, (getIntegerValue(this, ("Rewards_Of_" + r)) - V), b), ScriptTransfer(addressFromPublicKey(e), fraction(V, 80, 100), b), ScriptTransfer(addressFromPublicKey(f), fraction(V, g, 100), b), IntegerEntry(("No_Of_Deposits_" + r), 0), IntegerEntry(("Deposit_height_Of_" + r), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + r), 0), IntegerEntry(("Deposit_Amount_Of_" + r), 0), IntegerEntry(("Rewards_Of_" + r), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
184- else [IntegerEntry("Total_Txns:", B), IntegerEntry("Total_CODE_Claimed:", X), IntegerEntry("Total_Issued_CODE:", Z), IntegerEntry("Total_Claim_Fee_In_TN", ab), IntegerEntry("Fee_%_Charge", R), IntegerEntry("Fee_Amount", U), Reissue(b, getIntegerValue(this, ("Rewards_Of_" + r)), true), ScriptTransfer(o.caller, (getIntegerValue(this, ("Rewards_Of_" + r)) - U), b), ScriptTransfer(addressFromPublicKey(e), fraction(U, 80, 100), b), ScriptTransfer(addressFromPublicKey(f), fraction(U, g, 100), b), IntegerEntry(("No_Of_Deposits_" + r), 0), IntegerEntry(("Deposit_height_Of_" + r), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + r), 0), IntegerEntry(("Deposit_Amount_Of_" + r), 0), IntegerEntry(("Rewards_Of_" + r), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
194+ else if ((S >= 1199999999999))
195+ then [IntegerEntry("Total_Txns:", C), IntegerEntry("Total_CODE_Claimed:", aa), IntegerEntry("Total_Issued_CODE:", ac), IntegerEntry("Total_Claim_Fee_In_TN", ae), IntegerEntry("Fee_%_Charge", T), IntegerEntry("Fee_Amount", Y), Reissue(b, getIntegerValue(this, ("Rewards_Of_" + s)), true), ScriptTransfer(p.caller, (getIntegerValue(this, ("Rewards_Of_" + s)) - Y), b), ScriptTransfer(addressFromPublicKey(e), fraction(Y, 80, 100), b), ScriptTransfer(addressFromPublicKey(f), fraction(Y, g, 100), b), 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>")]
196+ else [IntegerEntry("Total_Txns:", C), IntegerEntry("Total_CODE_Claimed:", aa), IntegerEntry("Total_Issued_CODE:", ac), IntegerEntry("Total_Claim_Fee_In_TN", ae), IntegerEntry("Fee_%_Charge", U), IntegerEntry("Fee_Amount", X), Reissue(b, getIntegerValue(this, ("Rewards_Of_" + s)), true), ScriptTransfer(p.caller, (getIntegerValue(this, ("Rewards_Of_" + s)) - X), b), ScriptTransfer(addressFromPublicKey(e), fraction(X, 80, 100), b), ScriptTransfer(addressFromPublicKey(f), fraction(X, g, 100), b), 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>")]
185197 }
186198
187199
188200
189-@Callable(o)
190-func SetDaysRange (ac,ad) = {
191- let ae = toBase58String(o.caller.bytes)
192- let af = getStringValue(this, "DApp_Admin_Rights")
193- let ag = 7
194- let ah = 200
195- if ((af != ae))
196- then throw((("I know You are not An Admin. Only " + af) + " has rights to change Days Range."))
197- else if ((ag > ac))
201+@Callable(p)
202+func SetDaysRange (af,ag) = {
203+ let ah = toBase58String(p.caller.bytes)
204+ let ai = getStringValue(this, "DApp_Admin_Rights")
205+ let aj = 7
206+ let ak = 200
207+ if ((ai != ah))
208+ then throw((("I know You are not An Admin. Only " + ai) + " has rights to change Days Range."))
209+ else if ((aj > af))
198210 then throw("Minimum days range must be more than 6 and in between 7-200.")
199- else if ((ad > ah))
211+ else if ((ag > ak))
200212 then throw("Maximum days range can't exceed the 200.")
201- else if ((ac > ad))
202- then throw((((("Minimum days range can't be exceed the value of Maximum days range. Choose the Range between [" + toString(ag)) + "-") + toString(ah)) + "]"))
203- else [IntegerEntry("Minimum_Days_Range", ac), IntegerEntry("Maximum_Days_Range", ad)]
213+ else if ((af > ag))
214+ then throw((((("Minimum days range can't be exceed the value of Maximum days range. Choose the Range between [" + toString(aj)) + "-") + toString(ak)) + "]"))
215+ else [IntegerEntry("Minimum_Days_Range", af), IntegerEntry("Maximum_Days_Range", ag)]
204216 }
205217
206218
207219
208-@Callable(o)
209-func SetClaimFee (S) = {
210- let ae = toBase58String(o.caller.bytes)
211- let af = getStringValue(this, "DApp_Admin_Rights")
212- let ai = 100000000
213- let aj = 100000000000
214- if ((af != ae))
215- then throw((("I know You are not An Admin. Only " + af) + " has rights to change Claim Fee."))
216- else if ((ai > S))
217- then throw((("Minimum Claim fee is " + toString(ai)) + " TN [int-format]."))
218- else if ((S > aj))
219- then throw((("Maximum Claim fee can't be more than " + toString(aj)) + " TN. [int-format]"))
220- else [IntegerEntry("Claim_Fee", S)]
220+@Callable(p)
221+func SetClaimFee (V) = {
222+ let ah = toBase58String(p.caller.bytes)
223+ let ai = getStringValue(this, "DApp_Admin_Rights")
224+ let al = 100000000
225+ let am = 100000000000
226+ if ((ai != ah))
227+ then throw((("I know You are not An Admin. Only " + ai) + " has rights to change Claim Fee."))
228+ else if ((al > V))
229+ then throw((("Minimum Claim fee is " + toString(al)) + " TN [int-format]."))
230+ else if ((V > am))
231+ then throw((("Maximum Claim fee can't be more than " + toString(am)) + " TN. [int-format]"))
232+ else [IntegerEntry("Claim_Fee", V)]
221233 }
222234
223235
224-@Verifier(ak)
225-func al () = sigVerify(ak.bodyBytes, ak.proofs[0], ak.senderPublicKey)
236+@Verifier(an)
237+func ao () = sigVerify(an.bodyBytes, an.proofs[0], an.senderPublicKey)
226238
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "3.0.0"
55
66 let b = base58'EB4CUQH4fHzzQt9YjcHtA6T7uosHNH9RnQKHgBdZHPCB'
77
88 let c = base58'H3MZcnjakUsXycTbuR1BtZbyXj8C4RAPgdoeoTMGczjX'
99
1010 let d = base58'J3cAptAPQxVqpEz6Rch57JeKpbns48s1a6HoeQG9aX4J'
1111
1212 let e = base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR'
1313
1414 let f = base58'8d4zGuTjT3h67Z4DatzMXdXXW1GvoQhMTjwCGFxJuene'
1515
1616 let g = 20
1717
1818 let h = 1850000
1919
2020 let i = getIntegerValue(this, "Minimum_Days_Range")
2121
2222 let j = getIntegerValue(this, "Maximum_Days_Range")
2323
24-let k = 1000000
24+let k = 100000
2525
26-let l = 1440
26+let l = 1000000
2727
28-let m = (height - h)
28+let m = 1440
2929
30-let n = (fraction(10000000000, 1, m) + 6000)
30+let n = (height - h)
3131
32-@Callable(o)
33-func Deposit (p) = {
34- let q = if ((size(o.payments) == 1))
35- then o.payments[0]
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]
3638 else throw((("No Payments Attached Please Attach " + toBase58String(b)) + " Asset Only."))
37- let r = toBase58String(o.caller.bytes)
38- let s = ((((n * q.amount) * p) / 365) / 1000)
39- let t = (m * 100000)
40- let u = (l * p)
41- let v = (height + u)
42- let w = fraction(j, (t * n), (365 * 1000))
43- let x = fraction(w, 1000000, t)
44- let y = {
45- let z = getIntegerValue(this, "Total_Txns:")
46- if ($isInstanceOf(z, "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"))
4749 then {
48- let A = z
49- A
50+ let B = A
51+ B
5052 }
5153 else 0
5254 }
53- let B = (y + 1)
54- let C = {
55- let z = getInteger(this, "Total_Burned_CODE:")
56- if ($isInstanceOf(z, "Int"))
55+ let C = (z + 1)
56+ let D = {
57+ let A = getInteger(this, "Total_Burned_CODE:")
58+ if ($isInstanceOf(A, "Int"))
5759 then {
58- let A = z
59- A
60+ let B = A
61+ B
6062 }
6163 else 0
6264 }
63- let D = (C + q.amount)
64- let E = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("Deposit_height_Of_" + r)), "Your Address not Found on Staking DApp")
65- let F = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("Total_Lock_Blocks_Of_" + r)), "Your Address not Found on Staking DApp")
66- let G = (F - E)
67- let H = assetBalance(Address(o.caller.bytes), c)
68- let I = {
69- let z = getInteger(this, ("Deposit_Amount_Of_" + r))
70- if ($isInstanceOf(z, "Int"))
65+ let E = (D + r.amount)
66+ let F = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("Deposit_height_Of_" + s)), "Your Address not Found on Staking DApp")
67+ let G = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("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), c)
70+ let J = {
71+ let A = getInteger(this, ("Deposit_Amount_Of_" + s))
72+ if ($isInstanceOf(A, "Int"))
7173 then {
72- let A = z
73- A
74+ let B = A
75+ B
7476 }
7577 else 0
7678 }
77- let J = (I + q.amount)
78- let K = {
79- let z = getInteger(this, ("No_Of_Deposits_" + r))
80- if ($isInstanceOf(z, "Int"))
79+ let K = (J + r.amount)
80+ let L = {
81+ let A = getInteger(this, ("No_Of_Deposits_" + s))
82+ if ($isInstanceOf(A, "Int"))
8183 then {
82- let A = z
83- A
84+ let B = A
85+ B
8486 }
8587 else 0
8688 }
87- let L = (K + 1)
88- if ((H != 1))
89+ let M = (L + 1)
90+ let N = {
91+ let A = getInteger(this, "Expension_Counter")
92+ if ($isInstanceOf(A, "Int"))
93+ then {
94+ let B = A
95+ B
96+ }
97+ else 0
98+ }
99+ let O = (N + 1)
100+ if ((I != 1))
89101 then throw("You Need to Mint a CODE License from DApp Address 3JeqfvcGZxJbuSpCB5cFhV2Bb8fdV4WzZzZ.")
90- else if ((H > 1))
102+ else if ((I > 1))
91103 then throw("You Own Multiple CODE License on Same Address.")
92104 else if ((h > height))
93105 then throw((("DApp is Not Started Yet please Wait until " + toString((h - height))) + " blocks"))
94- else if ((q.assetId != b))
106+ else if ((r.assetId != b))
95107 then throw((("Incorrect asset attached, please attach " + toBase58String(b)) + " asset only"))
96- else if ((i >= p))
108+ else if ((i >= q))
97109 then throw(((("Choose Locking days in between " + toString((i + 1))) + " to ") + toString(j)))
98- else if ((p > j))
99- then throw(((((("You Entered days to " + toString(p)) + ", Please Enter no. of days in between ") + toString((i + 1))) + " to ") + toString(j)))
100- else if ((100000 > q.amount))
110+ else if ((q > j))
111+ then throw(((((("You Entered days to " + toString(q)) + ", Please Enter no. of days in between ") + toString((i + 1))) + " to ") + toString(j)))
112+ else if ((k > r.amount))
101113 then throw("Please Attach minimum 0.001 CODE Token To Issue More CODE Asset.")
102- else if ((q.amount > t))
103- then throw((("You can attach maximum " + toString(t)) + "/10^8 CODE."))
104- else if ((G != 129600))
114+ else if ((r.amount > u))
115+ then throw((("You can attach maximum " + toString(u)) + "/10^8 CODE."))
116+ else if ((H != 129600))
105117 then throw("You are Not Eligible to Mint CODE. It need minimum 90 Days Staking.")
106- else if ((K == 1))
118+ else if ((L == 1))
107119 then throw("You Already Have an Active Staking, Please Wait until Mature.")
108- else if ((k > x))
109- then [StringEntry("Version", a), StringEntry("Version_Updator", ((a + "_") + r)), StringEntry("message", (((("New Days Range Expended from " + toString(j)) + " To ") + toString((j + 1))) + " Days. Please Restake.")), IntegerEntry("Maximum_Days_Range", (j + 1)), IntegerEntry("Minimum_Days_Range", (i + 1)), ScriptTransfer(o.caller, q.amount, b)]
110- else [Burn(b, q.amount), IntegerEntry("Total_Burned_CODE:", D), IntegerEntry("Total_Txns:", B), IntegerEntry("Inflation", n), IntegerEntry("Block_Passed", m), IntegerEntry("Burn_Factor", x), IntegerEntry(("No_Of_Deposits_" + r), L), IntegerEntry(("Deposit_height_Of_" + r), height), IntegerEntry(("Total_Lock_Blocks_Of_" + r), v), IntegerEntry(("Deposit_Amount_Of_" + r), J), IntegerEntry(("Rewards_Of_" + r), s), StringEntry("message", "<h1>CODE Staked Successfully!</h1><br>")]
120+ else if ((l > y))
121+ then [StringEntry("Version", a), IntegerEntry("Expension_Counter", O), StringEntry((toString(O) + "_Expension_Updator"), s), StringEntry("message", (((("New Days Range Expended from " + toString(j)) + " To ") + toString((j + 1))) + " Days. Please Restake.")), IntegerEntry("Maximum_Days_Range", (j + 1)), IntegerEntry("Minimum_Days_Range", (i + 1)), ScriptTransfer(p.caller, r.amount, b)]
122+ else [Burn(b, 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>")]
111123 }
112124
113125
114126
115-@Callable(o)
127+@Callable(p)
116128 func Withdraw () = {
117- let r = toBase58String(o.caller.bytes)
118- let M = 1200000000000
119- let N = 24000000
120- let O = 19
121- let P = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("Deposit_Amount_Of_" + r)), "Your Address not Found on Staking DApp")
122- let Q = 500
123- let R = ((N - (fraction(P, 1000000, M) * 19)) / 10000)
124- let S = getIntegerValue(this, "Claim_Fee")
125- let q = value(o.payments[0])
126- let T = getIntegerValue(this, ("Deposit_Amount_Of_" + r))
127- let U = (((getIntegerValue(this, ("Rewards_Of_" + r)) - T) * R) / 10000)
128- let V = (((getIntegerValue(this, ("Rewards_Of_" + r)) - T) * Q) / 10000)
129- let y = {
130- let z = getIntegerValue(this, "Total_Txns:")
131- if ($isInstanceOf(z, "Int"))
129+ let s = toBase58String(p.caller.bytes)
130+ let P = 1200000000000
131+ let Q = 24000000
132+ let R = 19
133+ let S = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("Deposit_Amount_Of_" + s)), "Your Address not Found on Staking DApp")
134+ let T = 500
135+ let U = ((Q - (fraction(S, 1000000, P) * 19)) / 10000)
136+ let V = getIntegerValue(this, "Claim_Fee")
137+ let r = value(p.payments[0])
138+ let W = getIntegerValue(this, ("Deposit_Amount_Of_" + s))
139+ let X = (((getIntegerValue(this, ("Rewards_Of_" + s)) - W) * U) / 10000)
140+ let Y = (((getIntegerValue(this, ("Rewards_Of_" + s)) - W) * T) / 10000)
141+ let z = {
142+ let A = getIntegerValue(this, "Total_Txns:")
143+ if ($isInstanceOf(A, "Int"))
132144 then {
133- let A = z
134- A
145+ let B = A
146+ B
135147 }
136148 else 0
137149 }
138- let B = (y + 1)
139- let W = {
140- let z = getIntegerValue(this, "Total_CODE_Claimed:")
141- if ($isInstanceOf(z, "Int"))
150+ let C = (z + 1)
151+ let Z = {
152+ let A = getIntegerValue(this, "Total_CODE_Claimed:")
153+ if ($isInstanceOf(A, "Int"))
142154 then {
143- let A = z
144- A
155+ let B = A
156+ B
145157 }
146158 else 0
147159 }
148- let X = (W + getIntegerValue(this, ("Rewards_Of_" + r)))
149- let Y = {
150- let z = getIntegerValue(this, "Total_Issued_CODE:")
151- if ($isInstanceOf(z, "Int"))
160+ let aa = (Z + getIntegerValue(this, ("Rewards_Of_" + s)))
161+ let ab = {
162+ let A = getIntegerValue(this, "Total_Issued_CODE:")
163+ if ($isInstanceOf(A, "Int"))
152164 then {
153- let A = z
154- A
165+ let B = A
166+ B
155167 }
156168 else 0
157169 }
158- let Z = (Y + getIntegerValue(this, ("Rewards_Of_" + r)))
159- let aa = {
160- let z = getIntegerValue(this, "Total_Claim_Fee_In_TN")
161- if ($isInstanceOf(z, "Int"))
170+ let ac = (ab + getIntegerValue(this, ("Rewards_Of_" + s)))
171+ let ad = {
172+ let A = getIntegerValue(this, "Total_Claim_Fee_In_TN")
173+ if ($isInstanceOf(A, "Int"))
162174 then {
163- let A = z
164- A
175+ let B = A
176+ B
165177 }
166178 else 0
167179 }
168- let ab = (aa + S)
169- let E = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("Deposit_height_Of_" + r)), "Your Address not Found on Staking DApp")
170- let F = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("Total_Lock_Blocks_Of_" + r)), "Your Address not Found on Staking DApp")
171- let G = (F - E)
172- if (isDefined(q.assetId))
173- then throw((("Wrong Asset Attached for Payment, please Attach " + toString(S)) + "/10^8 TN."))
174- else if ((q.amount != S))
175- then throw((("Please Attach Exact " + toString(S)) + "/10^8 TN."))
176- else if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + r)) > height))
177- then throw((((("Your " + toString(getIntegerValue(this, ("Rewards_Of_" + r)))) + "/10^8 CODE are Still Maturing. Token will be Unlocked after ") + toString((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + r)) - height))) + " blocks."))
178- else if ((T == 0))
180+ let ae = (ad + V)
181+ let F = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("Deposit_height_Of_" + s)), "Your Address not Found on Staking DApp")
182+ let G = valueOrErrorMessage(getInteger(addressFromPublicKey(d), ("Total_Lock_Blocks_Of_" + s)), "Your Address not Found on Staking DApp")
183+ let H = (G - F)
184+ if (isDefined(r.assetId))
185+ then throw((("Wrong Asset Attached for Payment, please Attach " + toString(V)) + "/10^8 TN."))
186+ else if ((r.amount != V))
187+ then throw((("Please Attach Exact " + toString(V)) + "/10^8 TN."))
188+ else if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + s)) > height))
189+ 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."))
190+ else if ((W == 0))
179191 then throw("You Have Already Withdraw your CODE Amount.")
180- else if ((G != 129600))
192+ else if ((H != 129600))
181193 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.")
182- else if ((P >= 1199999999999))
183- then [IntegerEntry("Total_Txns:", B), IntegerEntry("Total_CODE_Claimed:", X), IntegerEntry("Total_Issued_CODE:", Z), IntegerEntry("Total_Claim_Fee_In_TN", ab), IntegerEntry("Fee_%_Charge", Q), IntegerEntry("Fee_Amount", V), Reissue(b, getIntegerValue(this, ("Rewards_Of_" + r)), true), ScriptTransfer(o.caller, (getIntegerValue(this, ("Rewards_Of_" + r)) - V), b), ScriptTransfer(addressFromPublicKey(e), fraction(V, 80, 100), b), ScriptTransfer(addressFromPublicKey(f), fraction(V, g, 100), b), IntegerEntry(("No_Of_Deposits_" + r), 0), IntegerEntry(("Deposit_height_Of_" + r), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + r), 0), IntegerEntry(("Deposit_Amount_Of_" + r), 0), IntegerEntry(("Rewards_Of_" + r), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
184- else [IntegerEntry("Total_Txns:", B), IntegerEntry("Total_CODE_Claimed:", X), IntegerEntry("Total_Issued_CODE:", Z), IntegerEntry("Total_Claim_Fee_In_TN", ab), IntegerEntry("Fee_%_Charge", R), IntegerEntry("Fee_Amount", U), Reissue(b, getIntegerValue(this, ("Rewards_Of_" + r)), true), ScriptTransfer(o.caller, (getIntegerValue(this, ("Rewards_Of_" + r)) - U), b), ScriptTransfer(addressFromPublicKey(e), fraction(U, 80, 100), b), ScriptTransfer(addressFromPublicKey(f), fraction(U, g, 100), b), IntegerEntry(("No_Of_Deposits_" + r), 0), IntegerEntry(("Deposit_height_Of_" + r), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + r), 0), IntegerEntry(("Deposit_Amount_Of_" + r), 0), IntegerEntry(("Rewards_Of_" + r), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
194+ else if ((S >= 1199999999999))
195+ then [IntegerEntry("Total_Txns:", C), IntegerEntry("Total_CODE_Claimed:", aa), IntegerEntry("Total_Issued_CODE:", ac), IntegerEntry("Total_Claim_Fee_In_TN", ae), IntegerEntry("Fee_%_Charge", T), IntegerEntry("Fee_Amount", Y), Reissue(b, getIntegerValue(this, ("Rewards_Of_" + s)), true), ScriptTransfer(p.caller, (getIntegerValue(this, ("Rewards_Of_" + s)) - Y), b), ScriptTransfer(addressFromPublicKey(e), fraction(Y, 80, 100), b), ScriptTransfer(addressFromPublicKey(f), fraction(Y, g, 100), b), 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>")]
196+ else [IntegerEntry("Total_Txns:", C), IntegerEntry("Total_CODE_Claimed:", aa), IntegerEntry("Total_Issued_CODE:", ac), IntegerEntry("Total_Claim_Fee_In_TN", ae), IntegerEntry("Fee_%_Charge", U), IntegerEntry("Fee_Amount", X), Reissue(b, getIntegerValue(this, ("Rewards_Of_" + s)), true), ScriptTransfer(p.caller, (getIntegerValue(this, ("Rewards_Of_" + s)) - X), b), ScriptTransfer(addressFromPublicKey(e), fraction(X, 80, 100), b), ScriptTransfer(addressFromPublicKey(f), fraction(X, g, 100), b), 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>")]
185197 }
186198
187199
188200
189-@Callable(o)
190-func SetDaysRange (ac,ad) = {
191- let ae = toBase58String(o.caller.bytes)
192- let af = getStringValue(this, "DApp_Admin_Rights")
193- let ag = 7
194- let ah = 200
195- if ((af != ae))
196- then throw((("I know You are not An Admin. Only " + af) + " has rights to change Days Range."))
197- else if ((ag > ac))
201+@Callable(p)
202+func SetDaysRange (af,ag) = {
203+ let ah = toBase58String(p.caller.bytes)
204+ let ai = getStringValue(this, "DApp_Admin_Rights")
205+ let aj = 7
206+ let ak = 200
207+ if ((ai != ah))
208+ then throw((("I know You are not An Admin. Only " + ai) + " has rights to change Days Range."))
209+ else if ((aj > af))
198210 then throw("Minimum days range must be more than 6 and in between 7-200.")
199- else if ((ad > ah))
211+ else if ((ag > ak))
200212 then throw("Maximum days range can't exceed the 200.")
201- else if ((ac > ad))
202- then throw((((("Minimum days range can't be exceed the value of Maximum days range. Choose the Range between [" + toString(ag)) + "-") + toString(ah)) + "]"))
203- else [IntegerEntry("Minimum_Days_Range", ac), IntegerEntry("Maximum_Days_Range", ad)]
213+ else if ((af > ag))
214+ then throw((((("Minimum days range can't be exceed the value of Maximum days range. Choose the Range between [" + toString(aj)) + "-") + toString(ak)) + "]"))
215+ else [IntegerEntry("Minimum_Days_Range", af), IntegerEntry("Maximum_Days_Range", ag)]
204216 }
205217
206218
207219
208-@Callable(o)
209-func SetClaimFee (S) = {
210- let ae = toBase58String(o.caller.bytes)
211- let af = getStringValue(this, "DApp_Admin_Rights")
212- let ai = 100000000
213- let aj = 100000000000
214- if ((af != ae))
215- then throw((("I know You are not An Admin. Only " + af) + " has rights to change Claim Fee."))
216- else if ((ai > S))
217- then throw((("Minimum Claim fee is " + toString(ai)) + " TN [int-format]."))
218- else if ((S > aj))
219- then throw((("Maximum Claim fee can't be more than " + toString(aj)) + " TN. [int-format]"))
220- else [IntegerEntry("Claim_Fee", S)]
220+@Callable(p)
221+func SetClaimFee (V) = {
222+ let ah = toBase58String(p.caller.bytes)
223+ let ai = getStringValue(this, "DApp_Admin_Rights")
224+ let al = 100000000
225+ let am = 100000000000
226+ if ((ai != ah))
227+ then throw((("I know You are not An Admin. Only " + ai) + " has rights to change Claim Fee."))
228+ else if ((al > V))
229+ then throw((("Minimum Claim fee is " + toString(al)) + " TN [int-format]."))
230+ else if ((V > am))
231+ then throw((("Maximum Claim fee can't be more than " + toString(am)) + " TN. [int-format]"))
232+ else [IntegerEntry("Claim_Fee", V)]
221233 }
222234
223235
224-@Verifier(ak)
225-func al () = sigVerify(ak.bodyBytes, ak.proofs[0], ak.senderPublicKey)
236+@Verifier(an)
237+func ao () = sigVerify(an.bodyBytes, an.proofs[0], an.senderPublicKey)
226238

github/deemru/w8io/169f3d6 
126.13 ms