tx · 3ijRv9XDvuhv2GRfzC4e6ndBWGqAiihDBHvGo3DEtBLF

3Mpv5ddvvBDKQN6pHsHZ6Jy74wb3J1vmHrw:  -0.02000000 Waves

2023.08.20 09:31 [2718580] smart account 3Mpv5ddvvBDKQN6pHsHZ6Jy74wb3J1vmHrw > SELF 0.00000000 Waves

{ "type": 13, "id": "3ijRv9XDvuhv2GRfzC4e6ndBWGqAiihDBHvGo3DEtBLF", "fee": 2000000, "feeAssetId": null, "timestamp": 1692513124035, "version": 2, "chainId": 84, "sender": "3Mpv5ddvvBDKQN6pHsHZ6Jy74wb3J1vmHrw", "senderPublicKey": "Apv79thF7LfxCEFRESoEAeqHQnhmt45geC8enb3ukDX", "proofs": [ "2g2ewyr2ED6o23zYQNzyUiFz3bcggWRdj3Mpn6bwUXFMJZYU9o1Uiugcui9KMpAWtBKhWiFuZLEkgvyA6REzVin6" ], "script": "base64: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b2NrYmxvY2tzCQAAZAAAAAIFAAAABmhlaWdodAUAAAAMYWN0dWFsYmxvY2tzBAAAAA5tYXhfcmVjZWl2YWJsZQkAAGsAAAADBQAAAA9tYXhpbXVtbG9ja2RheXMJAABoAAAAAgUAAAAMYWxsb3dkZWRweW10BQAAAAtJbmZsYXRpb25ObwkAAGgAAAACAAAAAAAAAAFtAAAAAAAAAAPoBAAAAAtCdXJuX2ZhY3RvcgkAAGsAAAADBQAAAA5tYXhfcmVjZWl2YWJsZQAAAAAAAA9CQAUAAAAMYWxsb3dkZWRweW10BAAAABBQcmV2aW91c1R4bnNDT0RFBAAAAAckbWF0Y2gwCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAAtUb3RhbF9UeG5zOgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAA1Ub3RhbFR4bnNDT0RFCQAAZAAAAAIFAAAAEFByZXZpb3VzVHhuc0NPREUAAAAAAAAAAAEEAAAAElByZXZpb3VzQnVybmVkQ09ERQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAABJUb3RhbF9CdXJuZWRfQ09ERToDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAPVG90YWxCdXJuZWRDT0RFCQAAZAAAAAIFAAAAElByZXZpb3VzQnVybmVkQ09ERQgFAAAAA3BtdAAAAAZhbW91bnQEAAAAFGZldGNodXNlcnN0YWtlaGVpZ2h0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAALU3Rha2luZ0RhcHAJAAEsAAAAAgIAAAASRGVwb3NpdF9oZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5AgAAACZZb3VyIEFkZHJlc3Mgbm90IEZvdW5kIG9uIFN0YWtpbmcgREFwcAQAAAAVZmV0Y2h1c2VybWF0dXJlaGVpZ2h0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAALU3Rha2luZ0RhcHAJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5AgAAACZZb3VyIEFkZHJlc3Mgbm90IEZvdW5kIG9uIFN0YWtpbmcgREFwcAQAAAALZ2Fwb2ZoZWlnaHQJAABlAAAAAgUAAAAVZmV0Y2h1c2VybWF0dXJlaGVpZ2h0BQAAABRmZXRjaHVzZXJzdGFrZWhlaWdodAQAAAATY2hlY2tMaWNlbnNlQmFsYW5jZQkAA/AAAAACCQEAAAAHQWRkcmVzcwAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMFAAAAEkNPREVMSUNFTlNFQXNzZXRJRAQAAAARY3VycmVudENPREVBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABJEZXBvc2l0X0Ftb3VudF9PZl8FAAAACmN1cnJlbnRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAANbmV3Q09ERUFtb3VudAkAAGQAAAACBQAAABFjdXJyZW50Q09ERUFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQEAAAAEFVzZXJOb09mRGVwb3NpdHMEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAA9Ob19PZl9EZXBvc2l0c18FAAAACmN1cnJlbnRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAYU3VtcHVwb2ZVc2VyTm9PZkRlcG9zaXRzCQAAZAAAAAIFAAAAEFVzZXJOb09mRGVwb3NpdHMAAAAAAAAAAAEEAAAAEUV4cGFuc2lvbl9Db3VudGVyBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAEUV4cGFuc2lvbl9Db3VudGVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFE5l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AQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAtCdXJuX0ZhY3RvcgUAAAALQnVybl9mYWN0b3IJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAPTm9fT2ZfRGVwb3NpdHNfBQAAAApjdXJyZW50S2V5BQAAABhTdW1wdXBvZlVzZXJOb09mRGVwb3NpdHMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9oZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAZoZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5BQAAAA90b3RhbGxvY2tibG9ja3MJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9BbW91bnRfT2ZfBQAAAApjdXJyZW50S2V5BQAAAA1uZXdDT0RFQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5BQAAAA9Vc2VyQ2xhaW1BbW91bnQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQIAAAAmPGgxPkNPREUgU3Rha2VkIFN1Y2Nlc3NmdWxseSE8L2gxPjxicj4FAAAAA25pbAAAAAFpAQAAAAhXaXRoZHJhdwAAAAAEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAJTWF4QTRBQW10AAAAARdlkuAABAAAAAZNYXhGZWUAAAAAAAFuNgAEAAAAD2RpdmlzaWJsZWZhY3RvcgAAAAAAAAAAEwQAAAARZmV0Y2hVc2VyU3Rha2VBbXQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAtTdGFraW5nRGFwcAkAASwAAAACAgAAABJEZXBvc2l0X0Ftb3VudF9PZl8FAAAACmN1cnJlbnRLZXkCAAAAJllvdXIgQWRkcmVzcyBub3QgRm91bmQgb24gU3Rha2luZyBEQXBwBAAAAA5GbGF0ZmVlUGVyY2VudAAAAAAAAAAB9AQAAAALRmVlc1BlcmNlbnQJAABpAAAAAgkAAGUAAAACBQAAAAZNYXhGZWUJAABoAAAAAgkAAGsAAAADBQAAABFmZXRjaFVzZXJTdGFrZUFtdAAAAAAAAA9CQAUAAAAJTWF4QTRBQW10AAAAAAAAAAATAAAAAAAAACcQBAAAAAhDbGFpbUZlZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAJQ2xhaW1fRmVlBAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAAEWNoZWNrZGVwb3NpdHZhbHVlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAEkRlcG9zaXRfQW1vdW50X09mXwUAAAAKY3VycmVudEtleQQAAAAKdXNlckZlZUFtdAkAAGkAAAACCQAAaAAAAAIJAABlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQUAAAARY2hlY2tkZXBvc2l0dmFsdWUFAAAAC0ZlZXNQZXJjZW50AAAAAAAAACcQBAAAAA51c2VyRmxhdEZlZUFtdAkAAGkAAAACCQAAaAAAAAIJAABlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQUAAAARY2hlY2tkZXBvc2l0dmFsdWUFAAAADkZsYXRmZWVQZXJjZW50AAAAAAAAACcQBAAAABBQcmV2aW91c1R4bnNDT0RFBAAAAAckbWF0Y2gwCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAAtUb3RhbF9UeG5zOgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAA1Ub3RhbFR4bnNDT0RFCQAAZAAAAAIFAAAAEFByZXZpb3VzVHhuc0NPREUAAAAAAAAAAAEEAAAAD2ZldGNoUmV3YXJkRGF0YQQAAAAHJG1hdGNoMAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAATVG90YWxfQ09ERV9DbGFpbWVkOgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABJ0b3RhbHJld2FyZGNsYWltZWQJAABkAAAAAgUAAAAPZmV0Y2hSZXdhcmREYXRhCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5BAAAABJQcmV2aW91c0lzc3VlZENPREUEAAAAByRtYXRjaDAJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAElRvdGFsX0lzc3VlZF9DT0RFOgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAA9Ub3RhbElzc3VlZENPREUJAABkAAAAAgUAAAASUHJldmlvdXNJc3N1ZWRDT0RFCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5BAAAABRQcmV2aW91c0NsYWltRmVlSW5UTgQAAAAHJG1hdGNoMAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAVVG90YWxfQ2xhaW1fRmVlX0luX1ROAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAEVRvdGFsQ2xhaW1GZWVJblROCQAAZAAAAAIFAAAAFFByZXZpb3VzQ2xhaW1GZWVJblROBQAAAAhDbGFpbUZlZQQAAAAUZmV0Y2h1c2Vyc3Rha2VoZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAtTdGFraW5nRGFwcAkAASwAAAACAgAAABJEZXBvc2l0X2hlaWdodF9PZl8FAAAACmN1cnJlbnRLZXkCAAAAJllvdXIgQWRkcmVzcyBub3QgRm91bmQgb24gU3Rha2luZyBEQXBwBAAAABVmZXRjaHVzZXJtYXR1cmVoZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAtTdGFraW5nRGFwcAkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkCAAAAJllvdXIgQWRkcmVzcyBub3QgRm91bmQgb24gU3Rha2luZyBEQXBwBAAAAAtnYXBvZmhlaWdodAkAAGUAAAACBQAAABVmZXRjaHVzZXJtYXR1cmVoZWlnaHQFAAAAFGZldGNodXNlcnN0YWtlaGVpZ2h0AwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAwV3JvbmcgQXNzZXQgQXR0YWNoZWQgZm9yIFBheW1lbnQsIHBsZWFzZSBBdHRhY2ggCQABpAAAAAEFAAAACENsYWltRmVlAgAAAAkvMTBeOCBUTi4DCQEAAAACIT0AAAACCAUAAAADcG10AAAABmFtb3VudAUAAAAIQ2xhaW1GZWUJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAFFBsZWFzZSBBdHRhY2ggRXhhY3QgCQABpAAAAAEFAAAACENsYWltRmVlAgAAAAkvMTBeOCBUTi4DCQAAZgAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAZoZWlnaHQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAVZb3VyIAkAAaQAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5AgAAADwvMTBeOCBDT0RFIGFyZSBTdGlsbCBNYXR1cmluZy4gVG9rZW4gd2lsbCBiZSBVbmxvY2tlZCBhZnRlciAJAAGkAAAAAQkAAGUAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQUAAAAGaGVpZ2h0AgAAAAggYmxvY2tzLgMJAAAAAAAAAgUAAAARY2hlY2tkZXBvc2l0dmFsdWUAAAAAAAAAAAAJAAACAAAAAQIAAAArWW91IEhhdmUgQWxyZWFkeSBXaXRoZHJhdyB5b3VyIENPREUgQW1vdW50LgMJAQAAAAIhPQAAAAIFAAAAC2dhcG9maGVpZ2h0AAAAAAAAAfpACQAAAgAAAAECAAAAvFlvdSBhcmUgTm90IEVsaWdpYmxlIHRvIFdpdGhkcmF3IENPREUuIEl0IG5lZWQgbWluaW11bSA5MCBEYXlzIFN0YWtpbmcgYXQgQTRBIERBcHAuIFByb2JhYmx5IHlvdSBhbHJlYWR5IGhhdmUgQ2xhaW1lZCBZb3VyIFN0YWtlIG9yIHlvdSBPdmVyd3JpdGUgdGhlIFNtYXJ0IENvbnRyYWN0IHdpdGggbGVzcyB0aGFuIDkwIGRheXMuAwkAAGcAAAACBQAAABFmZXRjaFVzZXJTdGFrZUFtdAAAAAEXZZLf/wkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAALVG90YWxfVHhuczoFAAAADVRvdGFsVHhuc0NPREUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAE1RvdGFsX0NPREVfQ2xhaW1lZDoFAAAAEnRvdGFscmV3YXJkY2xhaW1lZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASVG90YWxfSXNzdWVkX0NPREU6BQAAAA9Ub3RhbElzc3VlZENPREUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAFVRvdGFsX0NsYWltX0ZlZV9Jbl9UTgUAAAARVG90YWxDbGFpbUZlZUluVE4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADEZlZV8lX0NoYXJnZQUAAAAORmxhdGZlZVBlcmNlbnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAACkZlZV9BbW91bnQFAAAADnVzZXJGbGF0RmVlQW10CQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwUAAAALQ09ERUFzc2V0SUQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgkAAGUAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5BQAAAA51c2VyRmxhdEZlZUFtdAUAAAALQ09ERUFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAASVHJlYXN1cnlGZWVBZGRyZXNzCQAAawAAAAMFAAAADnVzZXJGbGF0RmVlQW10AAAAAAAAAABQAAAAAAAAAABkBQAAAAtDT0RFQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAApkZXZhZGRyZXNzCQAAawAAAAMFAAAADnVzZXJGbGF0RmVlQW10BQAAAAxkZXZmZWVjaGFyZWQAAAAAAAAAAGQFAAAAC0NPREVBc3NldElECQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAD05vX09mX0RlcG9zaXRzXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJEZXBvc2l0X2hlaWdodF9PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEkRlcG9zaXRfQW1vdW50X09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlAgAAACg8aDE+Q09ERSBVblN0YWtlZCBTdWNjZXNzZnVsbHkhPC9oMT48YnI+BQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAC1RvdGFsX1R4bnM6BQAAAA1Ub3RhbFR4bnNDT0RFCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABNUb3RhbF9DT0RFX0NsYWltZWQ6BQAAABJ0b3RhbHJld2FyZGNsYWltZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAElRvdGFsX0lzc3VlZF9DT0RFOgUAAAAPVG90YWxJc3N1ZWRDT0RFCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABVUb3RhbF9DbGFpbV9GZWVfSW5fVE4FAAAAEVRvdGFsQ2xhaW1GZWVJblROCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAxGZWVfJV9DaGFyZ2UFAAAAC0ZlZXNQZXJjZW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAApGZWVfQW1vdW50BQAAAAp1c2VyRmVlQW10CQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwUAAAALQ09ERUFzc2V0SUQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxl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", "height": 2718580, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8hkaJXqW4HiXiy7sZPT9pwHyASgLN68F8ZKMGQfvMPCU Next: 81d5XvRMHgmvbXRGzx1LnfaMw25tBNYF2yFZqX9WH5CM Diff:
OldNewDifferences
55
66 let b = "3JtuUwtQjEXSjERerVhx7ZmfXPPKLnSD332"
77
8-let c = base58'EB4CUQH4fHzzQt9YjcHtA6T7uosHNH9RnQKHgBdZHPCB'
8+let c = base58'EzwaF58ssALcUCZ9FbyeD1GTSteoZAQZEDTqBAXHfq8y'
99
10-let d = base58'H3MZcnjakUsXycTbuR1BtZbyXj8C4RAPgdoeoTMGczjX'
10+let d = base58'8hdsVCxPBVEmVUZyyX8Sd98Z9hU7Fny26W96sjKiTw8g'
1111
12-let e = base58'J3cAptAPQxVqpEz6Rch57JeKpbns48s1a6HoeQG9aX4J'
12+let e = base58'skZN4EKZR4SqCL49ds2n1f5pbd4CmnWcrcH7xgCdsrb'
1313
14-let f = base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR'
14+let f = base58'5bXgvADuVoFdhtF5uKZAEiVdAo7ZCWw151L4yyf1PiES'
1515
16-let g = base58'8d4zGuTjT3h67Z4DatzMXdXXW1GvoQhMTjwCGFxJuene'
16+let g = base58'DYv8LXPqdm9N6xTdnfqrHzH9RMTnXLnfkYHffauHNc7o'
1717
18-let h = 20
18+let h = base58'8bCMVBqaUUDJGtpKZPERH5qE8KMay292DPCEkqEhuWT'
1919
20-let i = 1850000
20+let i = base58'CFS24Rd5VmayXgJRCaGq1CfrQY9aRNbQEMFcM8r6vsUZ'
2121
22-let j = getIntegerValue(this, "Minimum_Days_Range")
22+let j = addressFromPublicKey(i)
2323
24-let k = getIntegerValue(this, "Maximum_Days_Range")
24+let k = base58'EB4CUQH4fHzzQt9YjcHtA6T7uosHNH9RnQKHgBdZHPCB'
2525
26-let l = 100000
26+let l = base58'H3MZcnjakUsXycTbuR1BtZbyXj8C4RAPgdoeoTMGczjX'
2727
28-let m = 1000000
28+let m = base58'J3cAptAPQxVqpEz6Rch57JeKpbns48s1a6HoeQG9aX4J'
2929
30-let n = 1440
30+let n = base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR'
3131
32-let o = (height - i)
32+let o = base58'8d4zGuTjT3h67Z4DatzMXdXXW1GvoQhMTjwCGFxJuene'
3333
34-let p = (fraction(10000000000, 1, o) + 6000)
34+let p = 20
3535
36-@Callable(q)
37-func Deposit (r) = {
38- let s = if ((size(q.payments) == 1))
39- then q.payments[0]
40- else throw((("No Payments Attached Please Attach " + toBase58String(c)) + " Asset Only."))
41- let t = toBase58String(q.caller.bytes)
42- let u = ((((p * s.amount) * r) / 365) / 1000)
43- let v = (o * 100000)
44- let w = (n * r)
45- let x = (height + w)
46- let y = fraction(k, (v * p), (365 * 1000))
47- let z = fraction(y, 1000000, v)
48- let A = {
49- let B = getIntegerValue(this, "Total_Txns:")
50- if ($isInstanceOf(B, "Int"))
36+let q = 1850000
37+
38+let r = getIntegerValue(this, "Minimum_Days_Range")
39+
40+let s = getIntegerValue(this, "Maximum_Days_Range")
41+
42+let t = 100000
43+
44+let u = 1000000
45+
46+let v = 1440
47+
48+let w = (height - q)
49+
50+let x = (fraction(10000000000, 1, w) + 6000)
51+
52+@Callable(y)
53+func Deposit (z) = {
54+ let A = if ((size(y.payments) == 1))
55+ then y.payments[0]
56+ else throw((("No Payments Attached Please Attach " + toBase58String(k)) + " Asset Only."))
57+ let B = toBase58String(y.caller.bytes)
58+ let C = ((((x * A.amount) * z) / 365) / 1000)
59+ let D = (w * 100000)
60+ let E = (v * z)
61+ let F = (height + E)
62+ let G = fraction(s, (D * x), (365 * 1000))
63+ let H = fraction(G, 1000000, D)
64+ let I = {
65+ let J = getIntegerValue(this, "Total_Txns:")
66+ if ($isInstanceOf(J, "Int"))
5167 then {
52- let C = B
53- C
68+ let K = J
69+ K
5470 }
5571 else 0
5672 }
57- let D = (A + 1)
58- let E = {
59- let B = getInteger(this, "Total_Burned_CODE:")
60- if ($isInstanceOf(B, "Int"))
73+ let L = (I + 1)
74+ let M = {
75+ let J = getInteger(this, "Total_Burned_CODE:")
76+ if ($isInstanceOf(J, "Int"))
6177 then {
62- let C = B
63- C
78+ let K = J
79+ K
6480 }
6581 else 0
6682 }
67- let F = (E + s.amount)
68- let G = valueOrErrorMessage(getInteger(addressFromPublicKey(e), ("Deposit_height_Of_" + t)), "Your Address not Found on Staking DApp")
69- let H = valueOrErrorMessage(getInteger(addressFromPublicKey(e), ("Total_Lock_Blocks_Of_" + t)), "Your Address not Found on Staking DApp")
70- let I = (H - G)
71- let J = assetBalance(Address(q.caller.bytes), d)
72- let K = {
73- let B = getInteger(this, ("Deposit_Amount_Of_" + t))
74- if ($isInstanceOf(B, "Int"))
83+ let N = (M + A.amount)
84+ let O = valueOrErrorMessage(getInteger(addressFromPublicKey(m), ("Deposit_height_Of_" + B)), "Your Address not Found on Staking DApp")
85+ let P = valueOrErrorMessage(getInteger(addressFromPublicKey(m), ("Total_Lock_Blocks_Of_" + B)), "Your Address not Found on Staking DApp")
86+ let Q = (P - O)
87+ let R = assetBalance(Address(y.caller.bytes), l)
88+ let S = {
89+ let J = getInteger(this, ("Deposit_Amount_Of_" + B))
90+ if ($isInstanceOf(J, "Int"))
7591 then {
76- let C = B
77- C
92+ let K = J
93+ K
7894 }
7995 else 0
8096 }
81- let L = (K + s.amount)
82- let M = {
83- let B = getInteger(this, ("No_Of_Deposits_" + t))
84- if ($isInstanceOf(B, "Int"))
97+ let T = (S + A.amount)
98+ let U = {
99+ let J = getInteger(this, ("No_Of_Deposits_" + B))
100+ if ($isInstanceOf(J, "Int"))
85101 then {
86- let C = B
87- C
102+ let K = J
103+ K
88104 }
89105 else 0
90106 }
91- let N = (M + 1)
92- let O = {
93- let B = getInteger(this, "Expansion_Counter")
94- if ($isInstanceOf(B, "Int"))
107+ let V = (U + 1)
108+ let W = {
109+ let J = getInteger(this, "Expansion_Counter")
110+ if ($isInstanceOf(J, "Int"))
95111 then {
96- let C = B
97- C
112+ let K = J
113+ K
98114 }
99115 else 0
100116 }
101- let P = (O + 1)
102- if ((J != 1))
117+ let X = (W + 1)
118+ if ((R != 1))
103119 then throw("You Need to Mint a CODE License from DApp Address 3JeqfvcGZxJbuSpCB5cFhV2Bb8fdV4WzZzZ.")
104- else if ((J > 1))
120+ else if ((R > 1))
105121 then throw("You Own Multiple CODE License on Same Address.")
106- else if ((i > height))
107- then throw((("DApp is Not Started Yet please Wait until " + toString((i - height))) + " blocks"))
108- else if ((s.assetId != c))
109- then throw((("Incorrect asset attached, please attach " + toBase58String(c)) + " asset only"))
110- else if ((j >= r))
111- then throw(((("Choose Locking days in between " + toString((j + 1))) + " to ") + toString(k)))
112- else if ((r > k))
113- then throw(((((("You Entered days to " + toString(r)) + ", Please Enter no. of days in between ") + toString((j + 1))) + " to ") + toString(k)))
114- else if ((l > s.amount))
122+ else if ((q > height))
123+ then throw((("DApp is Not Started Yet please Wait until " + toString((q - height))) + " blocks"))
124+ else if ((A.assetId != k))
125+ then throw((("Incorrect asset attached, please attach " + toBase58String(k)) + " asset only"))
126+ else if ((r >= z))
127+ then throw(((("Choose Locking days in between " + toString((r + 1))) + " to ") + toString(s)))
128+ else if ((z > s))
129+ then throw(((((("You Entered days to " + toString(z)) + ", Please Enter no. of days in between ") + toString((r + 1))) + " to ") + toString(s)))
130+ else if ((t > A.amount))
115131 then throw("Please Attach minimum 0.001 CODE Token To Issue More CODE Asset.")
116- else if ((s.amount > v))
117- then throw((("You can attach maximum " + toString(v)) + "/10^8 CODE."))
118- else if ((I != 129600))
132+ else if ((A.amount > D))
133+ then throw((("You can attach maximum " + toString(D)) + "/10^8 CODE."))
134+ else if ((Q != 129600))
119135 then throw("You are Not Eligible to Mint CODE. It need minimum 90 Days Staking.")
120- else if ((M == 1))
136+ else if ((U == 1))
121137 then throw("You Already Have an Active Staking, Please Wait until Mature.")
122- else if ((m > z))
123- then [StringEntry("Version", a), IntegerEntry("Expansion_Counter", P), StringEntry(((toString(P) + "_Expansion_Updator_") + toString(height)), t), StringEntry("message", (((("New Days Range Expended from " + toString(k)) + " To ") + toString((k + 1))) + " Days. Please Restake CODE.")), IntegerEntry("Maximum_Days_Range", (k + 1)), IntegerEntry("Minimum_Days_Range", (j + 1)), ScriptTransfer(q.caller, s.amount, c)]
124- else [Burn(c, s.amount), IntegerEntry("Total_Burned_CODE:", F), IntegerEntry("Total_Txns:", D), IntegerEntry("Inflation", p), IntegerEntry("Block_Passed", o), IntegerEntry("Burn_Factor", z), IntegerEntry(("No_Of_Deposits_" + t), N), IntegerEntry(("Deposit_height_Of_" + t), height), IntegerEntry(("Total_Lock_Blocks_Of_" + t), x), IntegerEntry(("Deposit_Amount_Of_" + t), L), IntegerEntry(("Rewards_Of_" + t), u), StringEntry("message", "<h1>CODE Staked Successfully!</h1><br>")]
138+ else if ((u > H))
139+ then [StringEntry("Version", a), IntegerEntry("Expansion_Counter", X), StringEntry(((toString(X) + "_Expansion_Updator_") + toString(height)), B), StringEntry("message", (((("New Days Range Expended from " + toString(s)) + " To ") + toString((s + 1))) + " Days. Please Restake CODE.")), IntegerEntry("Maximum_Days_Range", (s + 1)), IntegerEntry("Minimum_Days_Range", (r + 1)), ScriptTransfer(y.caller, A.amount, k)]
140+ else [Burn(k, A.amount), IntegerEntry("Total_Burned_CODE:", N), IntegerEntry("Total_Txns:", L), IntegerEntry("Inflation", x), IntegerEntry("Block_Passed", w), IntegerEntry("Burn_Factor", H), IntegerEntry(("No_Of_Deposits_" + B), V), IntegerEntry(("Deposit_height_Of_" + B), height), IntegerEntry(("Total_Lock_Blocks_Of_" + B), F), IntegerEntry(("Deposit_Amount_Of_" + B), T), IntegerEntry(("Rewards_Of_" + B), C), StringEntry("message", "<h1>CODE Staked Successfully!</h1><br>")]
125141 }
126142
127143
128144
129-@Callable(q)
145+@Callable(y)
130146 func Withdraw () = {
131- let t = toBase58String(q.caller.bytes)
132- let Q = 1200000000000
133- let R = 24000000
134- let S = 19
135- let T = valueOrErrorMessage(getInteger(addressFromPublicKey(e), ("Deposit_Amount_Of_" + t)), "Your Address not Found on Staking DApp")
136- let U = 500
137- let V = ((R - (fraction(T, 1000000, Q) * 19)) / 10000)
138- let W = getIntegerValue(this, "Claim_Fee")
139- let s = value(q.payments[0])
140- let X = getIntegerValue(this, ("Deposit_Amount_Of_" + t))
141- let Y = (((getIntegerValue(this, ("Rewards_Of_" + t)) - X) * V) / 10000)
142- let Z = (((getIntegerValue(this, ("Rewards_Of_" + t)) - X) * U) / 10000)
143- let A = {
144- let B = getIntegerValue(this, "Total_Txns:")
145- if ($isInstanceOf(B, "Int"))
147+ let B = toBase58String(y.caller.bytes)
148+ let Y = 1200000000000
149+ let Z = 24000000
150+ let aa = 19
151+ let ab = valueOrErrorMessage(getInteger(addressFromPublicKey(m), ("Deposit_Amount_Of_" + B)), "Your Address not Found on Staking DApp")
152+ let ac = 500
153+ let ad = ((Z - (fraction(ab, 1000000, Y) * 19)) / 10000)
154+ let ae = getIntegerValue(this, "Claim_Fee")
155+ let A = value(y.payments[0])
156+ let af = getIntegerValue(this, ("Deposit_Amount_Of_" + B))
157+ let ag = (((getIntegerValue(this, ("Rewards_Of_" + B)) - af) * ad) / 10000)
158+ let ah = (((getIntegerValue(this, ("Rewards_Of_" + B)) - af) * ac) / 10000)
159+ let I = {
160+ let J = getIntegerValue(this, "Total_Txns:")
161+ if ($isInstanceOf(J, "Int"))
146162 then {
147- let C = B
148- C
163+ let K = J
164+ K
149165 }
150166 else 0
151167 }
152- let D = (A + 1)
153- let aa = {
154- let B = getIntegerValue(this, "Total_CODE_Claimed:")
155- if ($isInstanceOf(B, "Int"))
168+ let L = (I + 1)
169+ let ai = {
170+ let J = getIntegerValue(this, "Total_CODE_Claimed:")
171+ if ($isInstanceOf(J, "Int"))
156172 then {
157- let C = B
158- C
173+ let K = J
174+ K
159175 }
160176 else 0
161177 }
162- let ab = (aa + getIntegerValue(this, ("Rewards_Of_" + t)))
163- let ac = {
164- let B = getIntegerValue(this, "Total_Issued_CODE:")
165- if ($isInstanceOf(B, "Int"))
178+ let aj = (ai + getIntegerValue(this, ("Rewards_Of_" + B)))
179+ let ak = {
180+ let J = getIntegerValue(this, "Total_Issued_CODE:")
181+ if ($isInstanceOf(J, "Int"))
166182 then {
167- let C = B
168- C
183+ let K = J
184+ K
169185 }
170186 else 0
171187 }
172- let ad = (ac + getIntegerValue(this, ("Rewards_Of_" + t)))
173- let ae = {
174- let B = getIntegerValue(this, "Total_Claim_Fee_In_TN")
175- if ($isInstanceOf(B, "Int"))
188+ let al = (ak + getIntegerValue(this, ("Rewards_Of_" + B)))
189+ let am = {
190+ let J = getIntegerValue(this, "Total_Claim_Fee_In_TN")
191+ if ($isInstanceOf(J, "Int"))
176192 then {
177- let C = B
178- C
193+ let K = J
194+ K
179195 }
180196 else 0
181197 }
182- let af = (ae + W)
183- let G = valueOrErrorMessage(getInteger(addressFromPublicKey(e), ("Deposit_height_Of_" + t)), "Your Address not Found on Staking DApp")
184- let H = valueOrErrorMessage(getInteger(addressFromPublicKey(e), ("Total_Lock_Blocks_Of_" + t)), "Your Address not Found on Staking DApp")
185- let I = (H - G)
186- if (isDefined(s.assetId))
187- then throw((("Wrong Asset Attached for Payment, please Attach " + toString(W)) + "/10^8 TN."))
188- else if ((s.amount != W))
189- then throw((("Please Attach Exact " + toString(W)) + "/10^8 TN."))
190- else if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + t)) > height))
191- then throw((((("Your " + toString(getIntegerValue(this, ("Rewards_Of_" + t)))) + "/10^8 CODE are Still Maturing. Token will be Unlocked after ") + toString((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + t)) - height))) + " blocks."))
192- else if ((X == 0))
198+ let an = (am + ae)
199+ let O = valueOrErrorMessage(getInteger(addressFromPublicKey(m), ("Deposit_height_Of_" + B)), "Your Address not Found on Staking DApp")
200+ let P = valueOrErrorMessage(getInteger(addressFromPublicKey(m), ("Total_Lock_Blocks_Of_" + B)), "Your Address not Found on Staking DApp")
201+ let Q = (P - O)
202+ if (isDefined(A.assetId))
203+ then throw((("Wrong Asset Attached for Payment, please Attach " + toString(ae)) + "/10^8 TN."))
204+ else if ((A.amount != ae))
205+ then throw((("Please Attach Exact " + toString(ae)) + "/10^8 TN."))
206+ else if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + B)) > height))
207+ then throw((((("Your " + toString(getIntegerValue(this, ("Rewards_Of_" + B)))) + "/10^8 CODE are Still Maturing. Token will be Unlocked after ") + toString((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + B)) - height))) + " blocks."))
208+ else if ((af == 0))
193209 then throw("You Have Already Withdraw your CODE Amount.")
194- else if ((I != 129600))
210+ else if ((Q != 129600))
195211 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.")
196- else if ((T >= 1199999999999))
197- then [IntegerEntry("Total_Txns:", D), IntegerEntry("Total_CODE_Claimed:", ab), IntegerEntry("Total_Issued_CODE:", ad), IntegerEntry("Total_Claim_Fee_In_TN", af), IntegerEntry("Fee_%_Charge", U), IntegerEntry("Fee_Amount", Z), Reissue(c, getIntegerValue(this, ("Rewards_Of_" + t)), true), ScriptTransfer(q.caller, (getIntegerValue(this, ("Rewards_Of_" + t)) - Z), c), ScriptTransfer(addressFromPublicKey(f), fraction(Z, 80, 100), c), ScriptTransfer(addressFromPublicKey(g), fraction(Z, h, 100), c), IntegerEntry(("No_Of_Deposits_" + t), 0), IntegerEntry(("Deposit_height_Of_" + t), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + t), 0), IntegerEntry(("Deposit_Amount_Of_" + t), 0), IntegerEntry(("Rewards_Of_" + t), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
198- else [IntegerEntry("Total_Txns:", D), IntegerEntry("Total_CODE_Claimed:", ab), IntegerEntry("Total_Issued_CODE:", ad), IntegerEntry("Total_Claim_Fee_In_TN", af), IntegerEntry("Fee_%_Charge", V), IntegerEntry("Fee_Amount", Y), Reissue(c, getIntegerValue(this, ("Rewards_Of_" + t)), true), ScriptTransfer(q.caller, (getIntegerValue(this, ("Rewards_Of_" + t)) - Y), c), ScriptTransfer(addressFromPublicKey(f), fraction(Y, 80, 100), c), ScriptTransfer(addressFromPublicKey(g), fraction(Y, h, 100), c), IntegerEntry(("No_Of_Deposits_" + t), 0), IntegerEntry(("Deposit_height_Of_" + t), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + t), 0), IntegerEntry(("Deposit_Amount_Of_" + t), 0), IntegerEntry(("Rewards_Of_" + t), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
212+ else if ((ab >= 1199999999999))
213+ then [IntegerEntry("Total_Txns:", L), IntegerEntry("Total_CODE_Claimed:", aj), IntegerEntry("Total_Issued_CODE:", al), IntegerEntry("Total_Claim_Fee_In_TN", an), IntegerEntry("Fee_%_Charge", ac), IntegerEntry("Fee_Amount", ah), Reissue(k, getIntegerValue(this, ("Rewards_Of_" + B)), true), ScriptTransfer(y.caller, (getIntegerValue(this, ("Rewards_Of_" + B)) - ah), k), ScriptTransfer(addressFromPublicKey(n), fraction(ah, 80, 100), k), ScriptTransfer(addressFromPublicKey(o), fraction(ah, p, 100), k), IntegerEntry(("No_Of_Deposits_" + B), 0), IntegerEntry(("Deposit_height_Of_" + B), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + B), 0), IntegerEntry(("Deposit_Amount_Of_" + B), 0), IntegerEntry(("Rewards_Of_" + B), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
214+ else [IntegerEntry("Total_Txns:", L), IntegerEntry("Total_CODE_Claimed:", aj), IntegerEntry("Total_Issued_CODE:", al), IntegerEntry("Total_Claim_Fee_In_TN", an), IntegerEntry("Fee_%_Charge", ad), IntegerEntry("Fee_Amount", ag), Reissue(k, getIntegerValue(this, ("Rewards_Of_" + B)), true), ScriptTransfer(y.caller, (getIntegerValue(this, ("Rewards_Of_" + B)) - ag), k), ScriptTransfer(addressFromPublicKey(n), fraction(ag, 80, 100), k), ScriptTransfer(addressFromPublicKey(o), fraction(ag, p, 100), k), IntegerEntry(("No_Of_Deposits_" + B), 0), IntegerEntry(("Deposit_height_Of_" + B), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + B), 0), IntegerEntry(("Deposit_Amount_Of_" + B), 0), IntegerEntry(("Rewards_Of_" + B), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
199215 }
200216
201217
202218
203-@Callable(q)
204-func SetDaysRange (ag,ah) = {
205- let ai = toBase58String(q.caller.bytes)
206- let aj = getStringValue(this, "DApp_Admin_Rights")
207- let ak = 7
208- let al = 200
209- if ((aj != ai))
210- then throw((("I know You are not An Admin. Only " + aj) + " has rights to change Days Range."))
211- else if ((ak > ag))
219+@Callable(y)
220+func SetDaysRange (ao,ap) = {
221+ let aq = toBase58String(y.caller.bytes)
222+ let ar = getStringValue(this, "DApp_Admin_Rights")
223+ let as = 7
224+ let at = 200
225+ if ((ar != aq))
226+ then throw((("I know You are not An Admin. Only " + ar) + " has rights to change Days Range."))
227+ else if ((as > ao))
212228 then throw("Minimum days range must be more than 6 and in between 7-200.")
213- else if ((ah > al))
229+ else if ((ap > at))
214230 then throw("Maximum days range can't exceed the 200.")
215- else if ((ag > ah))
216- then throw((((("Minimum days range can't be exceed the value of Maximum days range. Choose the Range between [" + toString(ak)) + "-") + toString(al)) + "]"))
217- else [IntegerEntry("Minimum_Days_Range", ag), IntegerEntry("Maximum_Days_Range", ah)]
231+ else if ((ao > ap))
232+ then throw((((("Minimum days range can't be exceed the value of Maximum days range. Choose the Range between [" + toString(as)) + "-") + toString(at)) + "]"))
233+ else [IntegerEntry("Minimum_Days_Range", ao), IntegerEntry("Maximum_Days_Range", ap)]
218234 }
219235
220236
221237
222-@Callable(q)
223-func SetClaimFee (W) = {
224- let ai = toBase58String(q.caller.bytes)
225- let aj = getStringValue(this, "DApp_Admin_Rights")
226- let am = 100000000
227- let an = 100000000000
228- if ((aj != ai))
229- then throw((("I know You are not An Admin. Only " + aj) + " has rights to change Claim Fee."))
230- else if ((am > W))
231- then throw((("Minimum Claim fee is " + toString(am)) + " TN [int-format]."))
232- else if ((W > an))
233- then throw((("Maximum Claim fee can't be more than " + toString(an)) + " TN. [int-format]"))
234- else [IntegerEntry("Claim_Fee", W)]
238+@Callable(y)
239+func SetClaimFee (ae) = {
240+ let aq = toBase58String(y.caller.bytes)
241+ let ar = getStringValue(this, "DApp_Admin_Rights")
242+ let au = 100000000
243+ let av = 100000000000
244+ if ((ar != aq))
245+ then throw((("I know You are not An Admin. Only " + ar) + " has rights to change Claim Fee."))
246+ else if ((au > ae))
247+ then throw((("Minimum Claim fee is " + toString(au)) + " TN [int-format]."))
248+ else if ((ae > av))
249+ then throw((("Maximum Claim fee can't be more than " + toString(av)) + " TN. [int-format]"))
250+ else [IntegerEntry("Claim_Fee", ae)]
235251 }
236252
237253
238254
239-@Callable(q)
240-func TriggerForAutoSwap (ao) = if ((1 > assetBalance(this, fromBase58String(ao))))
241- then throw((ao + " has not Enough Balance To Transfer."))
242- else if ((1 > size(ao)))
243- then throw("AssetID Can't be Blank.")
244- else [ScriptTransfer(addressFromStringValue(b), assetBalance(this, fromBase58String(ao)), fromBase58String(ao))]
255+@Callable(y)
256+func PushForAutoSwap (aw) = if ((1 > assetBalance(this, fromBase58String(aw))))
257+ then throw((aw + " has not Enough Balance To Transfer."))
258+ else if ((40 > size(aw)))
259+ then throw("Wrong AssetID or Probaly Blank.")
260+ else [ScriptTransfer(addressFromStringValue(b), assetBalance(this, fromBase58String(aw)), fromBase58String(aw))]
245261
246262
247-@Verifier(ap)
248-func aq () = sigVerify(ap.bodyBytes, ap.proofs[0], ap.senderPublicKey)
263+@Verifier(ax)
264+func ay () = sigVerify(ax.bodyBytes, ax.proofs[0], ax.senderPublicKey)
249265
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "3.0.0"
55
66 let b = "3JtuUwtQjEXSjERerVhx7ZmfXPPKLnSD332"
77
8-let c = base58'EB4CUQH4fHzzQt9YjcHtA6T7uosHNH9RnQKHgBdZHPCB'
8+let c = base58'EzwaF58ssALcUCZ9FbyeD1GTSteoZAQZEDTqBAXHfq8y'
99
10-let d = base58'H3MZcnjakUsXycTbuR1BtZbyXj8C4RAPgdoeoTMGczjX'
10+let d = base58'8hdsVCxPBVEmVUZyyX8Sd98Z9hU7Fny26W96sjKiTw8g'
1111
12-let e = base58'J3cAptAPQxVqpEz6Rch57JeKpbns48s1a6HoeQG9aX4J'
12+let e = base58'skZN4EKZR4SqCL49ds2n1f5pbd4CmnWcrcH7xgCdsrb'
1313
14-let f = base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR'
14+let f = base58'5bXgvADuVoFdhtF5uKZAEiVdAo7ZCWw151L4yyf1PiES'
1515
16-let g = base58'8d4zGuTjT3h67Z4DatzMXdXXW1GvoQhMTjwCGFxJuene'
16+let g = base58'DYv8LXPqdm9N6xTdnfqrHzH9RMTnXLnfkYHffauHNc7o'
1717
18-let h = 20
18+let h = base58'8bCMVBqaUUDJGtpKZPERH5qE8KMay292DPCEkqEhuWT'
1919
20-let i = 1850000
20+let i = base58'CFS24Rd5VmayXgJRCaGq1CfrQY9aRNbQEMFcM8r6vsUZ'
2121
22-let j = getIntegerValue(this, "Minimum_Days_Range")
22+let j = addressFromPublicKey(i)
2323
24-let k = getIntegerValue(this, "Maximum_Days_Range")
24+let k = base58'EB4CUQH4fHzzQt9YjcHtA6T7uosHNH9RnQKHgBdZHPCB'
2525
26-let l = 100000
26+let l = base58'H3MZcnjakUsXycTbuR1BtZbyXj8C4RAPgdoeoTMGczjX'
2727
28-let m = 1000000
28+let m = base58'J3cAptAPQxVqpEz6Rch57JeKpbns48s1a6HoeQG9aX4J'
2929
30-let n = 1440
30+let n = base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR'
3131
32-let o = (height - i)
32+let o = base58'8d4zGuTjT3h67Z4DatzMXdXXW1GvoQhMTjwCGFxJuene'
3333
34-let p = (fraction(10000000000, 1, o) + 6000)
34+let p = 20
3535
36-@Callable(q)
37-func Deposit (r) = {
38- let s = if ((size(q.payments) == 1))
39- then q.payments[0]
40- else throw((("No Payments Attached Please Attach " + toBase58String(c)) + " Asset Only."))
41- let t = toBase58String(q.caller.bytes)
42- let u = ((((p * s.amount) * r) / 365) / 1000)
43- let v = (o * 100000)
44- let w = (n * r)
45- let x = (height + w)
46- let y = fraction(k, (v * p), (365 * 1000))
47- let z = fraction(y, 1000000, v)
48- let A = {
49- let B = getIntegerValue(this, "Total_Txns:")
50- if ($isInstanceOf(B, "Int"))
36+let q = 1850000
37+
38+let r = getIntegerValue(this, "Minimum_Days_Range")
39+
40+let s = getIntegerValue(this, "Maximum_Days_Range")
41+
42+let t = 100000
43+
44+let u = 1000000
45+
46+let v = 1440
47+
48+let w = (height - q)
49+
50+let x = (fraction(10000000000, 1, w) + 6000)
51+
52+@Callable(y)
53+func Deposit (z) = {
54+ let A = if ((size(y.payments) == 1))
55+ then y.payments[0]
56+ else throw((("No Payments Attached Please Attach " + toBase58String(k)) + " Asset Only."))
57+ let B = toBase58String(y.caller.bytes)
58+ let C = ((((x * A.amount) * z) / 365) / 1000)
59+ let D = (w * 100000)
60+ let E = (v * z)
61+ let F = (height + E)
62+ let G = fraction(s, (D * x), (365 * 1000))
63+ let H = fraction(G, 1000000, D)
64+ let I = {
65+ let J = getIntegerValue(this, "Total_Txns:")
66+ if ($isInstanceOf(J, "Int"))
5167 then {
52- let C = B
53- C
68+ let K = J
69+ K
5470 }
5571 else 0
5672 }
57- let D = (A + 1)
58- let E = {
59- let B = getInteger(this, "Total_Burned_CODE:")
60- if ($isInstanceOf(B, "Int"))
73+ let L = (I + 1)
74+ let M = {
75+ let J = getInteger(this, "Total_Burned_CODE:")
76+ if ($isInstanceOf(J, "Int"))
6177 then {
62- let C = B
63- C
78+ let K = J
79+ K
6480 }
6581 else 0
6682 }
67- let F = (E + s.amount)
68- let G = valueOrErrorMessage(getInteger(addressFromPublicKey(e), ("Deposit_height_Of_" + t)), "Your Address not Found on Staking DApp")
69- let H = valueOrErrorMessage(getInteger(addressFromPublicKey(e), ("Total_Lock_Blocks_Of_" + t)), "Your Address not Found on Staking DApp")
70- let I = (H - G)
71- let J = assetBalance(Address(q.caller.bytes), d)
72- let K = {
73- let B = getInteger(this, ("Deposit_Amount_Of_" + t))
74- if ($isInstanceOf(B, "Int"))
83+ let N = (M + A.amount)
84+ let O = valueOrErrorMessage(getInteger(addressFromPublicKey(m), ("Deposit_height_Of_" + B)), "Your Address not Found on Staking DApp")
85+ let P = valueOrErrorMessage(getInteger(addressFromPublicKey(m), ("Total_Lock_Blocks_Of_" + B)), "Your Address not Found on Staking DApp")
86+ let Q = (P - O)
87+ let R = assetBalance(Address(y.caller.bytes), l)
88+ let S = {
89+ let J = getInteger(this, ("Deposit_Amount_Of_" + B))
90+ if ($isInstanceOf(J, "Int"))
7591 then {
76- let C = B
77- C
92+ let K = J
93+ K
7894 }
7995 else 0
8096 }
81- let L = (K + s.amount)
82- let M = {
83- let B = getInteger(this, ("No_Of_Deposits_" + t))
84- if ($isInstanceOf(B, "Int"))
97+ let T = (S + A.amount)
98+ let U = {
99+ let J = getInteger(this, ("No_Of_Deposits_" + B))
100+ if ($isInstanceOf(J, "Int"))
85101 then {
86- let C = B
87- C
102+ let K = J
103+ K
88104 }
89105 else 0
90106 }
91- let N = (M + 1)
92- let O = {
93- let B = getInteger(this, "Expansion_Counter")
94- if ($isInstanceOf(B, "Int"))
107+ let V = (U + 1)
108+ let W = {
109+ let J = getInteger(this, "Expansion_Counter")
110+ if ($isInstanceOf(J, "Int"))
95111 then {
96- let C = B
97- C
112+ let K = J
113+ K
98114 }
99115 else 0
100116 }
101- let P = (O + 1)
102- if ((J != 1))
117+ let X = (W + 1)
118+ if ((R != 1))
103119 then throw("You Need to Mint a CODE License from DApp Address 3JeqfvcGZxJbuSpCB5cFhV2Bb8fdV4WzZzZ.")
104- else if ((J > 1))
120+ else if ((R > 1))
105121 then throw("You Own Multiple CODE License on Same Address.")
106- else if ((i > height))
107- then throw((("DApp is Not Started Yet please Wait until " + toString((i - height))) + " blocks"))
108- else if ((s.assetId != c))
109- then throw((("Incorrect asset attached, please attach " + toBase58String(c)) + " asset only"))
110- else if ((j >= r))
111- then throw(((("Choose Locking days in between " + toString((j + 1))) + " to ") + toString(k)))
112- else if ((r > k))
113- then throw(((((("You Entered days to " + toString(r)) + ", Please Enter no. of days in between ") + toString((j + 1))) + " to ") + toString(k)))
114- else if ((l > s.amount))
122+ else if ((q > height))
123+ then throw((("DApp is Not Started Yet please Wait until " + toString((q - height))) + " blocks"))
124+ else if ((A.assetId != k))
125+ then throw((("Incorrect asset attached, please attach " + toBase58String(k)) + " asset only"))
126+ else if ((r >= z))
127+ then throw(((("Choose Locking days in between " + toString((r + 1))) + " to ") + toString(s)))
128+ else if ((z > s))
129+ then throw(((((("You Entered days to " + toString(z)) + ", Please Enter no. of days in between ") + toString((r + 1))) + " to ") + toString(s)))
130+ else if ((t > A.amount))
115131 then throw("Please Attach minimum 0.001 CODE Token To Issue More CODE Asset.")
116- else if ((s.amount > v))
117- then throw((("You can attach maximum " + toString(v)) + "/10^8 CODE."))
118- else if ((I != 129600))
132+ else if ((A.amount > D))
133+ then throw((("You can attach maximum " + toString(D)) + "/10^8 CODE."))
134+ else if ((Q != 129600))
119135 then throw("You are Not Eligible to Mint CODE. It need minimum 90 Days Staking.")
120- else if ((M == 1))
136+ else if ((U == 1))
121137 then throw("You Already Have an Active Staking, Please Wait until Mature.")
122- else if ((m > z))
123- then [StringEntry("Version", a), IntegerEntry("Expansion_Counter", P), StringEntry(((toString(P) + "_Expansion_Updator_") + toString(height)), t), StringEntry("message", (((("New Days Range Expended from " + toString(k)) + " To ") + toString((k + 1))) + " Days. Please Restake CODE.")), IntegerEntry("Maximum_Days_Range", (k + 1)), IntegerEntry("Minimum_Days_Range", (j + 1)), ScriptTransfer(q.caller, s.amount, c)]
124- else [Burn(c, s.amount), IntegerEntry("Total_Burned_CODE:", F), IntegerEntry("Total_Txns:", D), IntegerEntry("Inflation", p), IntegerEntry("Block_Passed", o), IntegerEntry("Burn_Factor", z), IntegerEntry(("No_Of_Deposits_" + t), N), IntegerEntry(("Deposit_height_Of_" + t), height), IntegerEntry(("Total_Lock_Blocks_Of_" + t), x), IntegerEntry(("Deposit_Amount_Of_" + t), L), IntegerEntry(("Rewards_Of_" + t), u), StringEntry("message", "<h1>CODE Staked Successfully!</h1><br>")]
138+ else if ((u > H))
139+ then [StringEntry("Version", a), IntegerEntry("Expansion_Counter", X), StringEntry(((toString(X) + "_Expansion_Updator_") + toString(height)), B), StringEntry("message", (((("New Days Range Expended from " + toString(s)) + " To ") + toString((s + 1))) + " Days. Please Restake CODE.")), IntegerEntry("Maximum_Days_Range", (s + 1)), IntegerEntry("Minimum_Days_Range", (r + 1)), ScriptTransfer(y.caller, A.amount, k)]
140+ else [Burn(k, A.amount), IntegerEntry("Total_Burned_CODE:", N), IntegerEntry("Total_Txns:", L), IntegerEntry("Inflation", x), IntegerEntry("Block_Passed", w), IntegerEntry("Burn_Factor", H), IntegerEntry(("No_Of_Deposits_" + B), V), IntegerEntry(("Deposit_height_Of_" + B), height), IntegerEntry(("Total_Lock_Blocks_Of_" + B), F), IntegerEntry(("Deposit_Amount_Of_" + B), T), IntegerEntry(("Rewards_Of_" + B), C), StringEntry("message", "<h1>CODE Staked Successfully!</h1><br>")]
125141 }
126142
127143
128144
129-@Callable(q)
145+@Callable(y)
130146 func Withdraw () = {
131- let t = toBase58String(q.caller.bytes)
132- let Q = 1200000000000
133- let R = 24000000
134- let S = 19
135- let T = valueOrErrorMessage(getInteger(addressFromPublicKey(e), ("Deposit_Amount_Of_" + t)), "Your Address not Found on Staking DApp")
136- let U = 500
137- let V = ((R - (fraction(T, 1000000, Q) * 19)) / 10000)
138- let W = getIntegerValue(this, "Claim_Fee")
139- let s = value(q.payments[0])
140- let X = getIntegerValue(this, ("Deposit_Amount_Of_" + t))
141- let Y = (((getIntegerValue(this, ("Rewards_Of_" + t)) - X) * V) / 10000)
142- let Z = (((getIntegerValue(this, ("Rewards_Of_" + t)) - X) * U) / 10000)
143- let A = {
144- let B = getIntegerValue(this, "Total_Txns:")
145- if ($isInstanceOf(B, "Int"))
147+ let B = toBase58String(y.caller.bytes)
148+ let Y = 1200000000000
149+ let Z = 24000000
150+ let aa = 19
151+ let ab = valueOrErrorMessage(getInteger(addressFromPublicKey(m), ("Deposit_Amount_Of_" + B)), "Your Address not Found on Staking DApp")
152+ let ac = 500
153+ let ad = ((Z - (fraction(ab, 1000000, Y) * 19)) / 10000)
154+ let ae = getIntegerValue(this, "Claim_Fee")
155+ let A = value(y.payments[0])
156+ let af = getIntegerValue(this, ("Deposit_Amount_Of_" + B))
157+ let ag = (((getIntegerValue(this, ("Rewards_Of_" + B)) - af) * ad) / 10000)
158+ let ah = (((getIntegerValue(this, ("Rewards_Of_" + B)) - af) * ac) / 10000)
159+ let I = {
160+ let J = getIntegerValue(this, "Total_Txns:")
161+ if ($isInstanceOf(J, "Int"))
146162 then {
147- let C = B
148- C
163+ let K = J
164+ K
149165 }
150166 else 0
151167 }
152- let D = (A + 1)
153- let aa = {
154- let B = getIntegerValue(this, "Total_CODE_Claimed:")
155- if ($isInstanceOf(B, "Int"))
168+ let L = (I + 1)
169+ let ai = {
170+ let J = getIntegerValue(this, "Total_CODE_Claimed:")
171+ if ($isInstanceOf(J, "Int"))
156172 then {
157- let C = B
158- C
173+ let K = J
174+ K
159175 }
160176 else 0
161177 }
162- let ab = (aa + getIntegerValue(this, ("Rewards_Of_" + t)))
163- let ac = {
164- let B = getIntegerValue(this, "Total_Issued_CODE:")
165- if ($isInstanceOf(B, "Int"))
178+ let aj = (ai + getIntegerValue(this, ("Rewards_Of_" + B)))
179+ let ak = {
180+ let J = getIntegerValue(this, "Total_Issued_CODE:")
181+ if ($isInstanceOf(J, "Int"))
166182 then {
167- let C = B
168- C
183+ let K = J
184+ K
169185 }
170186 else 0
171187 }
172- let ad = (ac + getIntegerValue(this, ("Rewards_Of_" + t)))
173- let ae = {
174- let B = getIntegerValue(this, "Total_Claim_Fee_In_TN")
175- if ($isInstanceOf(B, "Int"))
188+ let al = (ak + getIntegerValue(this, ("Rewards_Of_" + B)))
189+ let am = {
190+ let J = getIntegerValue(this, "Total_Claim_Fee_In_TN")
191+ if ($isInstanceOf(J, "Int"))
176192 then {
177- let C = B
178- C
193+ let K = J
194+ K
179195 }
180196 else 0
181197 }
182- let af = (ae + W)
183- let G = valueOrErrorMessage(getInteger(addressFromPublicKey(e), ("Deposit_height_Of_" + t)), "Your Address not Found on Staking DApp")
184- let H = valueOrErrorMessage(getInteger(addressFromPublicKey(e), ("Total_Lock_Blocks_Of_" + t)), "Your Address not Found on Staking DApp")
185- let I = (H - G)
186- if (isDefined(s.assetId))
187- then throw((("Wrong Asset Attached for Payment, please Attach " + toString(W)) + "/10^8 TN."))
188- else if ((s.amount != W))
189- then throw((("Please Attach Exact " + toString(W)) + "/10^8 TN."))
190- else if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + t)) > height))
191- then throw((((("Your " + toString(getIntegerValue(this, ("Rewards_Of_" + t)))) + "/10^8 CODE are Still Maturing. Token will be Unlocked after ") + toString((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + t)) - height))) + " blocks."))
192- else if ((X == 0))
198+ let an = (am + ae)
199+ let O = valueOrErrorMessage(getInteger(addressFromPublicKey(m), ("Deposit_height_Of_" + B)), "Your Address not Found on Staking DApp")
200+ let P = valueOrErrorMessage(getInteger(addressFromPublicKey(m), ("Total_Lock_Blocks_Of_" + B)), "Your Address not Found on Staking DApp")
201+ let Q = (P - O)
202+ if (isDefined(A.assetId))
203+ then throw((("Wrong Asset Attached for Payment, please Attach " + toString(ae)) + "/10^8 TN."))
204+ else if ((A.amount != ae))
205+ then throw((("Please Attach Exact " + toString(ae)) + "/10^8 TN."))
206+ else if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + B)) > height))
207+ then throw((((("Your " + toString(getIntegerValue(this, ("Rewards_Of_" + B)))) + "/10^8 CODE are Still Maturing. Token will be Unlocked after ") + toString((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + B)) - height))) + " blocks."))
208+ else if ((af == 0))
193209 then throw("You Have Already Withdraw your CODE Amount.")
194- else if ((I != 129600))
210+ else if ((Q != 129600))
195211 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.")
196- else if ((T >= 1199999999999))
197- then [IntegerEntry("Total_Txns:", D), IntegerEntry("Total_CODE_Claimed:", ab), IntegerEntry("Total_Issued_CODE:", ad), IntegerEntry("Total_Claim_Fee_In_TN", af), IntegerEntry("Fee_%_Charge", U), IntegerEntry("Fee_Amount", Z), Reissue(c, getIntegerValue(this, ("Rewards_Of_" + t)), true), ScriptTransfer(q.caller, (getIntegerValue(this, ("Rewards_Of_" + t)) - Z), c), ScriptTransfer(addressFromPublicKey(f), fraction(Z, 80, 100), c), ScriptTransfer(addressFromPublicKey(g), fraction(Z, h, 100), c), IntegerEntry(("No_Of_Deposits_" + t), 0), IntegerEntry(("Deposit_height_Of_" + t), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + t), 0), IntegerEntry(("Deposit_Amount_Of_" + t), 0), IntegerEntry(("Rewards_Of_" + t), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
198- else [IntegerEntry("Total_Txns:", D), IntegerEntry("Total_CODE_Claimed:", ab), IntegerEntry("Total_Issued_CODE:", ad), IntegerEntry("Total_Claim_Fee_In_TN", af), IntegerEntry("Fee_%_Charge", V), IntegerEntry("Fee_Amount", Y), Reissue(c, getIntegerValue(this, ("Rewards_Of_" + t)), true), ScriptTransfer(q.caller, (getIntegerValue(this, ("Rewards_Of_" + t)) - Y), c), ScriptTransfer(addressFromPublicKey(f), fraction(Y, 80, 100), c), ScriptTransfer(addressFromPublicKey(g), fraction(Y, h, 100), c), IntegerEntry(("No_Of_Deposits_" + t), 0), IntegerEntry(("Deposit_height_Of_" + t), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + t), 0), IntegerEntry(("Deposit_Amount_Of_" + t), 0), IntegerEntry(("Rewards_Of_" + t), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
212+ else if ((ab >= 1199999999999))
213+ then [IntegerEntry("Total_Txns:", L), IntegerEntry("Total_CODE_Claimed:", aj), IntegerEntry("Total_Issued_CODE:", al), IntegerEntry("Total_Claim_Fee_In_TN", an), IntegerEntry("Fee_%_Charge", ac), IntegerEntry("Fee_Amount", ah), Reissue(k, getIntegerValue(this, ("Rewards_Of_" + B)), true), ScriptTransfer(y.caller, (getIntegerValue(this, ("Rewards_Of_" + B)) - ah), k), ScriptTransfer(addressFromPublicKey(n), fraction(ah, 80, 100), k), ScriptTransfer(addressFromPublicKey(o), fraction(ah, p, 100), k), IntegerEntry(("No_Of_Deposits_" + B), 0), IntegerEntry(("Deposit_height_Of_" + B), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + B), 0), IntegerEntry(("Deposit_Amount_Of_" + B), 0), IntegerEntry(("Rewards_Of_" + B), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
214+ else [IntegerEntry("Total_Txns:", L), IntegerEntry("Total_CODE_Claimed:", aj), IntegerEntry("Total_Issued_CODE:", al), IntegerEntry("Total_Claim_Fee_In_TN", an), IntegerEntry("Fee_%_Charge", ad), IntegerEntry("Fee_Amount", ag), Reissue(k, getIntegerValue(this, ("Rewards_Of_" + B)), true), ScriptTransfer(y.caller, (getIntegerValue(this, ("Rewards_Of_" + B)) - ag), k), ScriptTransfer(addressFromPublicKey(n), fraction(ag, 80, 100), k), ScriptTransfer(addressFromPublicKey(o), fraction(ag, p, 100), k), IntegerEntry(("No_Of_Deposits_" + B), 0), IntegerEntry(("Deposit_height_Of_" + B), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + B), 0), IntegerEntry(("Deposit_Amount_Of_" + B), 0), IntegerEntry(("Rewards_Of_" + B), 0), StringEntry("message", "<h1>CODE UnStaked Successfully!</h1><br>")]
199215 }
200216
201217
202218
203-@Callable(q)
204-func SetDaysRange (ag,ah) = {
205- let ai = toBase58String(q.caller.bytes)
206- let aj = getStringValue(this, "DApp_Admin_Rights")
207- let ak = 7
208- let al = 200
209- if ((aj != ai))
210- then throw((("I know You are not An Admin. Only " + aj) + " has rights to change Days Range."))
211- else if ((ak > ag))
219+@Callable(y)
220+func SetDaysRange (ao,ap) = {
221+ let aq = toBase58String(y.caller.bytes)
222+ let ar = getStringValue(this, "DApp_Admin_Rights")
223+ let as = 7
224+ let at = 200
225+ if ((ar != aq))
226+ then throw((("I know You are not An Admin. Only " + ar) + " has rights to change Days Range."))
227+ else if ((as > ao))
212228 then throw("Minimum days range must be more than 6 and in between 7-200.")
213- else if ((ah > al))
229+ else if ((ap > at))
214230 then throw("Maximum days range can't exceed the 200.")
215- else if ((ag > ah))
216- then throw((((("Minimum days range can't be exceed the value of Maximum days range. Choose the Range between [" + toString(ak)) + "-") + toString(al)) + "]"))
217- else [IntegerEntry("Minimum_Days_Range", ag), IntegerEntry("Maximum_Days_Range", ah)]
231+ else if ((ao > ap))
232+ then throw((((("Minimum days range can't be exceed the value of Maximum days range. Choose the Range between [" + toString(as)) + "-") + toString(at)) + "]"))
233+ else [IntegerEntry("Minimum_Days_Range", ao), IntegerEntry("Maximum_Days_Range", ap)]
218234 }
219235
220236
221237
222-@Callable(q)
223-func SetClaimFee (W) = {
224- let ai = toBase58String(q.caller.bytes)
225- let aj = getStringValue(this, "DApp_Admin_Rights")
226- let am = 100000000
227- let an = 100000000000
228- if ((aj != ai))
229- then throw((("I know You are not An Admin. Only " + aj) + " has rights to change Claim Fee."))
230- else if ((am > W))
231- then throw((("Minimum Claim fee is " + toString(am)) + " TN [int-format]."))
232- else if ((W > an))
233- then throw((("Maximum Claim fee can't be more than " + toString(an)) + " TN. [int-format]"))
234- else [IntegerEntry("Claim_Fee", W)]
238+@Callable(y)
239+func SetClaimFee (ae) = {
240+ let aq = toBase58String(y.caller.bytes)
241+ let ar = getStringValue(this, "DApp_Admin_Rights")
242+ let au = 100000000
243+ let av = 100000000000
244+ if ((ar != aq))
245+ then throw((("I know You are not An Admin. Only " + ar) + " has rights to change Claim Fee."))
246+ else if ((au > ae))
247+ then throw((("Minimum Claim fee is " + toString(au)) + " TN [int-format]."))
248+ else if ((ae > av))
249+ then throw((("Maximum Claim fee can't be more than " + toString(av)) + " TN. [int-format]"))
250+ else [IntegerEntry("Claim_Fee", ae)]
235251 }
236252
237253
238254
239-@Callable(q)
240-func TriggerForAutoSwap (ao) = if ((1 > assetBalance(this, fromBase58String(ao))))
241- then throw((ao + " has not Enough Balance To Transfer."))
242- else if ((1 > size(ao)))
243- then throw("AssetID Can't be Blank.")
244- else [ScriptTransfer(addressFromStringValue(b), assetBalance(this, fromBase58String(ao)), fromBase58String(ao))]
255+@Callable(y)
256+func PushForAutoSwap (aw) = if ((1 > assetBalance(this, fromBase58String(aw))))
257+ then throw((aw + " has not Enough Balance To Transfer."))
258+ else if ((40 > size(aw)))
259+ then throw("Wrong AssetID or Probaly Blank.")
260+ else [ScriptTransfer(addressFromStringValue(b), assetBalance(this, fromBase58String(aw)), fromBase58String(aw))]
245261
246262
247-@Verifier(ap)
248-func aq () = sigVerify(ap.bodyBytes, ap.proofs[0], ap.senderPublicKey)
263+@Verifier(ax)
264+func ay () = sigVerify(ax.bodyBytes, ax.proofs[0], ax.senderPublicKey)
249265

github/deemru/w8io/026f985 
143.75 ms