tx · 5w5qFFFfoJFqSdygkDXopoCQ4wHQEf9kDjvvt99mTBPn

3Mq6mSfCYaGQkEHMAhobtjJGvb7xj1aiSBp:  -0.01400000 Waves

2024.03.16 11:49 [3020380] smart account 3Mq6mSfCYaGQkEHMAhobtjJGvb7xj1aiSBp > SELF 0.00000000 Waves

{ "type": 13, "id": "5w5qFFFfoJFqSdygkDXopoCQ4wHQEf9kDjvvt99mTBPn", "fee": 1400000, "feeAssetId": null, "timestamp": 1710578974605, "version": 2, "chainId": 84, "sender": "3Mq6mSfCYaGQkEHMAhobtjJGvb7xj1aiSBp", "senderPublicKey": "C5DMu2JvfbtJnPu4pyFYhyyeaYRS1RsnRnsgNFnkL55E", "proofs": [ "hPEhSgcyAHFdXTjNyRfugC15dMWDEFRxLUcTW6ALz1UdS6HMrXNkuEcjUVrQrgCEYwyWYVm1fXBDKY8gYthzxdV" ], "script": "base64:AAIFAAAAAAAAAA0IAhIAEgASAwoBARIAAAAACQAAAAAKQTRBQXNzZXRJRAEAAAAgcmq6+6Wxr2yowtuRELQMbFaAM1flDMDSVcM9IpA14LUAAAAAC1VTRENBc3NldElEAQAAACBERzHKId/28pwmyFb++GepfZ73s/AMiQVICZA1FOlN/wAAAAAMV0FWRVNBc3NldElEAQAAACDP/74B1d4jjFgihGpnkOPBwPYiuXsdK1Tqg2sFWwuhfgAAAAALQ09ERUFzc2V0SUQBAAAAIMO7WpkPv3V6MicEWfxW+TeI3Tjc6gp0OC8l37fTvNKgAAAAAApGZWVBZGRyZXNzAQAAACBSg9mgi9eQkjsz5eBARHIbc7Hg/F4fmB0sxZ6ySMfiIAAAAAAKZGV2QWRkcmVzcwEAAAAgcT857UGuwl6lKR6zURKH3pDKrZTlUMsXWQXYxcjWeBsAAAAADGFkbWluUHViS2V5MQEAAAAg/UGbBLHhsjFFb0b3YWn4seNHtEaYngIcscRj3mvW1T8AAAAADGFkbWluUHViS2V5MgEAAAAgcT857UGuwl6lKR6zURKH3pDKrZTlUMsXWQXYxcjWeBsAAAAADGFkbWluUHViS2V5MwEAAAAgITZNDF0tGOMq0kQgUjmXpENibSNsE0IHTIk2pLBy5F4AAAAEAAAAAWkBAAAACElzc3VlQTRBAAAAAAQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAC1ByaWNlUGVyQTRBCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAAZBNEEvVE4EAAAACkE0QUhhcmRDYXAJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAACkE0QUhhcmRDYXAEAAAADE5ld0E0QVRvVXNlcgkAAGsAAAADAAAAAAAAAYagCAUAAAADcG10AAAABmFtb3VudAUAAAALUHJpY2VQZXJBNEEEAAAAEVByZXZpb3VzSXNzdWVkQTRBCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABFUb3RhbF9Jc3N1ZWRfQTRBOgQAAAAOVG90YWxJc3N1ZWRBNEEJAABkAAAAAgUAAAARUHJldmlvdXNJc3N1ZWRBNEEFAAAADE5ld0E0QVRvVXNlcgQAAAAOUGVuZGluZ01pbnRpbmcJAABlAAAAAgUAAAAKQTRBSGFyZENhcAUAAAAOVG90YWxJc3N1ZWRBNEEEAAAAF1ByZXZpb3VzQTRBUmVzZXJ2ZVZhbHVlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABhUb3RhbF9BNEFfUmVzZXJ2ZV9Jbl9UTjoEAAAAD0E0QVJlc2VydmVWYWx1ZQkAAGQAAAACBQAAABdQcmV2aW91c0E0QVJlc2VydmVWYWx1ZQgFAAAAA3BtdAAAAAZhbW91bnQEAAAAFlByZXZpb3VzQTRBQmFja3VwUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAF0E0QV9CYWNrdXBfVmFsdWVfSW5fVE46BAAAAA5BNEFCYWNrdXBQcmljZQkAAGsAAAADAAAAAAAAAYagBQAAAA9BNEFSZXNlcnZlVmFsdWUFAAAADlRvdGFsSXNzdWVkQTRBAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABAgAAACtJbmNvcnJlY3QgYXNzZXQgYXR0YWNoZWQsIHBsZWFzZSBhdHRhY2ggVE4uAwkAAGYAAAACAAAAAAAATEtACAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABAgAAADFQbGVhc2UgQXR0YWNoIG1pbmltdW0gMC4wNSBUTiBUbyBJc3N1ZSBBNEEgQXNzZXQuAwkAAGYAAAACBQAAAA5Ub3RhbElzc3VlZEE0QQUAAAAKQTRBSGFyZENhcAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAC5BNEEgTWludGluZyBpcyBhYm91dCB0byByZWFjaCB0aGUgSGFyZCBDYXAgb2YgCQABpAAAAAEFAAAACkE0QUhhcmRDYXACAAAALy8xMF44IEE0QS4gUGxlYXNlIFJlZHVjZSB5b3VyIE1pbnRpbmcgT3JkZXIgYnkgCQABpAAAAAEFAAAADlBlbmRpbmdNaW50aW5nAgAAAAggb3IgcHV0IAkAAaQAAAABCQAAZQAAAAIFAAAACkE0QUhhcmRDYXAFAAAAEVByZXZpb3VzSXNzdWVkQTRBAgAAAAUvMTBeOAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAARVG90YWxfSXNzdWVkX0E0QToFAAAADlRvdGFsSXNzdWVkQTRBCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABRCYWxhbmNlX01pbnRpbmdfQTRBOgUAAAAOUGVuZGluZ01pbnRpbmcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGFRvdGFsX0E0QV9SZXNlcnZlX0luX1ROOgUAAAAPQTRBUmVzZXJ2ZVZhbHVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABdBNEFfQmFja3VwX1ZhbHVlX0luX1ROOgUAAAAOQTRBQmFja3VwUHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQIAAAAlPGgxPkE0QSBJc3N1ZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+PGJyPgkABEwAAAACCQEAAAAHUmVpc3N1ZQAAAAMFAAAACkE0QUFzc2V0SUQFAAAADE5ld0E0QVRvVXNlcgYJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAaQAAAAIJAABoAAAAAgUAAAAMTmV3QTRBVG9Vc2VyAAAAAAAAAAPeAAAAAAAAAAPoBQAAAApBNEFBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAACkZlZUFkZHJlc3MJAABpAAAAAgkAAGgAAAACBQAAAAxOZXdBNEFUb1VzZXIAAAAAAAAAAAkAAAAAAAAAA+gFAAAACkE0QUFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAKZGV2QWRkcmVzcwkAAGkAAAACCQAAaAAAAAIFAAAADE5ld0E0QVRvVXNlcgAAAAAAAAAAAQAAAAAAAAAD6AUAAAAKQTRBQXNzZXRJRAUAAAADbmlsAAAAAWkBAAAACUxpcXVpZGF0ZQAAAAAEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAAEVByZXZpb3VzSXNzdWVkQTRBCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABFUb3RhbF9Jc3N1ZWRfQTRBOgQAAAARUHJldmlvdXNCdXJuZWRBNEEJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAEVRvdGFsX0J1cm5lZF9BNEE6BAAAAA5Ub3RhbElzc3VlZEE0QQkAAGUAAAACBQAAABFQcmV2aW91c0lzc3VlZEE0QQgFAAAAA3BtdAAAAAZhbW91bnQEAAAADlRvdGFsQnVybmVkQTRBCQAAZAAAAAIFAAAAEVByZXZpb3VzQnVybmVkQTRBCAUAAAADcG10AAAABmFtb3VudAQAAAAXUHJldmlvdXNBNEFSZXNlcnZlVmFsdWUJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAGFRvdGFsX0E0QV9SZXNlcnZlX0luX1ROOgQAAAAWUHJldmlvdXNBNEFCYWNrdXBQcmljZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAXQTRBX0JhY2t1cF9WYWx1ZV9Jbl9UTjoEAAAAEmNhbGN1bGF0ZWJ1cm52YWx1ZQkAAGsAAAADBQAAABZQcmV2aW91c0E0QUJhY2t1cFByaWNlCAUAAAADcG10AAAABmFtb3VudAAAAAAAAAGGoAQAAAAPQTRBUmVzZXJ2ZVZhbHVlCQAAZQAAAAIFAAAAF1ByZXZpb3VzQTRBUmVzZXJ2ZVZhbHVlBQAAABJjYWxjdWxhdGVidXJudmFsdWUEAAAADkE0QUJhY2t1cFByaWNlCQAAawAAAAMAAAAAAAABhqAFAAAAD0E0QVJlc2VydmVWYWx1ZQUAAAAOVG90YWxJc3N1ZWRBNEEDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAACkE0QUFzc2V0SUQJAAACAAAAAQIAAABHS2luZGx5IERlcG9zaXQgT25seSA4aGRzVkN4UEJWRW1WVVp5eVg4U2Q5OFo5aFU3Rm55MjZXOTZzaktpVHc4ZyAoQTRBKS4DCQAAZgAAAAIAAAAAAAABhqAIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAALUF0dGFjaCBBbW91bnQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMC4wMDEgQTRBLgkABEwAAAACCQEAAAAEQnVybgAAAAIFAAAACkE0QUFzc2V0SUQIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABFUb3RhbF9Jc3N1ZWRfQTRBOgUAAAAOVG90YWxJc3N1ZWRBNEEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAEVRvdGFsX0J1cm5lZF9BNEE6BQAAAA5Ub3RhbEJ1cm5lZEE0QQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAYVG90YWxfQTRBX1Jlc2VydmVfSW5fVE46BQAAAA9BNEFSZXNlcnZlVmFsdWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAF0E0QV9CYWNrdXBfVmFsdWVfSW5fVE46BQAAAA5BNEFCYWNrdXBQcmljZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlAgAAACk8aDE+QTRBIExpcXVpZGF0ZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+PGJyPgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABpAAAAAgkAAGgAAAACBQAAABJjYWxjdWxhdGVidXJudmFsdWUAAAAAAAAAA94AAAAAAAAAA+gFAAAABHVuaXQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAKRmVlQWRkcmVzcwkAAGkAAAACCQAAaAAAAAIFAAAAEmNhbGN1bGF0ZWJ1cm52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ZWdlckVudHJ5AAAAAgIAAAANU3Rha2VkX0Ftb3VudAUAAAASbmV3U3Rha2VkQTRBQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEkRlcG9zaXRfQW1vdW50X09mXwUAAAAKY3VycmVudEtleQUAAAAMbmV3QTRBQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQUAAAAPdG90YWxsb2NrYmxvY2tzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAPTG9ja19TdGF0dXNfT2ZfBQAAAApjdXJyZW50S2V5BQAAAApsb2Nrc3RhdHVzBQAAAANuaWwDCQAAZwAAAAIFAAAABFVMU1QIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAIVGllcl9PZl8FAAAACmN1cnJlbnRLZXkCAAAABlNJTFZFUgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJEZXBvc2l0X2hlaWdodF9PZl8FAAAACmN1cnJlbnRLZXkFAAAABmhlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAANU3Rha2VkX0Ftb3VudAUAAAASbmV3U3Rha2VkQTRBQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEkRlcG9zaXRfQW1vdW50X09mXwUAAAAKY3VycmVudEtleQUAAAAMbmV3QTRBQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQUAAAAPdG90YWxsb2NrYmxvY2tzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAPTG9ja19TdGF0dXNfT2ZfBQAAAApjdXJyZW50S2V5BQAAAApsb2Nrc3RhdHVzBQAAAANuaWwDCQAAZwAAAAIFAAAABFVMR1QIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAIVGllcl9PZl8FAAAACmN1cnJlbnRLZXkCAAAABEdPTEQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9oZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAZoZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADVN0YWtlZF9BbW91bnQFAAAAEm5ld1N0YWtlZEE0QUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJEZXBvc2l0X0Ftb3VudF9PZl8FAAAACmN1cnJlbnRLZXkFAAAADG5ld0E0QUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkFAAAAD3RvdGFsbG9ja2Jsb2NrcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAICAAAAD0xvY2tfU3RhdHVzX09mXwUAAAAKY3VycmVudEtleQUAAAAKbG9ja3N0YXR1cwUAAAADbmlsAwkAAAAAAAACBQAAAARVTERUCAUAAAADcG10AAAABmFtb3VudAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAICAAAACFRpZXJfT2ZfBQAAAApjdXJyZW50S2V5AgAAAAdESUFNT05ECQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEkRlcG9zaXRfaGVpZ2h0X09mXwUAAAAKY3VycmVudEtleQUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAA1TdGFrZWRfQW1vdW50BQAAABJuZXdTdGFrZWRBNEFBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9BbW91bnRfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAxuZXdBNEFBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5BQAAAA90b3RhbGxvY2tibG9ja3MJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAAA9Mb2NrX1N0YXR1c19PZl8FAAAACmN1cnJlbnRLZXkFAAAACmxvY2tzdGF0dXMFAAAAA25pbAkAAAIAAAABAgAAACdQbGVhc2UgQ2hvb3NlIGEgUmFuZ2UgQmV0d2VlbiA3Ny0xMjAwMC4AAAABaQEAAAAIV2l0aGRyYXcAAAAABAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAEWNoZWNrZGVwb3NpdHZhbHVlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAEkRlcG9zaXRfQW1vdW50X09mXwUAAAAKY3VycmVudEtleQQAAAAQY2hlY2tzdGFrZWR2YWx1ZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAANU3Rha2VkX0Ftb3VudAQAAAACZDYAAAAAAAAPQkAEAAAACnVzZXJfc2hhcmUJAABrAAAAAwUAAAARY2hlY2tkZXBvc2l0dmFsdWUFAAAAAmQ2BQAAABBjaGVja3N0YWtlZHZhbHVlBAAAAA5uZXdzdGFrZWR2YWx1ZQkAAGUAAAACBQAAABBjaGVja3N0YWtlZHZhbHVlBQAAABFjaGVja2RlcG9zaXR2YWx1ZQQAAAALY2hlY2s5MERnYXAJAABlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAASRGVwb3NpdF9oZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5BAAAABVQcmV2aW91c19VU0RDX0NsYWltZWQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAATVG90YWxfVVNEQ19DbGFpbWVkOgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABJ0b3RhbHJld2FyZGNsYWltZWQJAABkAAAAAgUAAAAVUHJldmlvdXNfVVNEQ19DbGFpbWVkCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5AwkAAGYAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQUAAAAGaGVpZ2h0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAFWW91ciAJAAGkAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABJEZXBvc2l0X0Ftb3VudF9PZl8FAAAACmN1cnJlbnRLZXkCAAAAYiBBNEEgYXJlIFVuZGVyIExvY2suIENvbnNpZGVyIGxhc3QgOCBkaWdpdHMgYXMgdmFsdWUgYWZ0ZXIgRGVjaW1hbHMuIFRva2VuIHdpbGwgYmUgVW5sb2NrZWQgYWZ0ZXIgCQABpAAAAAEJAABlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkFAAAABmhlaWdodAIAAAAIIGJsb2Nrcy4DCQAAAAAAAAIFAAAAEWNoZWNrZGVwb3NpdHZhbHVlAAAAAAAAAAAACQAAAgAAAAECAAAAJllvdSBIYXZlIEFscmVhZHkgV2l0aGRyYXcgeW91ciBBbW91bnQuAwMJAABmAAAAAgAAAAEXZZLgAAUAAAARY2hlY2tkZXBvc2l0dmFsdWUJAAAAAAAAAgUAAAALY2hlY2s5MERnYXAAAAAAAAAB+kAHCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABJEZXBvc2l0X0Ftb3VudF9PZl8FAAAACmN1cnJlbnRLZXkFAAAACkE0QUFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAawAAAAMJAAPwAAAAAgUAAAAEdGhpcwUAAAALVVNEQ0Fzc2V0SUQFAAAACnVzZXJfc2hhcmUFAAAAAmQ2BQAAAAtVU0RDQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABrAAAAAwkAA/AAAAACBQAAAAR0aGlzBQAAAAxXQVZFU0Fzc2V0SUQFAAAACnVzZXJfc2hhcmUFAAAAAmQ2BQAAAAxXQVZFU0Fzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAaQAAAAIJAABoAAAAAgUAAAARY2hlY2tkZXBvc2l0dmFsdWUAAAAAAAAAAAMAAAAAAAAAA+gFAAAAC0NPREVBc3NldElECQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAIVGllcl9PZl8FAAAACmN1cnJlbnRLZXkCAAAABE5PTkUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9oZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAA1TdGFrZWRfQW1vdW50BQAAAA5uZXdzdGFrZWR2YWx1ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJEZXBvc2l0X0Ftb3VudF9PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAPTG9ja19TdGF0dXNfT2ZfBQAAAApjdXJyZW50S2V5AgAAAAZVTkxPQ0sJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAE1RvdGFsX1VTRENfQ2xhaW1lZDoFAAAAEnRvdGFscmV3YXJkY2xhaW1lZAUAAAADbmlsAwMJAABnAAAAAgUAAAARY2hlY2tkZXBvc2l0dmFsdWUAAAABF2WS4AAJAAAAAAAAAgUAAAALY2hlY2s5MERnYXAAAAAAAAAB+kAHCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABJEZXBvc2l0X0Ftb3VudF9PZl8FAAAACmN1cnJlbnRLZXkFAAAACkE0QUFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAawAAAAMJAAPwAAAAAgUAAAAEdGhpcwUAAAALVVNEQ0Fzc2V0SUQFAAAACnVzZXJfc2hhcmUFAAAAAmQ2BQAAAAtVU0RDQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABrAAAAAwkAA/AAAAACBQAAAAR0aGlzBQAAAAxXQVZFU0Fzc2V0SUQFAAAACnVzZXJfc2hhcmUFAAAAAmQ2BQAAAAxXQVZFU0Fzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAaQAAAAIJAABoAAAAAgAAAAEXZZLgAAAAAAAAAAAAAwAAAAAAAAAD6AUAAAALQ09ERUFzc2V0SUQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAAAhUaWVyX09mXwUAAAAKY3VycmVudEtleQIAAAAETk9ORQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJEZXBvc2l0X2hlaWdodF9PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADVN0YWtlZF9BbW91bnQFAAAADm5ld3N0YWtlZHZhbHVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEkRlcG9zaXRfQW1vdW50X09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAAA9Mb2NrX1N0YXR1c19PZl8FAAAACmN1cnJlbnRLZXkCAAAABlVOTE9DSwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAATVG90YWxfVVNEQ19DbGFpbWVkOgUAAAASdG90YWxyZXdhcmRjbGFpbWVkBQAAAANuaWwJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAEkRlcG9zaXRfQW1vdW50X09mXwUAAAAKY3VycmVudEtleQUAAAAKQTRBQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABrAAAAAwkAA/AAAAACBQAAAAR0aGlzBQAAAAtVU0RDQXNzZXRJRAUAAAAKdXNlcl9zaGFyZQUAAAACZDYFAAAAC1VTRENBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgkAAGsAAAADCQAD8AAAAAIFAAAABHRoaXMFAAAADFdBVkVTQXNzZXRJRAUAAAAKdXNlcl9zaGFyZQUAAAACZDYFAAAADFdBVkVTQXNzZXRJRAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAICAAAACFRpZXJfT2ZfBQAAAApjdXJyZW50S2V5AgAAAAROT05FCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEkRlcG9zaXRfaGVpZ2h0X09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAANU3Rha2VkX0Ftb3VudAUAAAAObmV3c3Rha2VkdmFsdWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9BbW91bnRfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAFVRvdGFsX0xvY2tfQmxvY2tzX09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAICAAAAD0xvY2tfU3RhdHVzX09mXwUAAAAKY3VycmVudEtleQIAAAAGVU5MT0NLCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAC1Jld2FyZHNfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABNUb3RhbF9VU0RDX0NsYWltZWQ6BQAAABJ0b3RhbHJld2FyZGNsYWltZWQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4BAAAABJhZG1pblB1YktleTFTaWduZWQDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAAMYWRtaW5QdWJLZXkxAAAAAAAAAAABAAAAAAAAAAAABAAAABJhZG1pblB1YktleTJTaWduZWQDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQUAAAAMYWRtaW5QdWJLZXkyAAAAAAAAAAABAAAAAAAAAAAABAAAABJhZG1pblB1YktleTNTaWduZWQDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAgUAAAAMYWRtaW5QdWJLZXkzAAAAAAAAAAABAAAAAAAAAAAACQAAZwAAAAIJAABkAAAAAgkAAGQAAAACBQAAABJhZG1pblB1YktleTFTaWduZWQFAAAAEmFkbWluUHViS2V5MlNpZ25lZAUAAAASYWRtaW5QdWJLZXkzU2lnbmVkAAAAAAAAAAACrW4ntQ==", "height": 3020380, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5bhwxXKG1sgNRVT5UTh1NV8fWmWcbdSj1EzXG5qoXVT2 Next: none Full:
OldNewDifferences
1-{-# STDLIB_VERSION 6 #-}
1+{-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let NODE = Alias("bearwaves")
4+let A4AAssetID = base58'8hdsVCxPBVEmVUZyyX8Sd98Z9hU7Fny26W96sjKiTw8g'
55
6-let EATH_ID = fromBase58String(getStringValue(this, "EATH_ID"))
6+let USDCAssetID = base58'5bXgvADuVoFdhtF5uKZAEiVdAo7ZCWw151L4yyf1PiES'
77
8-let FeeAddress = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr'
8+let WAVESAssetID = base58'EzwaF58ssALcUCZ9FbyeD1GTSteoZAQZEDTqBAXHfq8y'
99
10-let devAddress = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr'
10+let CODEAssetID = base58'EB4CUQH4fHzzQt9YjcHtA6T7uosHNH9RnQKHgBdZHPCB'
11+
12+let FeeAddress = base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR'
13+
14+let devAddress = base58'8d4zGuTjT3h67Z4DatzMXdXXW1GvoQhMTjwCGFxJuene'
15+
16+let adminPubKey1 = base58'J3cAptAPQxVqpEz6Rch57JeKpbns48s1a6HoeQG9aX4J'
17+
18+let adminPubKey2 = base58'8d4zGuTjT3h67Z4DatzMXdXXW1GvoQhMTjwCGFxJuene'
19+
20+let adminPubKey3 = base58'3EeUjFz9BEjsqDnCjw5UeuZsjBTuKBQmbCiAw53phxrR'
1121
1222 @Callable(i)
13-func IssueEATHToken () = {
14- let asset = Issue("EATH", "EATH is a digital token backed by a 1:1 reserve of Waves tokens, meaning for every EATH token in circulation, there is one Waves token held in secure reserve. This reserve model aims to guarantee the stability and transparency of EATH's value.", 1, 8, true, unit, 0)
15- let assetId = calculateAssetId(asset)
16- let checkHardCap = valueOrElse(getIntegerValue(this, "EATHHardCap"), 0)
17- if ((checkHardCap == 0))
18- then [asset, Burn(assetId, 1), StringEntry("EATH_ID", toBase58String(assetId)), IntegerEntry("EATH/WAVES", 100000), IntegerEntry("EATHHardCap", 100000000000000), IntegerEntry("Total_Issued_EATH:", 0), IntegerEntry("Total_EATH_Reserve_In_WAVES:", 0)]
19- else throw("Token is Already Issued.")
23+func IssueA4A () = {
24+ let pmt = value(i.payments[0])
25+ let currentKey = toBase58String(i.caller.bytes)
26+ let PricePerA4A = getIntegerValue(this, "A4A/TN")
27+ let A4AHardCap = getIntegerValue(this, "A4AHardCap")
28+ let NewA4AToUser = fraction(100000, pmt.amount, PricePerA4A)
29+ let PreviousIssuedA4A = getIntegerValue(this, "Total_Issued_A4A:")
30+ let TotalIssuedA4A = (PreviousIssuedA4A + NewA4AToUser)
31+ let PendingMinting = (A4AHardCap - TotalIssuedA4A)
32+ let PreviousA4AReserveValue = getIntegerValue(this, "Total_A4A_Reserve_In_TN:")
33+ let A4AReserveValue = (PreviousA4AReserveValue + pmt.amount)
34+ let PreviousA4ABackupPrice = getIntegerValue(this, "A4A_Backup_Value_In_TN:")
35+ let A4ABackupPrice = fraction(100000, A4AReserveValue, TotalIssuedA4A)
36+ if (isDefined(pmt.assetId))
37+ then throw("Incorrect asset attached, please attach TN.")
38+ else if ((5000000 > pmt.amount))
39+ then throw("Please Attach minimum 0.05 TN To Issue A4A Asset.")
40+ else if ((TotalIssuedA4A > A4AHardCap))
41+ then throw((((((("A4A Minting is about to reach the Hard Cap of " + toString(A4AHardCap)) + "/10^8 A4A. Please Reduce your Minting Order by ") + toString(PendingMinting)) + " or put ") + toString((A4AHardCap - PreviousIssuedA4A))) + "/10^8"))
42+ else [IntegerEntry("Total_Issued_A4A:", TotalIssuedA4A), IntegerEntry("Balance_Minting_A4A:", PendingMinting), IntegerEntry("Total_A4A_Reserve_In_TN:", A4AReserveValue), IntegerEntry("A4A_Backup_Value_In_TN:", A4ABackupPrice), StringEntry("message", "<h1>A4A Issued Successfully!</h1><br>"), Reissue(A4AAssetID, NewA4AToUser, true), ScriptTransfer(i.caller, ((NewA4AToUser * 990) / 1000), A4AAssetID), ScriptTransfer(addressFromPublicKey(FeeAddress), ((NewA4AToUser * 9) / 1000), A4AAssetID), ScriptTransfer(addressFromPublicKey(devAddress), ((NewA4AToUser * 1) / 1000), A4AAssetID)]
2043 }
2144
2245
2346
2447 @Callable(i)
25-func IssueEATH () = {
48+func Liquidate () = {
49+ let currentKey = toBase58String(i.callerPublicKey)
2650 let pmt = value(i.payments[0])
51+ let PreviousIssuedA4A = getIntegerValue(this, "Total_Issued_A4A:")
52+ let PreviousBurnedA4A = getIntegerValue(this, "Total_Burned_A4A:")
53+ let TotalIssuedA4A = (PreviousIssuedA4A - pmt.amount)
54+ let TotalBurnedA4A = (PreviousBurnedA4A + pmt.amount)
55+ let PreviousA4AReserveValue = getIntegerValue(this, "Total_A4A_Reserve_In_TN:")
56+ let PreviousA4ABackupPrice = getIntegerValue(this, "A4A_Backup_Value_In_TN:")
57+ let calculateburnvalue = fraction(PreviousA4ABackupPrice, pmt.amount, 100000)
58+ let A4AReserveValue = (PreviousA4AReserveValue - calculateburnvalue)
59+ let A4ABackupPrice = fraction(100000, A4AReserveValue, TotalIssuedA4A)
60+ if ((pmt.assetId != A4AAssetID))
61+ then throw("Kindly Deposit Only 8hdsVCxPBVEmVUZyyX8Sd98Z9hU7Fny26W96sjKiTw8g (A4A).")
62+ else if ((100000 > pmt.amount))
63+ then throw("Attach Amount must be greater than 0.001 A4A.")
64+ else [Burn(A4AAssetID, pmt.amount), IntegerEntry("Total_Issued_A4A:", TotalIssuedA4A), IntegerEntry("Total_Burned_A4A:", TotalBurnedA4A), IntegerEntry("Total_A4A_Reserve_In_TN:", A4AReserveValue), IntegerEntry("A4A_Backup_Value_In_TN:", A4ABackupPrice), StringEntry("message", "<h1>A4A Liquidated Successfully!</h1><br>"), ScriptTransfer(i.caller, ((calculateburnvalue * 990) / 1000), unit), ScriptTransfer(addressFromPublicKey(FeeAddress), ((calculateburnvalue * 9) / 1000), unit), ScriptTransfer(addressFromPublicKey(devAddress), ((calculateburnvalue * 1) / 1000), unit)]
65+ }
66+
67+
68+
69+@Callable(i)
70+func Deposit (days) = {
71+ let pmt = if ((size(i.payments) == 1))
72+ then i.payments[0]
73+ else throw("No payment attached, Please Attach A4A Token as per TIER in payment[1].")
2774 let currentKey = toBase58String(i.caller.bytes)
28- let PricePerEATH = getIntegerValue(this, "EATH/WAVES")
29- let EATHHardCap = getIntegerValue(this, "EATHHardCap")
30- let CheckPreviousLeasing = valueOrElse(getInteger(this, "lease_amount"), 0)
31- let NewEATHToUser = fraction(100000, pmt.amount, PricePerEATH)
32- let PreviousIssuedEATH = match getIntegerValue(this, "Total_Issued_EATH:") {
75+ let maximumlockdays = 90
76+ let lockstatus = "LOCKED"
77+ let ULBT = 99999999999
78+ let ULST = 599999999999
79+ let ULGT = 1199999999999
80+ let ULDT = 1200000000000
81+ let oneday = 1440
82+ let actualblocks = (oneday * days)
83+ let totallockblocks = (height + actualblocks)
84+ let Tier1 = 7000
85+ let StakedA4AAmount = match getInteger(this, "Staked_Amount") {
3386 case a: Int =>
3487 a
3588 case _ =>
3689 0
3790 }
38- let TotalIssuedEATH = (PreviousIssuedEATH + NewEATHToUser)
39- let PreviousEATHReserveValue = match getIntegerValue(this, "Total_EATH_Reserve_In_WAVES:") {
91+ let newStakedA4AAmount = (StakedA4AAmount + pmt.amount)
92+ let currentA4AAmount = match getInteger(this, ("Deposit_Amount_Of_" + currentKey)) {
4093 case a: Int =>
4194 a
4295 case _ =>
4396 0
4497 }
45- let EATHReserveValue = (PreviousEATHReserveValue + pmt.amount)
46- let PendingMinting = (EATHHardCap - TotalIssuedEATH)
47- let PreviousEATHBackupPrice = getIntegerValue(this, "EATH_Backup_Value_In_WAVES:")
48- let EATHBackupPrice = fraction(100000, EATHReserveValue, TotalIssuedEATH)
49- let PayToUser = ((NewEATHToUser * 990) / 1000)
50- let PayToTreasury = ((NewEATHToUser * 9) / 1000)
51- let PayToDev = ((NewEATHToUser * 1) / 1000)
52- let Lease_Amount = PayToUser
53- let lease = Lease(NODE, Lease_Amount)
54- let lease_id = toBase58String(calculateLeaseId(lease))
55- let unlease = LeaseCancel(fromBase58String(getStringValue(this, "lease_id")))
56- let updated_lease_amount = (CheckPreviousLeasing + Lease_Amount)
57- let updated_lease = Lease(NODE, updated_lease_amount)
58- let updated_lease_id = toBase58String(calculateLeaseId(updated_lease))
59- if (isDefined(pmt.assetId))
60- then throw("Incorrect asset attached, please attach WAVES.")
61- else if ((5000000 > pmt.amount))
62- then throw("Please Attach minimum 0.05 WAVES To Issue EATH Asset.")
63- else if ((TotalIssuedEATH > EATHHardCap))
64- then throw((((((("EATH Minting is about to reach the Hard Cap of " + toString(EATHHardCap)) + "/10^8 EATH. Please Reduce your Minting Order by ") + toString(PendingMinting)) + " or put ") + toString((EATHHardCap - PreviousIssuedEATH))) + "/10^8"))
65- else if ((CheckPreviousLeasing == 0))
66- then [IntegerEntry("Total_Issued_EATH:", TotalIssuedEATH), IntegerEntry("Balance_Minting_EATH:", PendingMinting), IntegerEntry("Total_EATH_Reserve_In_WAVES:", EATHReserveValue), IntegerEntry("EATH_Backup_Value_In_WAVES:", EATHBackupPrice), StringEntry("message", "<h1>EATH Issued Successfully!</h1><br>"), Reissue(EATH_ID, NewEATHToUser, true), lease, StringEntry("lease_id", lease_id), IntegerEntry("lease_amount", Lease_Amount), ScriptTransfer(i.caller, PayToUser, EATH_ID), ScriptTransfer(addressFromPublicKey(FeeAddress), PayToTreasury, EATH_ID), ScriptTransfer(addressFromPublicKey(devAddress), PayToDev, EATH_ID)]
67- else [IntegerEntry("Total_Issued_EATH:", TotalIssuedEATH), IntegerEntry("Balance_Minting_EATH:", PendingMinting), IntegerEntry("Total_EATH_Reserve_In_WAVES:", EATHReserveValue), IntegerEntry("EATH_Backup_Value_In_WAVES:", EATHBackupPrice), StringEntry("message", "<h1>EATH Issued Successfully!</h1><br>"), Reissue(EATH_ID, NewEATHToUser, true), unlease, updated_lease, StringEntry("lease_id", updated_lease_id), IntegerEntry("lease_amount", updated_lease_amount), ScriptTransfer(i.caller, PayToUser, EATH_ID), ScriptTransfer(addressFromPublicKey(FeeAddress), PayToTreasury, EATH_ID), ScriptTransfer(addressFromPublicKey(devAddress), PayToDev, EATH_ID)]
98+ let newA4AAmount = (currentA4AAmount + pmt.amount)
99+ if ((pmt.assetId != A4AAssetID))
100+ then throw((("Incorrect asset attached, please attach " + toBase58String(A4AAssetID)) + " only."))
101+ else if ((6 >= days))
102+ then throw("Choose Locking days in between 7 to 90.")
103+ else if ((days > maximumlockdays))
104+ then throw("You Entered days greater than 90 please Enter no. of days in between 7 to 90.")
105+ else if ((7700000000 > pmt.amount))
106+ then throw("Please Attach minimum 77 A4A To Achieve BRONZE TIER.")
107+ else if ((ULBT >= pmt.amount))
108+ then [StringEntry(("Tier_Of_" + currentKey), "BRONZE"), IntegerEntry(("Deposit_height_Of_" + currentKey), height), IntegerEntry("Staked_Amount", newStakedA4AAmount), IntegerEntry(("Deposit_Amount_Of_" + currentKey), newA4AAmount), IntegerEntry(("Total_Lock_Blocks_Of_" + currentKey), totallockblocks), StringEntry(("Lock_Status_Of_" + currentKey), lockstatus)]
109+ else if ((ULST >= pmt.amount))
110+ then [StringEntry(("Tier_Of_" + currentKey), "SILVER"), IntegerEntry(("Deposit_height_Of_" + currentKey), height), IntegerEntry("Staked_Amount", newStakedA4AAmount), IntegerEntry(("Deposit_Amount_Of_" + currentKey), newA4AAmount), IntegerEntry(("Total_Lock_Blocks_Of_" + currentKey), totallockblocks), StringEntry(("Lock_Status_Of_" + currentKey), lockstatus)]
111+ else if ((ULGT >= pmt.amount))
112+ then [StringEntry(("Tier_Of_" + currentKey), "GOLD"), IntegerEntry(("Deposit_height_Of_" + currentKey), height), IntegerEntry("Staked_Amount", newStakedA4AAmount), IntegerEntry(("Deposit_Amount_Of_" + currentKey), newA4AAmount), IntegerEntry(("Total_Lock_Blocks_Of_" + currentKey), totallockblocks), StringEntry(("Lock_Status_Of_" + currentKey), lockstatus)]
113+ else if ((ULDT == pmt.amount))
114+ then [StringEntry(("Tier_Of_" + currentKey), "DIAMOND"), IntegerEntry(("Deposit_height_Of_" + currentKey), height), IntegerEntry("Staked_Amount", newStakedA4AAmount), IntegerEntry(("Deposit_Amount_Of_" + currentKey), newA4AAmount), IntegerEntry(("Total_Lock_Blocks_Of_" + currentKey), totallockblocks), StringEntry(("Lock_Status_Of_" + currentKey), lockstatus)]
115+ else throw("Please Choose a Range Between 77-12000.")
116+ }
117+
118+
119+
120+@Callable(i)
121+func Withdraw () = {
122+ let currentKey = toBase58String(i.caller.bytes)
123+ let checkdepositvalue = getIntegerValue(this, ("Deposit_Amount_Of_" + currentKey))
124+ let checkstakedvalue = getIntegerValue(this, "Staked_Amount")
125+ let d6 = 1000000
126+ let user_share = fraction(checkdepositvalue, d6, checkstakedvalue)
127+ let newstakedvalue = (checkstakedvalue - checkdepositvalue)
128+ let check90Dgap = (getIntegerValue(this, ("Total_Lock_Blocks_Of_" + currentKey)) - getIntegerValue(this, ("Deposit_height_Of_" + currentKey)))
129+ let Previous_USDC_Claimed = match getInteger(this, "Total_USDC_Claimed:") {
130+ case a: Int =>
131+ a
132+ case _ =>
133+ 0
134+ }
135+ let totalrewardclaimed = (Previous_USDC_Claimed + getIntegerValue(this, ("Rewards_Of_" + currentKey)))
136+ if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + currentKey)) > height))
137+ then throw((((("Your " + toString(getIntegerValue(this, ("Deposit_Amount_Of_" + currentKey)))) + " A4A are Under Lock. Consider last 8 digits as value after Decimals. Token will be Unlocked after ") + toString((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + currentKey)) - height))) + " blocks."))
138+ else if ((checkdepositvalue == 0))
139+ then throw("You Have Already Withdraw your Amount.")
140+ else if (if ((1200000000000 > checkdepositvalue))
141+ then (check90Dgap == 129600)
142+ else false)
143+ then [ScriptTransfer(i.caller, getIntegerValue(this, ("Deposit_Amount_Of_" + currentKey)), A4AAssetID), ScriptTransfer(i.caller, fraction(assetBalance(this, USDCAssetID), user_share, d6), USDCAssetID), ScriptTransfer(i.caller, fraction(assetBalance(this, WAVESAssetID), user_share, d6), WAVESAssetID), ScriptTransfer(i.caller, ((checkdepositvalue * 3) / 1000), CODEAssetID), StringEntry(("Tier_Of_" + currentKey), "NONE"), IntegerEntry(("Deposit_height_Of_" + currentKey), 0), IntegerEntry("Staked_Amount", newstakedvalue), IntegerEntry(("Deposit_Amount_Of_" + currentKey), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + currentKey), 0), StringEntry(("Lock_Status_Of_" + currentKey), "UNLOCK"), IntegerEntry(("Rewards_Of_" + currentKey), 0), IntegerEntry("Total_USDC_Claimed:", totalrewardclaimed)]
144+ else if (if ((checkdepositvalue >= 1200000000000))
145+ then (check90Dgap == 129600)
146+ else false)
147+ then [ScriptTransfer(i.caller, getIntegerValue(this, ("Deposit_Amount_Of_" + currentKey)), A4AAssetID), ScriptTransfer(i.caller, fraction(assetBalance(this, USDCAssetID), user_share, d6), USDCAssetID), ScriptTransfer(i.caller, fraction(assetBalance(this, WAVESAssetID), user_share, d6), WAVESAssetID), ScriptTransfer(i.caller, ((1200000000000 * 3) / 1000), CODEAssetID), StringEntry(("Tier_Of_" + currentKey), "NONE"), IntegerEntry(("Deposit_height_Of_" + currentKey), 0), IntegerEntry("Staked_Amount", newstakedvalue), IntegerEntry(("Deposit_Amount_Of_" + currentKey), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + currentKey), 0), StringEntry(("Lock_Status_Of_" + currentKey), "UNLOCK"), IntegerEntry(("Rewards_Of_" + currentKey), 0), IntegerEntry("Total_USDC_Claimed:", totalrewardclaimed)]
148+ else [ScriptTransfer(i.caller, getIntegerValue(this, ("Deposit_Amount_Of_" + currentKey)), A4AAssetID), ScriptTransfer(i.caller, fraction(assetBalance(this, USDCAssetID), user_share, d6), USDCAssetID), ScriptTransfer(i.caller, fraction(assetBalance(this, WAVESAssetID), user_share, d6), WAVESAssetID), StringEntry(("Tier_Of_" + currentKey), "NONE"), IntegerEntry(("Deposit_height_Of_" + currentKey), 0), IntegerEntry("Staked_Amount", newstakedvalue), IntegerEntry(("Deposit_Amount_Of_" + currentKey), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + currentKey), 0), StringEntry(("Lock_Status_Of_" + currentKey), "UNLOCK"), IntegerEntry(("Rewards_Of_" + currentKey), 0), IntegerEntry("Total_USDC_Claimed:", totalrewardclaimed)]
68149 }
69150
70151
71152 @Verifier(tx)
72-func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
153+func verify () = match tx {
154+ case _ =>
155+ let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1))
156+ then 1
157+ else 0
158+ let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], adminPubKey2))
159+ then 1
160+ else 0
161+ let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], adminPubKey3))
162+ then 1
163+ else 0
164+ (((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) >= 2)
165+}
73166

github/deemru/w8io/3ef1775 
46.47 ms