tx · 2niry5C9C4w1HLUe4nm6c7WxTP1Wc9akUmWg5dgBu8Gn 3NC9boevS259eTsMAkFAxCPorzK4Z9bpWje: -0.02200000 Waves 2023.02.03 18:10 [2433601] smart account 3NC9boevS259eTsMAkFAxCPorzK4Z9bpWje > SELF 0.00000000 Waves
{ "type": 13, "id": "2niry5C9C4w1HLUe4nm6c7WxTP1Wc9akUmWg5dgBu8Gn", "fee": 2200000, "feeAssetId": null, "timestamp": 1675436990024, "version": 2, "chainId": 84, "sender": "3NC9boevS259eTsMAkFAxCPorzK4Z9bpWje", "senderPublicKey": "515tSAyMUbAb8kKjcpGDpqALGfCgcwfWmWKKkcBKTcGB", "proofs": [ "5ayao6Sxfcd8r9UQQYvMbgS8Ko6K41pESYKmpL4gLVPpjfivx32K7utKTF9tAD8DbsD7z7aVXAq2rZMWUdmwsoSx" ], "script": "base64:AAIFAAAAAAAAACEIAhIAEgASAwoBCBIDCgEIEgMKAQESABIDCgEIEgMKAQgAAAAFAAAAABREYXBwX0FkZHJlc3NfcHViX2tleQEAAAAgvHZQICGE3/5b1wAhqlA9b7vNXmYDAjYF3VxTne0xkiQAAAAAGW9yYWNsZV9jb250cm9sbGVyX2FkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAFERhcHBfQWRkcmVzc19wdWJfa2V5AAAAAAtVU0RUQXNzZXRJRAEAAAAg299FA5kXGxb53VOSRJdbjVcoBZXDYeWb0BVUdKQaxVUAAAAAEm1pbmltdW1fb3JkZXJfc2l6ZQAAAAAAAA9CQAAAAAASbWF4aW11bV9vcmRlcl9zaXplAAAAAAAF9eEAAAAACAAAAAFpAQAAAA9wbGFjZW9wdGlvbkNhbGwAAAAABAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAADdObyBwYXltZW50IGF0dGFjaGVkLCBQbGVhc2UgQXR0YWNoIFRva2VuIGluIHBheW1lbnRbMV0uBAAAAA1pZkJsYWNrbGlzdGVkCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAARYWRkcl9CTEFDS0xJU1RFRF8FAAAADWNhbGxlcmFkZHJlc3MEAAAAEnJlYWRfb3JhY2xlX3N0YXR1cwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwIAAAANb3JhY2xlX3N0YXR1cwQAAAAUcmVhZF9PcHRpb25Db3VudGVySUQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAADjFtX2NvbnRyYWN0X2lkBAAAAApnZXRidGNkYXRhCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAICAAAABzFtX2J0Y18JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQEAAAABnN3YXBMaQkABLUAAAACBQAAAApnZXRidGNkYXRhAgAAAAFfBAAAAAVwcmljZQkAAZEAAAACBQAAAAZzd2FwTGkAAAAAAAAAAAAEAAAABWJsb2NrCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAGc3dhcExpAAAAAAAAAAACBAAAAA1jaGVja2Jsb2NrZ2FwCQAAZQAAAAIFAAAABmhlaWdodAUAAAAFYmxvY2sEAAAAEk9waW9uRXhwaXJlQ291bnRlcgAAAAAAAAAAAQQAAAAVT3B0aW9uRXhwaXJlQ291bnRlcklECQAAZAAAAAIFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEBQAAABJPcGlvbkV4cGlyZUNvdW50ZXIEAAAAFFByZXZpb3VzT3B0aW9uT3JkZXJzBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAE1RvdGFsX09wdGlvbl9PcmRlcnMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAARVG90YWxPcHRpb25PcmRlcnMJAABkAAAAAgUAAAAUUHJldmlvdXNPcHRpb25PcmRlcnMAAAAAAAAAAAEEAAAAJVByZXZpb3VzT3B0aW9uT3JkZXJzaW5TcGVjaWZpY0NvdW50ZXIEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABRUb3RhbF9PcHRpb25fT3JkZXJzXwkAAaQAAAABBQAAABRyZWFkX09wdGlvbkNvdW50ZXJJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAACJUb3RhbE9wdGlvbk9yZGVyc2luU3BlY2lmaWNDb3VudGVyCQAAZAAAAAIFAAAAJVByZXZpb3VzT3B0aW9uT3JkZXJzaW5TcGVjaWZpY0NvdW50ZXIAAAAAAAAAAAEEAAAADFByZXZpb3VzQ2FsbAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAAAtUb3RhbF9DYWxscwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAA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AARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPQ2FsbF9TdGFydF9FbmRfBQAAAA1jYWxsZXJhZGRyZXNzAgAAAAFfCQABpAAAAAEFAAAADVRvdGFsVXNlckNhbGwJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEAgAAAAFfCQABpAAAAAEFAAAAFU9wdGlvbkV4cGlyZUNvdW50ZXJJRAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAATVG90YWxfT3B0aW9uX09yZGVycwUAAAARVG90YWxPcHRpb25PcmRlcnMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAUVG90YWxfT3B0aW9uX09yZGVyc18JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQFAAAAIlRvdGFsT3B0aW9uT3JkZXJzaW5TcGVjaWZpY0NvdW50ZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAC1RvdGFsX0NhbGxzBQAAAAlUb3RhbENhbGwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAMVG90YWxfQ2FsbHNfCQABpAAAAAEFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEBQAAABpUb3RhbENhbGxpblNwZWNpZmljQ291bnRlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAA1jYWxsZXJhZGRyZXNzAgAAAAxfVG90YWxfQ2FsbHMFAAAADVRvdGFsVXNlckNhbGwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACBQAAAA1jYWxsZXJhZGRyZXNzAgAAAA1fVG90YWxfQ2FsbHNfCQABpAAAAAEFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEBQAAAB5Ub3RhbFVzZXJDYWxsaW5TcGVjaWZpY0NvdW50ZXIFAAAAA25pbAAAAAFpAQAAAA5wbGFjZW9wdGlvblB1dAAAAAAEAAAADWNhbGxlcmFkZHJlc3MJAAJY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IlRvdGFsT3B0aW9uT3JkZXJzaW5TcGVjaWZpY0NvdW50ZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAClRvdGFsX1B1dHMFAAAACFRvdGFsUHV0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAC1RvdGFsX1B1dHNfCQABpAAAAAEFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEBQAAABlUb3RhbFB1dGluU3BlY2lmaWNDb3VudGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlcmFkZHJlc3MCAAAAC19Ub3RhbF9QdXRzBQAAAAxUb3RhbFVzZXJQdXQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACBQAAAA1jYWxsZXJhZGRyZXNzAgAAAAxfVG90YWxfUHV0c18JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQFAAAAHVRvdGFsVXNlclB1dGluU3BlY2lmaWNDb3VudGVyBQAAAANuaWwAAAABaQEAAAAJQ2xhaW1DYWxsAAAAAQAAAA1DYWxsX1NlcXVlbmNlBAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAADhObyBwYXltZW50IGF0dGFjaGVkLCBQbGVhc2UgQXR0YWNoIFRva2VucyBpbiBwYXltZW50WzFdLgQAAAASZ2V0T3B0aW9uQ2FsbFByaWNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAVDYWxsXwUAAAANY2FsbGVyYWRkcmVzcwIAAAABXwUAAAANQ2FsbF9TZXF1ZW5jZQQAAAAaZ2V0T3B0aW9uQ2FsbF9TZXF1ZW5jZWRhdGEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD0NhbGxfU3RhcnRfRW5kXwUAAAANY2FsbGVyYWRkcmVzcwIAAAABXwUAAAANQ2FsbF9TZXF1ZW5jZQQAAAAUc3BsaXRTdGFydEVuZENvdW50ZXIJAAS1AAAAAgUAAAAaZ2V0T3B0aW9uQ2FsbF9TZXF1ZW5jZWRhdGECAAAAAV8EAAAAD2dldFN0YXJ0Q291bnRlcgkAAZEAAAACBQAAABRzcGxpdFN0YXJ0RW5kQ291bnRlcgAAAAAAAAAAAAQAAAANZ2V0RW5kQ291bnRlcgkAAZEAAAACBQAAABRzcGxpdFN0YXJ0RW5kQ291bnRlcgAAAAAAAAAAAQQAAAAYZ2V0YnRjZGF0YUF0U3RhcnRDb3VudGVyCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAICAAAABzFtX2J0Y18FAAAAD2dldFN0YXJ0Q291bnRlcgQAAAAbc3BsaXRidGNwcmljZUF0U3RhcnRDb3VudGVyCQAEtQAAAAIFAAAAGGdldGJ0Y2RhdGFBdFN0YXJ0Q291bnRlcgIAAAABXwQAAAAZZ2V0YnRjcHJpY2VBdFN0YXJ0Q291bnRlcgkAAZEAAAACBQAAABtzcGxpdGJ0Y3ByaWNlQXRTdGFydENvdW50ZXIAAAAAAAAAAAAEAAAAFmdldGJ0Y2RhdGFBdEVuZENvdW50ZXIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAHMW1fYnRjXwUAAAANZ2V0RW5kQ291bnRlcgQAAAAZc3BsaXRidGNwcmljZUF0RW5kQ291bnRlcgkABLUAAAACBQAAABZnZXRidGNkYXRhQXRFbmRDb3VudGVyAgAAAAFfBAAAABdnZXRidGNwcmljZUF0RW5kQ291bnRlcgkAAZEAAAACBQAAABlzcGxpdGJ0Y3ByaWNlQXRFbmRDb3VudGVyAAAAAAAAAAAABAAAAAlwcmljZWRpZmYJAABlAAAAAgkBAAAADXBhcnNlSW50VmFsdWUAAAABBQAAABdnZXRidGNwcmljZUF0RW5kQ291bnRlcgkBAAAADXBhcnNlSW50VmFsdWUAAAABBQAAABlnZXRidGNw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DWNhbGxlcmFkZHJlc3MCAAAAAV8FAAAADUNhbGxfU2VxdWVuY2UFAAAAA25pbAAAAAFpAQAAAAhDbGFpbVB1dAAAAAEAAAAMUHV0X1NlcXVlbmNlBAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAADhObyBwYXltZW50IGF0dGFjaGVkLCBQbGVhc2UgQXR0YWNoIFRva2VucyBpbiBwYXltZW50WzFdLgQAAAARZ2V0T3B0aW9uUHV0UHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABFB1dF8FAAAADWNhbGxlcmFkZHJlc3MCAAAAAV8FAAAADFB1dF9TZXF1ZW5jZQQAAAAZZ2V0T3B0aW9uUHV0X1NlcXVlbmNlZGF0YQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAOUHV0X1N0YXJ0X0VuZF8FAAAADWNhbGxlcmFkZHJlc3MCAAAAAV8FAAAADFB1dF9TZXF1ZW5jZQQAAAAUc3BsaXRTdGFydEVuZENvdW50ZXIJAAS1AAAAAgUAAAAZZ2V0T3B0aW9uUHV0X1NlcXVlbmNlZGF0YQIAAAABXwQAAAAPZ2V0U3RhcnRDb3VudGVyCQABkQAAAAIFAAAAFHNwbGl0U3RhcnRFbmRDb3VudGVyAAAAAAAAAAAABAAAAA1nZXRFbmRDb3VudGVyCQABkQAAAAIFAAAAFHNwbGl0U3RhcnRFbmRDb3VudGVyAAAAAAAAAAABBAAAABhnZXRidGNkYXRhQXRTdGFydENvdW50ZXIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAHMW1fYnRjXwUAAAAPZ2V0U3RhcnRDb3VudGVyBAAAABtzcGxpdGJ0Y3ByaWNlQXRTdGFydENvdW50ZXIJAAS1AAAAAgUAAAAYZ2V0YnRjZGF0YUF0U3RhcnRDb3VudGVyAgAAAAFfBAAAABlnZXRidGNwcmljZUF0U3RhcnRDb3VudGVyCQABkQAAAAIFAAAAG3NwbGl0YnRjcHJpY2VBdFN0YXJ0Q291bnRlcgAAAAAAAAAAAAQAAAAWZ2V0YnRjZGF0YUF0RW5kQ291bnRlcgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAcxbV9idGNfBQAAAA1nZXRFbmRDb3VudGVyBAAAABlzcGxpdGJ0Y3ByaWNlQXRFbmRDb3VudGVyCQAEtQAAAAIFAAAAFmdldGJ0Y2RhdGFBdEVuZENvdW50ZXICAAAAAV8EAAAAF2dldGJ0Y3ByaWNlQXRFbmRDb3VudGVyCQABkQAAAAIFAAAAGXNwbGl0YnRjcHJpY2VBdEVuZENvdW50ZXIAAAAAAAAAAAAEAAAACXByaWNlZGlmZgkAAGUAAAACCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEFAAAAF2dldGJ0Y3ByaWNlQXRFbmRDb3VudGVyCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEFAAAAGWdldGJ0Y3ByaWNlQXRTdGFydENvdW50ZXIEAAAADlByZXZpb3VzUHV0V2luBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAFVRvdGFsX09wdGlvbl9QdXRfV2lucwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAtUb3RhbFB1dFdpbgkAAGQAAAACBQAAAA5QcmV2aW91c1B1dFdpbgAAAAAAAAAAAQQAAAAPUHJldmlvdXNQdXRMb3NlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAFVRvdGFsX09wdGlvbl9QdXRfTG9zZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAxUb3RhbFB1dExvc2UJAABkAAAAAgUAAAAPUHJldmlvdXNQdXRMb3NlAAAAAAAAAAABAwkAAGcAAAACBQAAAAlwcmljZWRp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AAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAABlvcmFjbGVfY29udHJvbGxlcl9hZGRyZXNzCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACVUaGlzIEFkZHJlc3MgaXMgbm90IEF1dGhvcml6ZWQuIE9ubHkgCQAEJQAAAAEFAAAAGW9yYWNsZV9jb250cm9sbGVyX2FkZHJlc3MCAAAAIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4DCQAAAAAAAAIFAAAADWlmQmxhY2tsaXN0ZWQCAAAAA1llcwkAAAIAAAABAgAAACpBZGRyZXNzIGlzIGFscmVhZHkgYXZhaWxhYmxlIGluIEJsYWNrbGlzdC4JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAABFhZGRyX0JMQUNLTElTVEVEXwUAAAALVXNlckFkZHJlc3MCAAAAA1llcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAaVG90YWxfQmxhY2tfTGlzdGVkX0FkZHJlc3MFAAAAFVRvdGFsQmxhY2tMaXN0QWRkcmVzcwUAAAADbmlsAAAAAWkBAAAAFkRlbGV0ZUJsYWNrTGlzdEFkZHJlc3MAAAABAAAAC1VzZXJBZGRyZXNzBAAAAA1pZkJsYWNrbGlzdGVkCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAARYWRkcl9CTEFDS0xJU1RFRF8FAAAAC1VzZXJBZGRyZXNzBAAAABhQcmV2aW91c0JsYWNrTGlzdEFkZHJlc3MEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAaVG90YWxfQmxhY2tfTGlzdGVkX0FkZHJlc3MDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAVVG90YWxCbGFja0xpc3RBZGRyZXNzCQAAZQAAAAIFAAAAGFByZXZpb3VzQmxhY2tMaXN0QWRkcmVzcwAAAAAAAAAAAQMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAZb3JhY2xlX2NvbnRyb2xsZXJfYWRkcmVzcwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAlVGhpcyBBZGRyZXNzIGlzIG5vdCBBdXRob3JpemVkLiBPbmx5IAkABCUAAAABBQAAABlvcmFjbGVfY29udHJvbGxlcl9hZGRyZXNzAgAAACIgaXMgQXV0aG9yaXplZCBBZGRyZXNzIHRvIFNpZ24gaXQuAwkAAAAAAAACBQAAAA1pZkJsYWNrbGlzdGVkAgAAAANZZXMJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACAgAAABFhZGRyX0JMQUNLTElTVEVEXwUAAAALVXNlckFkZHJlc3MJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGlRvdGFsX0JsYWNrX0xpc3RlZF9BZGRyZXNzBQAAABVUb3RhbEJsYWNrTGlzdEFkZHJlc3MFAAAAA25pbAkAAAIAAAABAgAAACZBZGRyZXNzIGlzIG5vdCBhdmFpbGFibGUgaW4gQmxhY2tsaXN0LgAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5TXhIjQ==", "height": 2433601, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9W9wWAkEckevY4KL6PgUUGDmoSj39rLFroJJsemok1o5 Next: 9qyEoULFrrAhiX6cPYioEgRQ5yu7EzQ66ZCCqupYx6Ex Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let a = base58' | |
4 | + | let a = base58'DggHTfM1QvhBop9XaxzwBCeX1V6ksYiyoGvccEk3H8T5' | |
5 | 5 | ||
6 | 6 | let b = addressFromPublicKey(a) | |
7 | 7 | ||
8 | - | let c = base58'' | |
8 | + | let c = base58'FoHkJSWMmcdGHCGZnymUU5UvW3sqWTP2NBq3mo7wVxGt' | |
9 | 9 | ||
10 | - | @Callable(d) | |
10 | + | let d = 1000000 | |
11 | + | ||
12 | + | let e = 100000000 | |
13 | + | ||
14 | + | @Callable(f) | |
11 | 15 | func placeoptionCall () = { | |
12 | - | let e = toBase58String(d.caller.bytes) | |
13 | - | let f = getString(this, ("addr_BLACKLISTED_" + e)) | |
14 | - | let g = getStringValue(this, "oracle_status") | |
15 | - | let h = getIntegerValue(this, "1m_contract_id") | |
16 | - | let i = getStringValue(this, ("1m_btc_" + toString(h))) | |
17 | - | let j = split(i, "_") | |
18 | - | let k = j[0] | |
19 | - | let l = parseIntValue(j[2]) | |
20 | - | let m = (height - l) | |
21 | - | let n = 1 | |
22 | - | let o = (h + n) | |
23 | - | let p = { | |
24 | - | let q = getInteger(this, "Total_Option_Orders") | |
25 | - | if ($isInstanceOf(q, "Int")) | |
16 | + | let g = toBase58String(f.caller.bytes) | |
17 | + | let h = if ((size(f.payments) == 1)) | |
18 | + | then f.payments[0] | |
19 | + | else throw("No payment attached, Please Attach Token in payment[1].") | |
20 | + | let i = getString(this, ("addr_BLACKLISTED_" + g)) | |
21 | + | let j = getStringValue(this, "oracle_status") | |
22 | + | let k = getIntegerValue(this, "1m_contract_id") | |
23 | + | let l = getStringValue(this, ("1m_btc_" + toString(k))) | |
24 | + | let m = split(l, "_") | |
25 | + | let n = m[0] | |
26 | + | let o = parseIntValue(m[2]) | |
27 | + | let p = (height - o) | |
28 | + | let q = 1 | |
29 | + | let r = (k + q) | |
30 | + | let s = { | |
31 | + | let t = getInteger(this, "Total_Option_Orders") | |
32 | + | if ($isInstanceOf(t, "Int")) | |
26 | 33 | then { | |
27 | - | let | |
28 | - | | |
34 | + | let u = t | |
35 | + | u | |
29 | 36 | } | |
30 | 37 | else 0 | |
31 | 38 | } | |
32 | - | let | |
33 | - | let | |
34 | - | let | |
35 | - | if ($isInstanceOf( | |
39 | + | let v = (s + 1) | |
40 | + | let w = { | |
41 | + | let t = getInteger(this, ("Total_Option_Orders_" + toString(k))) | |
42 | + | if ($isInstanceOf(t, "Int")) | |
36 | 43 | then { | |
37 | - | let | |
38 | - | | |
44 | + | let u = t | |
45 | + | u | |
39 | 46 | } | |
40 | 47 | else 0 | |
41 | 48 | } | |
42 | - | let | |
43 | - | let | |
44 | - | let | |
45 | - | if ($isInstanceOf( | |
49 | + | let x = (w + 1) | |
50 | + | let y = { | |
51 | + | let t = getInteger(this, "Total_Calls") | |
52 | + | if ($isInstanceOf(t, "Int")) | |
46 | 53 | then { | |
47 | - | let | |
48 | - | | |
54 | + | let u = t | |
55 | + | u | |
49 | 56 | } | |
50 | 57 | else 0 | |
51 | 58 | } | |
52 | - | let | |
53 | - | let | |
54 | - | let | |
55 | - | if ($isInstanceOf( | |
59 | + | let z = (y + 1) | |
60 | + | let A = { | |
61 | + | let t = getInteger(this, ("Total_Calls_" + toString(k))) | |
62 | + | if ($isInstanceOf(t, "Int")) | |
56 | 63 | then { | |
57 | - | let | |
58 | - | | |
64 | + | let u = t | |
65 | + | u | |
59 | 66 | } | |
60 | 67 | else 0 | |
61 | 68 | } | |
62 | - | let | |
63 | - | let | |
64 | - | let | |
65 | - | if ($isInstanceOf( | |
69 | + | let B = (A + 1) | |
70 | + | let C = { | |
71 | + | let t = getInteger(this, (g + "_Total_Calls")) | |
72 | + | if ($isInstanceOf(t, "Int")) | |
66 | 73 | then { | |
67 | - | let | |
68 | - | | |
74 | + | let u = t | |
75 | + | u | |
69 | 76 | } | |
70 | 77 | else 0 | |
71 | 78 | } | |
72 | - | let | |
73 | - | let | |
74 | - | let | |
75 | - | if ($isInstanceOf( | |
79 | + | let D = (C + 1) | |
80 | + | let E = { | |
81 | + | let t = getInteger(this, ((g + "_Total_Calls_") + toString(k))) | |
82 | + | if ($isInstanceOf(t, "Int")) | |
76 | 83 | then { | |
77 | - | let | |
78 | - | | |
84 | + | let u = t | |
85 | + | u | |
79 | 86 | } | |
80 | 87 | else 0 | |
81 | 88 | } | |
82 | - | let | |
83 | - | if (( | |
89 | + | let F = (E + 1) | |
90 | + | if ((p > 2)) | |
84 | 91 | then throw("Something Wrong with Oracle or Height is not matched.") | |
85 | - | else if (( | |
92 | + | else if ((j == "Close")) | |
86 | 93 | then throw("Oracle is closed. Wait Until Oracle is Turned On.") | |
87 | - | else if ((f == "Yes")) | |
88 | - | then throw((e + " Address is Blacklisted. Please contact Admin to Whitelist it.")) | |
89 | - | else [StringEntry(((("Call_" + e) + "_") + toString(A)), k), StringEntry(((("Call_Start_End_" + e) + "_") + toString(A)), ((toString(h) + "_") + toString(o))), IntegerEntry("Total_Option_Orders", s), IntegerEntry(("Total_Option_Orders_" + toString(h)), u), IntegerEntry("Total_Calls", w), IntegerEntry(("Total_Calls_" + toString(h)), y), IntegerEntry((e + "_Total_Calls"), A), IntegerEntry(((e + "_Total_Calls_") + toString(h)), C)] | |
94 | + | else if ((i == "Yes")) | |
95 | + | then throw((g + " Address is Blacklisted. Please contact Admin to Whitelist it.")) | |
96 | + | else if ((h.assetId != c)) | |
97 | + | then throw(("Wrong Asset Attached. Please attach the assetId " + toBase58String(c))) | |
98 | + | else if ((d > h.amount)) | |
99 | + | then throw((("Placed Order Size is less than " + toString((d / 1000000))) + " USDT.")) | |
100 | + | else if ((h.amount > e)) | |
101 | + | then throw((("Placed Order Size is more than " + toString((e / 1000000))) + " USDT.")) | |
102 | + | else [StringEntry(((("Call_" + g) + "_") + toString(D)), n), StringEntry(((("Call_Start_End_" + g) + "_") + toString(D)), ((toString(k) + "_") + toString(r))), IntegerEntry("Total_Option_Orders", v), IntegerEntry(("Total_Option_Orders_" + toString(k)), x), IntegerEntry("Total_Calls", z), IntegerEntry(("Total_Calls_" + toString(k)), B), IntegerEntry((g + "_Total_Calls"), D), IntegerEntry(((g + "_Total_Calls_") + toString(k)), F)] | |
90 | 103 | } | |
91 | 104 | ||
92 | 105 | ||
93 | 106 | ||
94 | - | @Callable( | |
107 | + | @Callable(f) | |
95 | 108 | func placeoptionPut () = { | |
96 | - | let e = toBase58String(d.caller.bytes) | |
97 | - | let f = getString(this, ("addr_BLACKLISTED_" + e)) | |
98 | - | let g = getStringValue(this, "oracle_status") | |
99 | - | let h = getIntegerValue(this, "1m_contract_id") | |
100 | - | let i = getStringValue(this, ("1m_btc_" + toString(h))) | |
101 | - | let j = split(i, "_") | |
102 | - | let k = j[0] | |
103 | - | let l = parseIntValue(j[2]) | |
104 | - | let m = (height - l) | |
105 | - | let n = 1 | |
106 | - | let o = (h + n) | |
107 | - | let p = { | |
108 | - | let q = getInteger(this, "Total_Option_Orders") | |
109 | - | if ($isInstanceOf(q, "Int")) | |
109 | + | let g = toBase58String(f.caller.bytes) | |
110 | + | let h = if ((size(f.payments) == 1)) | |
111 | + | then f.payments[0] | |
112 | + | else throw("No payment attached, Please Attach Token in payment[1].") | |
113 | + | let i = getString(this, ("addr_BLACKLISTED_" + g)) | |
114 | + | let j = getStringValue(this, "oracle_status") | |
115 | + | let k = getIntegerValue(this, "1m_contract_id") | |
116 | + | let l = getStringValue(this, ("1m_btc_" + toString(k))) | |
117 | + | let m = split(l, "_") | |
118 | + | let n = m[0] | |
119 | + | let o = parseIntValue(m[2]) | |
120 | + | let p = (height - o) | |
121 | + | let q = 1 | |
122 | + | let r = (k + q) | |
123 | + | let s = { | |
124 | + | let t = getInteger(this, "Total_Option_Orders") | |
125 | + | if ($isInstanceOf(t, "Int")) | |
110 | 126 | then { | |
111 | - | let | |
112 | - | | |
127 | + | let u = t | |
128 | + | u | |
113 | 129 | } | |
114 | 130 | else 0 | |
115 | 131 | } | |
116 | - | let | |
117 | - | let | |
118 | - | let | |
119 | - | if ($isInstanceOf( | |
132 | + | let v = (s + 1) | |
133 | + | let w = { | |
134 | + | let t = getInteger(this, ("Total_Option_Orders_" + toString(k))) | |
135 | + | if ($isInstanceOf(t, "Int")) | |
120 | 136 | then { | |
121 | - | let | |
122 | - | | |
137 | + | let u = t | |
138 | + | u | |
123 | 139 | } | |
124 | 140 | else 0 | |
125 | 141 | } | |
126 | - | let | |
127 | - | let | |
128 | - | let | |
129 | - | if ($isInstanceOf( | |
142 | + | let x = (w + 1) | |
143 | + | let G = { | |
144 | + | let t = getInteger(this, "Total_Puts") | |
145 | + | if ($isInstanceOf(t, "Int")) | |
130 | 146 | then { | |
131 | - | let | |
132 | - | | |
147 | + | let u = t | |
148 | + | u | |
133 | 149 | } | |
134 | 150 | else 0 | |
135 | 151 | } | |
136 | - | let | |
137 | - | let | |
138 | - | let | |
139 | - | if ($isInstanceOf( | |
152 | + | let H = (G + 1) | |
153 | + | let I = { | |
154 | + | let t = getInteger(this, ("Total_Puts_" + toString(k))) | |
155 | + | if ($isInstanceOf(t, "Int")) | |
140 | 156 | then { | |
141 | - | let | |
142 | - | | |
157 | + | let u = t | |
158 | + | u | |
143 | 159 | } | |
144 | 160 | else 0 | |
145 | 161 | } | |
146 | - | let | |
147 | - | let | |
148 | - | let | |
149 | - | if ($isInstanceOf( | |
162 | + | let J = (I + 1) | |
163 | + | let K = { | |
164 | + | let t = getInteger(this, (g + "_Total_Puts")) | |
165 | + | if ($isInstanceOf(t, "Int")) | |
150 | 166 | then { | |
151 | - | let | |
152 | - | | |
167 | + | let u = t | |
168 | + | u | |
153 | 169 | } | |
154 | 170 | else 0 | |
155 | 171 | } | |
156 | - | let | |
157 | - | let | |
158 | - | let | |
159 | - | if ($isInstanceOf( | |
172 | + | let L = (K + 1) | |
173 | + | let M = { | |
174 | + | let t = getInteger(this, ((g + "_Total_Puts_") + toString(k))) | |
175 | + | if ($isInstanceOf(t, "Int")) | |
160 | 176 | then { | |
161 | - | let | |
162 | - | | |
177 | + | let u = t | |
178 | + | u | |
163 | 179 | } | |
164 | 180 | else 0 | |
165 | 181 | } | |
166 | - | let | |
167 | - | if (( | |
182 | + | let N = (M + 1) | |
183 | + | if ((p > 2)) | |
168 | 184 | then throw("Something Wrong with Oracle or Height is not matched.") | |
169 | - | else if (( | |
185 | + | else if ((j == "Close")) | |
170 | 186 | then throw("Oracle is closed. Wait Until Oracle is Turned On.") | |
171 | - | else if ((f == "Yes")) | |
172 | - | then throw((e + " Address is Blacklisted. Please contact Admin to Whitelist it.")) | |
173 | - | else [StringEntry(((("Put_" + e) + "_") + toString(I)), k), StringEntry(((("Put_Start_End_" + e) + "_") + toString(I)), ((toString(h) + "_") + toString(o))), IntegerEntry("Total_Option_Orders", s), IntegerEntry(("Total_Option_Orders_" + toString(h)), u), IntegerEntry("Total_Puts", E), IntegerEntry(("Total_Puts_" + toString(h)), G), IntegerEntry((e + "_Total_Puts"), I), IntegerEntry(((e + "_Total_Puts_") + toString(h)), K)] | |
187 | + | else if ((i == "Yes")) | |
188 | + | then throw((g + " Address is Blacklisted. Please contact Admin to Whitelist it.")) | |
189 | + | else if ((h.assetId != c)) | |
190 | + | then throw(("Wrong Asset Attached. Please attach the assetId " + toBase58String(c))) | |
191 | + | else if ((d > h.amount)) | |
192 | + | then throw((("Placed Order Size is less than " + toString((d / 1000000))) + " USDT.")) | |
193 | + | else if ((h.amount > e)) | |
194 | + | then throw((("Placed Order Size is more than " + toString((e / 1000000))) + " USDT.")) | |
195 | + | else [StringEntry(((("Put_" + g) + "_") + toString(L)), n), StringEntry(((("Put_Start_End_" + g) + "_") + toString(L)), ((toString(k) + "_") + toString(r))), IntegerEntry("Total_Option_Orders", v), IntegerEntry(("Total_Option_Orders_" + toString(k)), x), IntegerEntry("Total_Puts", H), IntegerEntry(("Total_Puts_" + toString(k)), J), IntegerEntry((g + "_Total_Puts"), L), IntegerEntry(((g + "_Total_Puts_") + toString(k)), N)] | |
174 | 196 | } | |
175 | 197 | ||
176 | 198 | ||
177 | 199 | ||
178 | - | @Callable( | |
179 | - | func ClaimCall ( | |
180 | - | let | |
181 | - | let | |
182 | - | then | |
200 | + | @Callable(f) | |
201 | + | func ClaimCall (O) = { | |
202 | + | let g = toBase58String(f.caller.bytes) | |
203 | + | let h = if ((size(f.payments) == 1)) | |
204 | + | then f.payments[0] | |
183 | 205 | else throw("No payment attached, Please Attach Tokens in payment[1].") | |
184 | - | let | |
185 | - | let | |
186 | - | let | |
187 | - | let | |
188 | - | let | |
189 | - | let | |
190 | - | let | |
191 | - | let | |
192 | - | let | |
193 | - | let | |
194 | - | let | |
195 | - | let | |
196 | - | let | |
197 | - | let | |
198 | - | if ($isInstanceOf( | |
206 | + | let P = getStringValue(this, ((("Call_" + g) + "_") + O)) | |
207 | + | let Q = getStringValue(this, ((("Call_Start_End_" + g) + "_") + O)) | |
208 | + | let R = split(Q, "_") | |
209 | + | let S = R[0] | |
210 | + | let T = R[1] | |
211 | + | let U = getStringValue(this, ("1m_btc_" + S)) | |
212 | + | let V = split(U, "_") | |
213 | + | let W = V[0] | |
214 | + | let X = getStringValue(this, ("1m_btc_" + T)) | |
215 | + | let Y = split(X, "_") | |
216 | + | let Z = Y[0] | |
217 | + | let aa = (parseIntValue(Z) - parseIntValue(W)) | |
218 | + | let ab = { | |
219 | + | let t = getInteger(this, "Total_Option_Call_Wins") | |
220 | + | if ($isInstanceOf(t, "Int")) | |
199 | 221 | then { | |
200 | - | let r = q | |
201 | - | r | |
202 | - | } | |
203 | - | else 0 | |
204 | - | } | |
205 | - | let aa = (Z + 1) | |
206 | - | let ab = { | |
207 | - | let q = getInteger(this, "Total_Option_Call_Lose") | |
208 | - | if ($isInstanceOf(q, "Int")) | |
209 | - | then { | |
210 | - | let r = q | |
211 | - | r | |
222 | + | let u = t | |
223 | + | u | |
212 | 224 | } | |
213 | 225 | else 0 | |
214 | 226 | } | |
215 | 227 | let ac = (ab + 1) | |
216 | - | if ((0 > Y)) | |
217 | - | then [IntegerEntry("Diff", Y), IntegerEntry("Total_Option_Call_Lose", ac), StringEntry(((((((((((("c_" + e) + "_") + L) + "_") + Q) + "_") + R) + "_") + U) + "_") + X), "lose"), StringEntry("message", "You lose!"), DeleteEntry(((("Call_" + e) + "_") + L)), DeleteEntry(((("Call_Start_End_" + e) + "_") + L))] | |
218 | - | else [IntegerEntry("Diff", Y), IntegerEntry("Total_Option_Call_Wins", aa), StringEntry(((((((((((("c_" + e) + "_") + L) + "_") + Q) + "_") + R) + "_") + U) + "_") + X), "Win"), StringEntry("message", "You Win!"), DeleteEntry(((("Call_" + e) + "_") + L)), DeleteEntry(((("Call_Start_End_" + e) + "_") + L))] | |
228 | + | let ad = { | |
229 | + | let t = getInteger(this, "Total_Option_Call_Lose") | |
230 | + | if ($isInstanceOf(t, "Int")) | |
231 | + | then { | |
232 | + | let u = t | |
233 | + | u | |
234 | + | } | |
235 | + | else 0 | |
236 | + | } | |
237 | + | let ae = (ad + 1) | |
238 | + | if ((0 >= aa)) | |
239 | + | then [IntegerEntry("Diff", aa), IntegerEntry("Total_Option_Call_Lose", ae), StringEntry(((((((((((("c_" + g) + "_") + O) + "_") + S) + "_") + T) + "_") + W) + "_") + Z), "lose"), StringEntry("message", "You lose!"), DeleteEntry(((("Call_" + g) + "_") + O)), DeleteEntry(((("Call_Start_End_" + g) + "_") + O))] | |
240 | + | else [IntegerEntry("Diff", aa), IntegerEntry("Total_Option_Call_Wins", ac), StringEntry(((((((((((("c_" + g) + "_") + O) + "_") + S) + "_") + T) + "_") + W) + "_") + Z), "Win"), StringEntry("message", "You Win!"), DeleteEntry(((("Call_" + g) + "_") + O)), DeleteEntry(((("Call_Start_End_" + g) + "_") + O))] | |
219 | 241 | } | |
220 | 242 | ||
221 | 243 | ||
222 | 244 | ||
223 | - | @Callable( | |
224 | - | func ClaimPut ( | |
225 | - | let | |
226 | - | let | |
227 | - | then | |
245 | + | @Callable(f) | |
246 | + | func ClaimPut (af) = { | |
247 | + | let g = toBase58String(f.caller.bytes) | |
248 | + | let h = if ((size(f.payments) == 1)) | |
249 | + | then f.payments[0] | |
228 | 250 | else throw("No payment attached, Please Attach Tokens in payment[1].") | |
229 | - | let | |
230 | - | let | |
231 | - | let | |
232 | - | let | |
233 | - | let | |
234 | - | let | |
235 | - | let | |
236 | - | let | |
237 | - | let | |
238 | - | let | |
239 | - | let | |
240 | - | let | |
241 | - | let | |
242 | - | let | |
243 | - | if ($isInstanceOf( | |
251 | + | let ag = getStringValue(this, ((("Put_" + g) + "_") + af)) | |
252 | + | let ah = getStringValue(this, ((("Put_Start_End_" + g) + "_") + af)) | |
253 | + | let R = split(ah, "_") | |
254 | + | let S = R[0] | |
255 | + | let T = R[1] | |
256 | + | let U = getStringValue(this, ("1m_btc_" + S)) | |
257 | + | let V = split(U, "_") | |
258 | + | let W = V[0] | |
259 | + | let X = getStringValue(this, ("1m_btc_" + T)) | |
260 | + | let Y = split(X, "_") | |
261 | + | let Z = Y[0] | |
262 | + | let aa = (parseIntValue(Z) - parseIntValue(W)) | |
263 | + | let ai = { | |
264 | + | let t = getInteger(this, "Total_Option_Put_Wins") | |
265 | + | if ($isInstanceOf(t, "Int")) | |
244 | 266 | then { | |
245 | - | let r = q | |
246 | - | r | |
247 | - | } | |
248 | - | else 0 | |
249 | - | } | |
250 | - | let ah = (ag + 1) | |
251 | - | let ai = { | |
252 | - | let q = getInteger(this, "Total_Option_Put_Lose") | |
253 | - | if ($isInstanceOf(q, "Int")) | |
254 | - | then { | |
255 | - | let r = q | |
256 | - | r | |
267 | + | let u = t | |
268 | + | u | |
257 | 269 | } | |
258 | 270 | else 0 | |
259 | 271 | } | |
260 | 272 | let aj = (ai + 1) | |
261 | - | if ((Y > 0)) | |
262 | - | then [IntegerEntry("Diff", Y), IntegerEntry("Total_Option_Put_Lose", aj), StringEntry(((((((((((("p_" + e) + "_") + ad) + "_") + Q) + "_") + R) + "_") + U) + "_") + X), "lose"), StringEntry("message", "You lose!"), DeleteEntry(((("Put_" + e) + "_") + ad)), DeleteEntry(((("Put_Start_End_" + e) + "_") + ad))] | |
263 | - | else [IntegerEntry("Diff", Y), IntegerEntry("Total_Option_Put_Wins", ah), StringEntry(((((((((((("p_" + e) + "_") + ad) + "_") + Q) + "_") + R) + "_") + U) + "_") + X), "Win"), StringEntry("message", "You Win!"), DeleteEntry(((("Put_" + e) + "_") + ad)), DeleteEntry(((("Put_Start_End_" + e) + "_") + ad))] | |
273 | + | let ak = { | |
274 | + | let t = getInteger(this, "Total_Option_Put_Lose") | |
275 | + | if ($isInstanceOf(t, "Int")) | |
276 | + | then { | |
277 | + | let u = t | |
278 | + | u | |
279 | + | } | |
280 | + | else 0 | |
281 | + | } | |
282 | + | let al = (ak + 1) | |
283 | + | if ((aa >= 0)) | |
284 | + | then [IntegerEntry("Diff", aa), IntegerEntry("Total_Option_Put_Lose", al), StringEntry(((((((((((("p_" + g) + "_") + af) + "_") + S) + "_") + T) + "_") + W) + "_") + Z), "lose"), StringEntry("message", "You lose!"), DeleteEntry(((("Put_" + g) + "_") + af)), DeleteEntry(((("Put_Start_End_" + g) + "_") + af))] | |
285 | + | else [IntegerEntry("Diff", aa), IntegerEntry("Total_Option_Put_Wins", aj), StringEntry(((((((((((("p_" + g) + "_") + af) + "_") + S) + "_") + T) + "_") + W) + "_") + Z), "Win"), StringEntry("message", "You Win!"), DeleteEntry(((("Put_" + g) + "_") + af)), DeleteEntry(((("Put_Start_End_" + g) + "_") + af))] | |
264 | 286 | } | |
265 | 287 | ||
266 | 288 | ||
267 | 289 | ||
268 | - | @Callable( | |
269 | - | func calldata ( | |
270 | - | let | |
271 | - | let | |
272 | - | let | |
273 | - | let | |
274 | - | let | |
275 | - | let | |
276 | - | [StringEntry("price", | |
290 | + | @Callable(f) | |
291 | + | func calldata (am) = { | |
292 | + | let l = getStringValue(this, ("1m_btc_" + toString(am))) | |
293 | + | let m = split(l, "_") | |
294 | + | let n = m[0] | |
295 | + | let an = m[1] | |
296 | + | let ao = m[2] | |
297 | + | let ap = m[3] | |
298 | + | [StringEntry("price", m[0]), StringEntry("time", m[1]), StringEntry("blockheight", m[2]), StringEntry("div", m[3])] | |
277 | 299 | } | |
278 | 300 | ||
279 | 301 | ||
280 | 302 | ||
281 | - | @Callable( | |
303 | + | @Callable(f) | |
282 | 304 | func OpenOracle () = { | |
283 | - | let | |
284 | - | if (( | |
305 | + | let g = toBase58String(f.caller.bytes) | |
306 | + | if ((f.caller != b)) | |
285 | 307 | then throw((("This Address is not Authorized. Only " + toString(b)) + " is Authorized Address to Sign it.")) | |
286 | 308 | else [StringEntry("oracle_status", "Open")] | |
287 | 309 | } | |
288 | 310 | ||
289 | 311 | ||
290 | 312 | ||
291 | - | @Callable( | |
292 | - | func BlackListAddress ( | |
293 | - | let | |
294 | - | let | |
295 | - | let | |
296 | - | if ($isInstanceOf( | |
313 | + | @Callable(f) | |
314 | + | func BlackListAddress (aq) = { | |
315 | + | let i = getString(this, ("addr_BLACKLISTED_" + aq)) | |
316 | + | let ar = { | |
317 | + | let t = getInteger(this, "Total_Black_Listed_Address") | |
318 | + | if ($isInstanceOf(t, "Int")) | |
297 | 319 | then { | |
298 | - | let | |
299 | - | | |
320 | + | let u = t | |
321 | + | u | |
300 | 322 | } | |
301 | 323 | else 0 | |
302 | 324 | } | |
303 | - | let | |
304 | - | if (( | |
325 | + | let as = (ar + 1) | |
326 | + | if ((f.caller != b)) | |
305 | 327 | then throw((("This Address is not Authorized. Only " + toString(b)) + " is Authorized Address to Sign it.")) | |
306 | - | else if (( | |
328 | + | else if ((i == "Yes")) | |
307 | 329 | then throw("Address is already available in Blacklist.") | |
308 | - | else [StringEntry(("addr_BLACKLISTED_" + | |
330 | + | else [StringEntry(("addr_BLACKLISTED_" + aq), "Yes"), IntegerEntry("Total_Black_Listed_Address", as)] | |
309 | 331 | } | |
310 | 332 | ||
311 | 333 | ||
312 | 334 | ||
313 | - | @Callable( | |
314 | - | func DeleteBlackListAddress ( | |
315 | - | let | |
316 | - | let | |
317 | - | let | |
318 | - | if ($isInstanceOf( | |
335 | + | @Callable(f) | |
336 | + | func DeleteBlackListAddress (aq) = { | |
337 | + | let i = getString(this, ("addr_BLACKLISTED_" + aq)) | |
338 | + | let ar = { | |
339 | + | let t = getInteger(this, "Total_Black_Listed_Address") | |
340 | + | if ($isInstanceOf(t, "Int")) | |
319 | 341 | then { | |
320 | - | let | |
321 | - | | |
342 | + | let u = t | |
343 | + | u | |
322 | 344 | } | |
323 | 345 | else 0 | |
324 | 346 | } | |
325 | - | let | |
326 | - | if (( | |
347 | + | let as = (ar - 1) | |
348 | + | if ((f.caller != b)) | |
327 | 349 | then throw((("This Address is not Authorized. Only " + toString(b)) + " is Authorized Address to Sign it.")) | |
328 | - | else if (( | |
329 | - | then [DeleteEntry(("addr_BLACKLISTED_" + | |
350 | + | else if ((i == "Yes")) | |
351 | + | then [DeleteEntry(("addr_BLACKLISTED_" + aq)), IntegerEntry("Total_Black_Listed_Address", as)] | |
330 | 352 | else throw("Address is not available in Blacklist.") | |
331 | 353 | } | |
332 | 354 | ||
333 | 355 | ||
334 | - | @Verifier( | |
335 | - | func | |
356 | + | @Verifier(at) | |
357 | + | func au () = sigVerify(at.bodyBytes, at.proofs[0], at.senderPublicKey) | |
336 | 358 |
github/deemru/w8io/169f3d6 111.40 ms ◑