tx · BhSajcoDX9txW5hB9j3LDxpMYYE2swUEJ9B6QfQtt7Hb

3N34Zi5VD4m9az4kEXWDJngkMHMTpqLcoqo:  -0.01900000 Waves

2022.09.24 11:29 [2242995] smart account 3N34Zi5VD4m9az4kEXWDJngkMHMTpqLcoqo > SELF 0.00000000 Waves

{ "type": 13, "id": "BhSajcoDX9txW5hB9j3LDxpMYYE2swUEJ9B6QfQtt7Hb", "fee": 1900000, "feeAssetId": null, "timestamp": 1664008251128, "version": 2, "chainId": 84, "sender": "3N34Zi5VD4m9az4kEXWDJngkMHMTpqLcoqo", "senderPublicKey": "AmXrJ1inc5jpKhf6D9aDcRU8QWHZXBJdBBvz9VsKDe9x", "proofs": [ "DA2d3PYLU2SxqZa8nFMPbiCkPysBTszXjuZRrQsxMR8tg9eBn8n8jqiVmyqMgdhcC9RvpACLECxfyV4Cru37FFF" ], "script": "base64:AAIEAAAAAAAAAA8IAhIDCgEBEgASBAoCAQEAAAAKAAAAAAtDT0RFQXNzZXRJRAEAAAAgw7tamQ+/dXoyJwRZ/Fb5N4jdONzqCnQ4LyXft9O80qAAAAAAC3hVU0RBc3NldElEAQAAACDQu787dB6wjEoXRsYU1VtSEiSLVpFEqrKAkPqKytHJdwAAAAALU3Rha2luZ0RhcHABAAAAIP1BmwSx4bIxRW9G92Fp+LHjR7RGmJ4CHLHEY95r1tU/AAAAABJUcmVhc3VyeUZlZUFkZHJlc3MBAAAAIFKD2aCL15CSOzPl4EBEchtzseD8Xh+YHSzFnrJIx+IgAAAAAAtTdGFydEhlaWdodAAAAAAAABw6kAAAAAAPbWluaW11bWxvY2tkYXlzCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABJNaW5pbXVtX0RheXNfUmFuZ2UAAAAAD21heGltdW1sb2NrZGF5cwkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAASTWF4aW11bV9EYXlzX1JhbmdlAAAAAAZvbmVkYXkAAAAAAAAABaAAAAAACWJsb2NrZGlmZgkAAGUAAAACBQAAAAZoZWlnaHQFAAAAC1N0YXJ0SGVpZ2h0AAAAAAtJbmZsYXRpb25ObwkAAGQAAAACCQAAawAAAAMAAAAAAlQL5AAAAAAAAAAAAAEFAAAACWJsb2NrZGlmZgAAAAAAAAAXcAAAAAMAAAABaQEAAAAHRGVwb3NpdAAAAAEAAAAEZGF5cwQAAAADcG10AwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACNObyBQYXltZW50cyBBdHRhY2hlZCBQbGVhc2UgQXR0YWNoIAkAAlgAAAABBQAAAAtDT0RFQXNzZXRJRAIAAAAMIEFzc2V0IE9ubHkuBAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAD1VzZXJDbGFpbUFtb3VudAkAAGkAAAACCQAAaQAAAAIJAABoAAAAAgkAAGgAAAACBQAAAAtJbmZsYXRpb25ObwgFAAAAA3BtdAAAAAZhbW91bnQFAAAABGRheXMAAAAAAAAAAW0AAAAAAAAAA+gEAAAADGFsbG93ZGVkcHltdAkAAGgAAAACBQAAAAlibG9ja2RpZmYAAAAAAAABhqAEAAAADGFjdHVhbGJsb2NrcwkAAGgAAAACBQAAAAZvbmVkYXkFAAAABGRheXMEAAAAD3RvdGFsbG9ja2Jsb2NrcwkAAGQAAAACBQAAAAZoZWlnaHQFAAAADGFjdHVhbGJsb2NrcwQAAAAQUHJldmlvdXNUeG5zQ09ERQQAAAAHJG1hdGNoMAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAALVG90YWxfVHhuczoDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAANVG90YWxUeG5zQ09ERQkAAGQAAAACBQAAABBQcmV2aW91c1R4bnNDT0RFAAAAAAAAAAABBAAAABJQcmV2aW91c0J1cm5lZENPREUEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAASVG90YWxfQnVybmVkX0NPREU6AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAD1RvdGFsQnVybmVkQ09ERQkAAGQAAAACBQAAABJQcmV2aW91c0J1cm5lZENPREUIBQAAAANwbXQAAAAGYW1vdW50BAAAABRmZXRjaHVzZXJzdGFrZWhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAC1N0YWtpbmdEYXBwCQABLAAAAAICAAAAEkRlcG9zaXRfaGVpZ2h0X09mXwUAAAAKY3VycmVudEtleQIAAAAmWW91ciBBZGRyZXNzIG5vdCBGb3VuZCBvbiBTdGFraW5nIERBcHAEAAAAFWZldGNodXNlcm1hdHVyZWhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIJAQAAABRhZGRyZXNzRnJv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cmVhc2Ugbm8uIG9mIGRheXMgKAkAAaQAAAABBQAAAA9Vc2VyQ2xhaW1BbW91bnQCAAAAAS8JAAGkAAAAAQgFAAAAA3BtdAAAAAZhbW91bnQCAAAADCkvMTBeOCBDT0RFLgMJAQAAAAIhPQAAAAIFAAAAC2dhcG9maGVpZ2h0AAAAAAAAAfpACQAAAgAAAAECAAAAQ1lvdSBhcmUgTm90IEVsaWdpYmxlIHRvIE1pbnQgQ09ERS4gSXQgbmVlZCBtaW5pbXVtIDkwIERheXMgU3Rha2luZy4DCQAAAAAAAAIFAAAAEFVzZXJOb09mRGVwb3NpdHMAAAAAAAAAAAEJAAACAAAAAQIAAAA9WW91IEFscmVhZHkgSGF2ZSBhbiBBY3RpdmUgU3Rha2luZywgUGxlYXNlIFdhaXQgdW50aWwgTWF0dXJlLgkABEwAAAACCQEAAAAEQnVybgAAAAIFAAAAC0NPREVBc3NldElECAUAAAADcG10AAAABmFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASVG90YWxfQnVybmVkX0NPREU6BQAAAA9Ub3RhbEJ1cm5lZENPREUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAC1RvdGFsX1R4bnM6BQAAAA1Ub3RhbFR4bnNDT0RFCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAlJbmZsYXRpb24FAAAAC0luZmxhdGlvbk5vCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAxCbG9ja19QYXNzZWQFAAAACWJsb2NrZGlmZgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAA9Ob19PZl9EZXBvc2l0c18FAAAACmN1cnJlbnRLZXkFAAAAGFN1bXB1cG9mVXNlck5vT2ZEZXBvc2l0cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJEZXBvc2l0X2hlaWdodF9PZl8FAAAACmN1cnJlbnRLZXkFAAAABmhlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAA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aW91c0lzc3VlZENPREUEAAAAByRtYXRjaDAJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAElRvdGFsX0lzc3VlZF9DT0RFOgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAA9Ub3RhbElzc3VlZENPREUJAABkAAAAAgUAAAASUHJldmlvdXNJc3N1ZWRDT0RFCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5BAAAABRmZXRjaHVzZXJzdGFrZWhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAC1N0YWtpbmdEYXBwCQABLAAAAAICAAAAEkRlcG9zaXRfaGVpZ2h0X09mXwUAAAAKY3VycmVudEtleQIAAAAmWW91ciBBZGRyZXNzIG5vdCBGb3VuZCBvbiBTdGFraW5nIERBcHAEAAAAFWZldGNodXNlcm1hdHVyZWhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAC1N0YWtpbmdEYXBwCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQIAAAAmWW91ciBBZGRyZXNzIG5vdCBGb3VuZCBvbiBTdGFraW5nIERBcHAEAAAAC2dhcG9maGVpZ2h0CQAAZQAAAAIFAAAAFWZldGNodXNlcm1hdHVyZWhlaWdodAUAAAAUZmV0Y2h1c2Vyc3Rha2VoZWlnaHQDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAAC3hVU0RBc3NldElECQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAADxXcm9uZyBBc3NldCBBdHRhY2hlZCBmb3IgUGF5bWVudCwgcGxlYXNlIEF0dGFjaCAwLjUxOCB4VVNEICgJAAJYAAAAAQUAAAALeFVTREFzc2V0SUQCAAAAASkDCQEAAAACIT0AAAACCAUAAAADcG10AAAABmFtb3VudAUAAAAIQ2xhaW1GZWUJAAACAAAAAQIAAAAfUGxlYXNlIEF0dGFjaCBFeGFjdCAwLjUxOCB4VVNELgMJAABmAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkFAAAABmhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABVlvdXIgCQABpAAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkCAAAAPC8xMF44IENPREUgYXJlIFN0aWxsIE1hdHVyaW5nLiBUb2tlbiB3aWxsIGJlIFVubG9ja2VkIGFmdGVyIAkAAaQAAAABCQAAZQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAZoZWlnaHQCAAAACCBibG9ja3MuAwkAAAAAAAACBQAAABFjaGVja2RlcG9zaXR2YWx1ZQAAAAAAAAAAAAkAAAIAAAABAgAAACtZb3UgSGF2ZSBBbHJlYWR5IFdpdGhkcmF3IHlvdXIgQ09ERSBBbW91bnQuAwkBAAAAAiE9AAAAAgUAAAALZ2Fwb2ZoZWlnaHQAAAAAAAAB+kAJAAACAAAAAQIAAAC8WW91IGFyZSBOb3QgRWxpZ2libGUgdG8gV2l0aGRyYXcgQ09ERS4gSXQgbmVlZCBtaW5pbXVtIDkwIERheXMgU3Rha2luZyBhdCBBNEEgREFwcC4gUHJvYmFibHkgeW91IGFscmVhZHkgaGF2ZSBDbGFpbWVkIFlvdXIgU3Rha2Ugb3IgeW91IE92ZXJ3cml0ZSB0aGUgU21hcnQgQ29udHJhY3Qgd2l0aCBsZXNzIHRoYW4gOTAgZGF5cy4DCQAAZwAAAAIFAAAAEWZldGNoVXNlclN0YWtlQW10AAAAARdlkt//CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAtUb3RhbF9UeG5zOgUAAAANVG90YWxUeG5zQ09ERQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAATVG90YWxfQ09ERV9DbGFpbWVkOgUAAAASdG90YWxyZXdhcmRjbGFpbWVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJUb3RhbF9Jc3N1ZWRfQ09ERToFAAAAD1RvdGFsSXNzdWVkQ09ERQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAMRmVlXyVfQ2hhcmdlBQAAAA5GbGF0ZmVlUGVyY2VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAKRmVlX0Ftb3VudAUAAAAOdXNlckZsYXRGZWVBbXQJAARMAAAAAgkBAAAAB1JlaXNzdWUAAAADBQAAAAtDT0RFQXNzZXRJRAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQYJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAZQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkFAAAADnVzZXJGbGF0RmVlQW10BQAAAAtDT0RFQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAABJUcmVhc3VyeUZlZUFkZHJlc3MFAAAADnVzZXJGbGF0RmVlQW10BQAAAAtDT0RFQXNzZXRJRAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAA9Ob19PZl9EZXBvc2l0c18FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9oZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJEZXBvc2l0X0Ftb3VudF9PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQIAAAAoPGgxPkNPREUgVW5TdGFrZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+PGJyPgUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAtUb3RhbF9UeG5zOgUAAAANVG90YWxUeG5zQ09ERQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAATVG90YWxfQ09ERV9DbGFpbWVkOgUAAAASdG90YWxyZXdhcmRjbGFpbWVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJUb3RhbF9Jc3N1ZWRfQ09ERToFAAAAD1RvdGFsSXNzdWVkQ09ERQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAMRmVlXyVfQ2hhcmdlBQAAAAtGZWVzUGVyY2VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAKRmVlX0Ftb3VudAUAAAAKdXNlckZlZUFtdAkABEwAAAACCQEAAAAHUmVpc3N1ZQAAAAMFAAAAC0NPREVBc3NldElECQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5BgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQUAAAAKdXNlckZlZUFtdAUAAAALQ09ERUFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAASVHJlYXN1cnlGZWVBZGRyZXNzBQAAAAp1c2VyRmVlQW10BQAAAAtDT0RFQXNzZXRJRAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAA9Ob19PZl9EZXBvc2l0c18FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9oZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJEZXBvc2l0X0Ftb3VudF9PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQIAAAAoPGgxPkNPREUgVW5TdGFrZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+PGJyPgUAAAADbmlsAAAAAWkBAAAADFNldERheXNSYW5nZQAAAAIAAAASTWluaW11bV9EYXlzX1JhbmdlAAAAEk1heGltdW1fRGF5c19SYW5nZQQAAAANY2FsbGVyYWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAthZG1pbnJpZ2h0cwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwIAAAARREFwcF9BZG1pbl9SaWdodHMEAAAADE1pbmltdW1fZGF5cwAAAAAAAAAABwQAAAAMTWF4aW11bV9kYXlzAAAAAAAAAADIAwkBAAAAAiE9AAAAAgUAAAALYWRtaW5yaWdodHMFAAAADWNhbGxlcmFkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAIkkga25vdyBZb3UgYXJlIG5vdCBBbiBBZG1pbi4gT25seSAFAAAAC2FkbWlucmlnaHRzAgAAACEgaGFzIHJpZ2h0cyB0byBjaGFuZ2UgRGF5cyBSYW5nZS4DCQAAZgAAAAIFAAAADE1pbmltdW1fZGF5cwUAAAASTWluaW11bV9EYXlzX1JhbmdlCQAAAgAAAAECAAAAPE1pbmltdW0gZGF5cyByYW5nZSBtdXN0IGJlIG1vcmUgdGhhbiA2IGFuZCBpbiBiZXR3ZWVuIDctMjAwLgMJAABmAAAAAgUAAAASTWF4aW11bV9EYXlzX1JhbmdlBQAAAAxNYXhpbXVtX2RheXMJAAACAAAAAQIAAAAoTWF4aW11bSBkYXlzIHJhbmdlIGNhbid0IGV4Y2VlZCB0aGUgMjAwLgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASTWluaW11bV9EYXlzX1JhbmdlBQAAABJNaW5pbXVtX0RheXNfUmFuZ2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAEk1heGltdW1fRGF5c19SYW5nZQUAAAASTWF4aW11bV9EYXlzX1JhbmdlBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQWixu4=", "height": 2242995, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AHdaMetRytcFTtV1woAbXUsfeWEo51PpWvcXrwQ5HPW Next: 8AwB9SWCVRH4UQcgTE6gnC8sNRzfWCuptiLvdQKjaKpm Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let CODEAssetID = base58'ArPqXguhFLjJt5XwcNwhXMnCv2zSumrM19y5WgT34yRi'
4+let CODEAssetID = base58'EB4CUQH4fHzzQt9YjcHtA6T7uosHNH9RnQKHgBdZHPCB'
55
6-let StakingDapp = base58'C246qxhuyo9DBk1pjMzEQSVAWmiqYupG2swGkxTeAvLV'
6+let xUSDAssetID = base58'F3or3Nn6NTcSkRvzqtoCoyuCfdqNSuP8rjLboS2AemPL'
7+
8+let StakingDapp = base58'J3cAptAPQxVqpEz6Rch57JeKpbns48s1a6HoeQG9aX4J'
79
810 let TreasuryFeeAddress = base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR'
911
10-let devAddress = base58'8d4zGuTjT3h67Z4DatzMXdXXW1GvoQhMTjwCGFxJuene'
12+let StartHeight = 1850000
1113
12-let devFee = 1
14+let minimumlockdays = getIntegerValue(this, "Minimum_Days_Range")
1315
14-let TreasuryFee = 9
15-
16-let useramount = ((1000 - TreasuryFee) - devFee)
17-
18-let StartHeight = 1750000
19-
20-let minimumlockdays = 6
21-
22-let maximumlockdays = 7
16+let maximumlockdays = getIntegerValue(this, "Maximum_Days_Range")
2317
2418 let oneday = 1440
2519
10094 let fetchUserStakeAmt = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Deposit_Amount_Of_" + currentKey)), "Your Address not Found on Staking DApp")
10195 let FlatfeePercent = 500
10296 let FeesPercent = ((MaxFee - (fraction(fetchUserStakeAmt, 1000000, MaxA4AAmt) * 19)) / 10000)
97+ let ClaimFee = 51800000
98+ let pmt = value(i.payments[0])
10399 let checkdepositvalue = getIntegerValue(this, ("Deposit_Amount_Of_" + currentKey))
104100 let userFeeAmt = (((getIntegerValue(this, ("Rewards_Of_" + currentKey)) - checkdepositvalue) * FeesPercent) / 10000)
105101 let userFlatFeeAmt = (((getIntegerValue(this, ("Rewards_Of_" + currentKey)) - checkdepositvalue) * FlatfeePercent) / 10000)
127123 let fetchuserstakeheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Deposit_height_Of_" + currentKey)), "Your Address not Found on Staking DApp")
128124 let fetchusermatureheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Total_Lock_Blocks_Of_" + currentKey)), "Your Address not Found on Staking DApp")
129125 let gapofheight = (fetchusermatureheight - fetchuserstakeheight)
130- if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + currentKey)) > height))
131- 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."))
132- else if ((checkdepositvalue == 0))
133- then throw("You Have Already Withdraw your CODE Amount.")
134- else if ((gapofheight != 129600))
135- 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.")
136- else if ((fetchUserStakeAmt >= 1199999999999))
137- then [IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Total_CODE_Claimed:", totalrewardclaimed), IntegerEntry("Total_Issued_CODE:", TotalIssuedCODE), 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), userFlatFeeAmt, 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>")]
138- else [IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Total_CODE_Claimed:", totalrewardclaimed), IntegerEntry("Total_Issued_CODE:", TotalIssuedCODE), 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), userFeeAmt, 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>")]
126+ if ((pmt.assetId != xUSDAssetID))
127+ then throw((("Wrong Asset Attached for Payment, please Attach 0.518 xUSD (" + toBase58String(xUSDAssetID)) + ")"))
128+ else if ((pmt.amount != ClaimFee))
129+ then throw("Please Attach Exact 0.518 xUSD.")
130+ else if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + currentKey)) > height))
131+ 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."))
132+ else if ((checkdepositvalue == 0))
133+ then throw("You Have Already Withdraw your CODE Amount.")
134+ else if ((gapofheight != 129600))
135+ 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.")
136+ else if ((fetchUserStakeAmt >= 1199999999999))
137+ then [IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Total_CODE_Claimed:", totalrewardclaimed), IntegerEntry("Total_Issued_CODE:", TotalIssuedCODE), 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), userFlatFeeAmt, 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>")]
138+ else [IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Total_CODE_Claimed:", totalrewardclaimed), IntegerEntry("Total_Issued_CODE:", TotalIssuedCODE), 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), userFeeAmt, 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>")]
139+ }
140+
141+
142+
143+@Callable(i)
144+func SetDaysRange (Minimum_Days_Range,Maximum_Days_Range) = {
145+ let calleraddress = toBase58String(i.caller.bytes)
146+ let adminrights = getStringValue(this, "DApp_Admin_Rights")
147+ let Minimum_days = 7
148+ let Maximum_days = 200
149+ if ((adminrights != calleraddress))
150+ then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to change Days Range."))
151+ else if ((Minimum_days > Minimum_Days_Range))
152+ then throw("Minimum days range must be more than 6 and in between 7-200.")
153+ else if ((Maximum_Days_Range > Maximum_days))
154+ then throw("Maximum days range can't exceed the 200.")
155+ else [IntegerEntry("Minimum_Days_Range", Minimum_Days_Range), IntegerEntry("Maximum_Days_Range", Maximum_Days_Range)]
139156 }
140157
141158
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let CODEAssetID = base58'ArPqXguhFLjJt5XwcNwhXMnCv2zSumrM19y5WgT34yRi'
4+let CODEAssetID = base58'EB4CUQH4fHzzQt9YjcHtA6T7uosHNH9RnQKHgBdZHPCB'
55
6-let StakingDapp = base58'C246qxhuyo9DBk1pjMzEQSVAWmiqYupG2swGkxTeAvLV'
6+let xUSDAssetID = base58'F3or3Nn6NTcSkRvzqtoCoyuCfdqNSuP8rjLboS2AemPL'
7+
8+let StakingDapp = base58'J3cAptAPQxVqpEz6Rch57JeKpbns48s1a6HoeQG9aX4J'
79
810 let TreasuryFeeAddress = base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR'
911
10-let devAddress = base58'8d4zGuTjT3h67Z4DatzMXdXXW1GvoQhMTjwCGFxJuene'
12+let StartHeight = 1850000
1113
12-let devFee = 1
14+let minimumlockdays = getIntegerValue(this, "Minimum_Days_Range")
1315
14-let TreasuryFee = 9
15-
16-let useramount = ((1000 - TreasuryFee) - devFee)
17-
18-let StartHeight = 1750000
19-
20-let minimumlockdays = 6
21-
22-let maximumlockdays = 7
16+let maximumlockdays = getIntegerValue(this, "Maximum_Days_Range")
2317
2418 let oneday = 1440
2519
2620 let blockdiff = (height - StartHeight)
2721
2822 let InflationNo = (fraction(10000000000, 1, blockdiff) + 6000)
2923
3024 @Callable(i)
3125 func Deposit (days) = {
3226 let pmt = if ((size(i.payments) == 1))
3327 then i.payments[0]
3428 else throw((("No Payments Attached Please Attach " + toBase58String(CODEAssetID)) + " Asset Only."))
3529 let currentKey = toBase58String(i.caller.bytes)
3630 let UserClaimAmount = ((((InflationNo * pmt.amount) * days) / 365) / 1000)
3731 let allowdedpymt = (blockdiff * 100000)
3832 let actualblocks = (oneday * days)
3933 let totallockblocks = (height + actualblocks)
4034 let PreviousTxnsCODE = match getIntegerValue(this, "Total_Txns:") {
4135 case a: Int =>
4236 a
4337 case _ =>
4438 0
4539 }
4640 let TotalTxnsCODE = (PreviousTxnsCODE + 1)
4741 let PreviousBurnedCODE = match getInteger(this, "Total_Burned_CODE:") {
4842 case a: Int =>
4943 a
5044 case _ =>
5145 0
5246 }
5347 let TotalBurnedCODE = (PreviousBurnedCODE + pmt.amount)
5448 let fetchuserstakeheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Deposit_height_Of_" + currentKey)), "Your Address not Found on Staking DApp")
5549 let fetchusermatureheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Total_Lock_Blocks_Of_" + currentKey)), "Your Address not Found on Staking DApp")
5650 let gapofheight = (fetchusermatureheight - fetchuserstakeheight)
5751 let currentCODEAmount = match getInteger(this, ("Deposit_Amount_Of_" + currentKey)) {
5852 case a: Int =>
5953 a
6054 case _ =>
6155 0
6256 }
6357 let newCODEAmount = (currentCODEAmount + pmt.amount)
6458 let UserNoOfDeposits = match getInteger(this, ("No_Of_Deposits_" + currentKey)) {
6559 case a: Int =>
6660 a
6761 case _ =>
6862 0
6963 }
7064 let SumpupofUserNoOfDeposits = (UserNoOfDeposits + 1)
7165 if ((StartHeight > height))
7266 then throw((("DApp is Not Started Yet please Wait until " + toString((StartHeight - height))) + " blocks"))
7367 else if ((pmt.assetId != CODEAssetID))
7468 then throw((("Incorrect asset attached, please attach " + toBase58String(CODEAssetID)) + " asset only"))
7569 else if ((minimumlockdays >= days))
7670 then throw(((("Choose Locking days in between " + toString((minimumlockdays + 1))) + " to ") + toString(maximumlockdays)))
7771 else if ((days > maximumlockdays))
7872 then throw(((((("You Entered days to " + toString(days)) + ", Please Enter no. of days in between ") + toString((minimumlockdays + 1))) + " to ") + toString(maximumlockdays)))
7973 else if ((100000 > pmt.amount))
8074 then throw("Please Attach minimum 0.001 CODE Token To Issue More CODE Asset.")
8175 else if ((pmt.amount > allowdedpymt))
8276 then throw((("You can attach maximum " + toString(allowdedpymt)) + "/10^8 CODE."))
8377 else if ((pmt.amount > UserClaimAmount))
8478 then throw((((("Your Stake Output is lower than input, please increase no. of days (" + toString(UserClaimAmount)) + "/") + toString(pmt.amount)) + ")/10^8 CODE."))
8579 else if ((gapofheight != 129600))
8680 then throw("You are Not Eligible to Mint CODE. It need minimum 90 Days Staking.")
8781 else if ((UserNoOfDeposits == 1))
8882 then throw("You Already Have an Active Staking, Please Wait until Mature.")
8983 else [Burn(CODEAssetID, pmt.amount), IntegerEntry("Total_Burned_CODE:", TotalBurnedCODE), IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Inflation", InflationNo), IntegerEntry("Block_Passed", blockdiff), IntegerEntry(("No_Of_Deposits_" + currentKey), SumpupofUserNoOfDeposits), IntegerEntry(("Deposit_height_Of_" + currentKey), height), IntegerEntry(("Total_Lock_Blocks_Of_" + currentKey), totallockblocks), IntegerEntry(("Deposit_Amount_Of_" + currentKey), newCODEAmount), IntegerEntry(("Rewards_Of_" + currentKey), UserClaimAmount), StringEntry("message", "<h1>CODE Staked Successfully!</h1><br>")]
9084 }
9185
9286
9387
9488 @Callable(i)
9589 func Withdraw () = {
9690 let currentKey = toBase58String(i.caller.bytes)
9791 let MaxA4AAmt = 1200000000000
9892 let MaxFee = 24000000
9993 let divisiblefactor = 19
10094 let fetchUserStakeAmt = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Deposit_Amount_Of_" + currentKey)), "Your Address not Found on Staking DApp")
10195 let FlatfeePercent = 500
10296 let FeesPercent = ((MaxFee - (fraction(fetchUserStakeAmt, 1000000, MaxA4AAmt) * 19)) / 10000)
97+ let ClaimFee = 51800000
98+ let pmt = value(i.payments[0])
10399 let checkdepositvalue = getIntegerValue(this, ("Deposit_Amount_Of_" + currentKey))
104100 let userFeeAmt = (((getIntegerValue(this, ("Rewards_Of_" + currentKey)) - checkdepositvalue) * FeesPercent) / 10000)
105101 let userFlatFeeAmt = (((getIntegerValue(this, ("Rewards_Of_" + currentKey)) - checkdepositvalue) * FlatfeePercent) / 10000)
106102 let PreviousTxnsCODE = match getIntegerValue(this, "Total_Txns:") {
107103 case a: Int =>
108104 a
109105 case _ =>
110106 0
111107 }
112108 let TotalTxnsCODE = (PreviousTxnsCODE + 1)
113109 let fetchRewardData = match getIntegerValue(this, "Total_CODE_Claimed:") {
114110 case a: Int =>
115111 a
116112 case _ =>
117113 0
118114 }
119115 let totalrewardclaimed = (fetchRewardData + getIntegerValue(this, ("Rewards_Of_" + currentKey)))
120116 let PreviousIssuedCODE = match getIntegerValue(this, "Total_Issued_CODE:") {
121117 case a: Int =>
122118 a
123119 case _ =>
124120 0
125121 }
126122 let TotalIssuedCODE = (PreviousIssuedCODE + getIntegerValue(this, ("Rewards_Of_" + currentKey)))
127123 let fetchuserstakeheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Deposit_height_Of_" + currentKey)), "Your Address not Found on Staking DApp")
128124 let fetchusermatureheight = valueOrErrorMessage(getInteger(addressFromPublicKey(StakingDapp), ("Total_Lock_Blocks_Of_" + currentKey)), "Your Address not Found on Staking DApp")
129125 let gapofheight = (fetchusermatureheight - fetchuserstakeheight)
130- if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + currentKey)) > height))
131- 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."))
132- else if ((checkdepositvalue == 0))
133- then throw("You Have Already Withdraw your CODE Amount.")
134- else if ((gapofheight != 129600))
135- 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.")
136- else if ((fetchUserStakeAmt >= 1199999999999))
137- then [IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Total_CODE_Claimed:", totalrewardclaimed), IntegerEntry("Total_Issued_CODE:", TotalIssuedCODE), 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), userFlatFeeAmt, 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>")]
138- else [IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Total_CODE_Claimed:", totalrewardclaimed), IntegerEntry("Total_Issued_CODE:", TotalIssuedCODE), 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), userFeeAmt, 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>")]
126+ if ((pmt.assetId != xUSDAssetID))
127+ then throw((("Wrong Asset Attached for Payment, please Attach 0.518 xUSD (" + toBase58String(xUSDAssetID)) + ")"))
128+ else if ((pmt.amount != ClaimFee))
129+ then throw("Please Attach Exact 0.518 xUSD.")
130+ else if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + currentKey)) > height))
131+ 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."))
132+ else if ((checkdepositvalue == 0))
133+ then throw("You Have Already Withdraw your CODE Amount.")
134+ else if ((gapofheight != 129600))
135+ 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.")
136+ else if ((fetchUserStakeAmt >= 1199999999999))
137+ then [IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Total_CODE_Claimed:", totalrewardclaimed), IntegerEntry("Total_Issued_CODE:", TotalIssuedCODE), 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), userFlatFeeAmt, 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>")]
138+ else [IntegerEntry("Total_Txns:", TotalTxnsCODE), IntegerEntry("Total_CODE_Claimed:", totalrewardclaimed), IntegerEntry("Total_Issued_CODE:", TotalIssuedCODE), 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), userFeeAmt, 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>")]
139+ }
140+
141+
142+
143+@Callable(i)
144+func SetDaysRange (Minimum_Days_Range,Maximum_Days_Range) = {
145+ let calleraddress = toBase58String(i.caller.bytes)
146+ let adminrights = getStringValue(this, "DApp_Admin_Rights")
147+ let Minimum_days = 7
148+ let Maximum_days = 200
149+ if ((adminrights != calleraddress))
150+ then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to change Days Range."))
151+ else if ((Minimum_days > Minimum_Days_Range))
152+ then throw("Minimum days range must be more than 6 and in between 7-200.")
153+ else if ((Maximum_Days_Range > Maximum_days))
154+ then throw("Maximum days range can't exceed the 200.")
155+ else [IntegerEntry("Minimum_Days_Range", Minimum_Days_Range), IntegerEntry("Maximum_Days_Range", Maximum_Days_Range)]
139156 }
140157
141158
142159 @Verifier(tx)
143160 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
144161

github/deemru/w8io/169f3d6 
39.21 ms