tx · ARHXYD7j7chYAze2gwH4J3h7HLpHpiBxufnJo6YeqTvQ

3PG2vMhK5CPqsCDodvLGzQ84QkoHXCJ3oNP:  -0.14000000 Waves

2020.12.28 00:49 [2391378] smart account 3PG2vMhK5CPqsCDodvLGzQ84QkoHXCJ3oNP > SELF 0.00000000 Waves

{ "type": 13, "id": "ARHXYD7j7chYAze2gwH4J3h7HLpHpiBxufnJo6YeqTvQ", "fee": 14000000, "feeAssetId": null, "timestamp": 1609108538836, "version": 1, "sender": "3PG2vMhK5CPqsCDodvLGzQ84QkoHXCJ3oNP", "senderPublicKey": "5RM3w4ysmDbtgfswnVNPx7DQkNwVAG3RoxNFHgt6ToNU", "proofs": [ "2fhERef7dEZcT23ScpN1wKvkJBeBLz1fPKPYkaYobk1pJyQYnPypMTt4PDyVuswo1PScYVNGrcXXwAaz2379bjaJ", "3RgoMQ6My4k5f543XKb9ANjk2WHXcBRmxbZKuDWV6bzcNsSJvSQaaGmxmnDVorBrb7t5LDBU4CMv3J4Nv7TUJqMj", "4WLMY7DuxYr5ju3mRppTApGJHjSY97iNe2ndo6o7VpLLPe2yQ5tvBqtVZXyoACfypuETS8mmtd9kdBeLymJCo9uY", "57d3ac92EJJCyV8fq9wV8ccH9HRFrMc9J8os6Q3NXeWVs95owBSKYuZBmVgmiwUr7HG5TyhyFfd6omc5AbSui9cw" ], "script": "base64:AAIEAAAAAAAAABYIAhIAEgMKAQESBAoCAQgSAwoBCBIAAAAAQgEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkAAAAAAAAAAAABAAAADmdldFN0cmluZ0J5S2V5AAAAAQAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AgAAAAABAAAAFmdldEJvb2xCeUFkZHJlc3NBbmRLZXkAAAACAAAAB2FkZHJlc3MAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQcBAAAAGGdldFN0cmluZ0J5QWRkcmVzc0FuZEtleQAAAAIAAAAHYWRkcmVzcwAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5AgAAAAABAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIAAAAHYWRkcmVzcwAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5AAAAAAAAAAAAAAAAAAdXQVZFTEVUAAAAAAAF9eEAAAAAAAVQQVVMSQAAAAAAAA9CQAAAAAAIUFJJQ0VMRVQAAAAAAAAPQkAAAAAABE1VTFQAAAAAAAX14QAAAAAACVNDQUxFTVVMVAAAAAAAAAAACAAAAAANTUlOT1JERVJUT1RBTAkAAGgAAAACAAAAAAAAAAAKBQAAAAdXQVZFTEVUAAAAAAZNQVhST0kAAAAAAAAAAF8AAAAACENBTkNFTEVEAgAAAAhjYW5jZWxlZAAAAAADTkVXAgAAAANuZXcAAAAABkZJTExFRAIAAAAGZmlsbGVkAAAAAAhQcmljZUtleQIAAAAFcHJpY2UAAAAADkJvbmRBc3NldElkS2V5AgAAAA1ib25kX2Fzc2V0X2lkAAAAABJOZXV0cmlub0Fzc2V0SWRLZXkCAAAAEW5ldXRyaW5vX2Fzc2V0X2lkAAAAABFCYWxhbmNlTG9ja2Vka0tleQIAAAANYmFsYW5jZV9sb2NrXwAAAAAVV2F2ZXNMb2NrZWRCYWxhbmNlS2V5CQABLAAAAAIFAAAAEUJhbGFuY2VMb2NrZWRrS2V5AgAAAAV3YXZlcwAAAAAYTmV1dHJpbm9Mb2NrZWRCYWxhbmNlS2V5CQABLAAAAAIFAAAAEUJhbGFuY2VMb2NrZWRrS2V5AgAAAAhuZXV0cmlubwAAAAANRmlyc3RPcmRlcktleQIAAAALb3JkZXJfZmlyc3QBAAAAEmdldFJvaUJ5T3JkZXJJZEtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAABBkZWJ1Z19vcmRlcl9yb2lfBQAAAAdvcmRlcklkAQAAABBnZXRPcmRlclByaWNlS2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAICAAAADG9yZGVyX3ByaWNlXwUAAAAHb3JkZXJJZAEAAAAQZ2V0T3JkZXJUb3RhbEtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAAxvcmRlcl90b3RhbF8FAAAAB29yZGVySWQBAAAAEGdldE9yZGVyT3duZXJLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAAMb3JkZXJfb3duZXJfBQAAAAdvcmRlcklkAQAAABFnZXRPcmRlckhlaWdodEtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAA1vcmRlcl9oZWlnaHRfBQAAAAdvcmRlcklkAQAAABFnZXRPcmRlclN0YXR1c0tleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAA1vcmRlcl9zdGF0dXNfBQAAAAdvcmRlcklkAQAAABZnZXRPcmRlckZpbGxlZFRvdGFsS2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAICAAAAE29yZGVyX2ZpbGxlZF90b3RhbF8FAAAAB29yZGVySWQBAAAAD2dldFByZXZPcmRlcktleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAAtvcmRlcl9wcmV2XwUAAAAHb3JkZXJJZAEAAAAPZ2V0TmV4dE9yZGVyS2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAICAAAAC29yZGVyX25leHRfBQAAAAdvcmRlcklkAQAAABZjb252ZXJ0TmV1dHJpbm9Ub1dhdmVzAAAAAgAAAAZhbW91bnQAAAAFcHJpY2UJAABrAAAAAwkAAGsAAAADBQAAAAZhbW91bnQFAAAACFBSSUNFTEVUBQAAAAVwcmljZQUAAAAHV0FWRUxFVAUAAAAFUEFVTEkBAAAAFmNvbnZlcnRXYXZlc1RvTmV1dHJpbm8AAAACAAAABmFtb3VudAAAAAVwcmljZQkAAGsAAAADCQAAawAAAAMFAAAABmFtb3VudAUAAAAFcHJpY2UFAAAACFBSSUNFTEVUBQAAAAVQQVVMSQUAAAAHV0FWRUxFVAEAAAASY29udmVydFdhdmVzVG9Cb25kAAAAAgAAAAZhbW91bnQAAAAFcHJpY2UJAQAAABZjb252ZXJ0V2F2ZXNUb05ldXRyaW5vAAAAAgUAAAAGYW1vdW50BQAAAAVwcmljZQEAAAASY29udmVydEJvbmRUb1dhdmVzAAAAAgAAAAZhbW91bnQAAAAFcHJpY2UJAQAAABZjb252ZXJ0TmV1dHJpbm9Ub1dhdmVzAAAAAgUAAAAGYW1vdW50BQAAAAVwcmljZQAAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAAB0FkZHJlc3MAAAABAQAAABoBV3AEYqZHm+mtVmiUy++FjDCCICiaCBSWsgAAAAAPY29udHJvbENvbnRyYWN0CQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFXI7OtElyTpMrsOf5PRtbNVk0t+xD7Y5h6AAAAABNsaXF1aWRhdGlvbkNvbnRyYWN0CQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFXGupJy/oKfsoIfyjVn5WODHtptak4kR9IAAAAAA9uZXV0cmlub0Fzc2V0SWQBAAAAILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRAAAAAAtib25kQXNzZXRJZAEAAAAgVe7DvqoL8FDoccgbqm5wnqSxyP5KLrnB8czFaw94l0sAAAAACWlzQmxvY2tlZAkBAAAAFmdldEJvb2xCeUFkZHJlc3NBbmRLZXkAAAACBQAAAA9jb250cm9sQ29udHJhY3QCAAAACmlzX2Jsb2NrZWQAAAAADGN1cnJlbnRQcmljZQkBAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIFAAAAD2NvbnRyb2xDb250cmFjdAUAAAAIUHJpY2VLZXkAAAAAFW5ldXRyaW5vTG9ja2VkQmFsYW5jZQkBAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAAGE5ldXRyaW5vTG9ja2VkQmFsYW5jZUtleQAAAAAHcmVzZXJ2ZQkAAGUAAAACCAkAA+8AAAABBQAAABBuZXV0cmlub0NvbnRyYWN0AAAAB3JlZ3VsYXIJAQAAABhnZXROdW1iZXJCeUFkZHJlc3NBbmRLZXkAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0BQAAABVXYXZlc0xvY2tlZEJhbGFuY2VLZXkAAAAADnJlc2VydmVzSW5Vc2RuCQEAAAAWY29udmVydFdhdmVzVG9OZXV0cmlubwAAAAIFAAAAB3Jlc2VydmUFAAAADGN1cnJlbnRQcmljZQAAAAAObmV1dHJpbm9TdXBwbHkJAABlAAAAAgkAAGUAAAACCQAAZAAAAAIFAAAAFW5ldXRyaW5vTG9ja2VkQmFsYW5jZQgJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAAPbmV1dHJpbm9Bc3NldElkAAAACHF1YW50aXR5CQAD8AAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAAD25ldXRyaW5vQXNzZXRJZAkAA/AAAAACBQAAABNsaXF1aWRhdGlvbkNvbnRyYWN0BQAAAA9uZXV0cmlub0Fzc2V0SWQAAAAAB2RlZmljaXQJAABlAAAAAgUAAAAObmV1dHJpbm9TdXBwbHkFAAAADnJlc2VydmVzSW5Vc2RuAAAAAA1jdXJyZW50TWF4Um9pCQAAawAAAAMFAAAAB2RlZmljaXQAAAAAAAAAAGQFAAAADm5ldXRyaW5vU3VwcGx5AAAAAA1jdXJyZW50QnJNdWx0CQAAawAAAAMFAAAADnJlc2VydmVzSW5Vc2RuBQAAAARNVUxUBQAAAA5uZXV0cmlub1N1cHBseQAAAAAKZmlyc3RPcmRlcgkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAANRmlyc3RPcmRlcktleQEAAAANZ2V0T3JkZXJQcmljZQAAAAEAAAACaWQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABBnZXRPcmRlclByaWNlS2V5AAAAAQUAAAACaWQBAAAADWdldE9yZGVyVG90YWwAAAABAAAAAmlkCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAQZ2V0T3JkZXJUb3RhbEtleQAAAAEFAAAAAmlkAQAAAA1nZXRPcmRlck93bmVyAAAAAQAAAAJpZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEGdldE9yZGVyT3duZXJLZXkAAAABBQAAAAJpZAEAAAAOZ2V0T3JkZXJTdGF0dXMAAAABAAAAAmlkCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAARZ2V0T3JkZXJTdGF0dXNLZXkAAAABBQAAAAJpZAEAAAATZ2V0T3JkZXJGaWxsZWRUb3RhbAAAAAEAAAACaWQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABZnZXRPcmRlckZpbGxlZFRvdGFsS2V5AAAAAQUAAAACaWQBAAAADGdldFByZXZPcmRlcgAAAAEAAAACaWQJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAA9nZXRQcmV2T3JkZXJLZXkAAAABBQAAAAJpZAEAAAAMZ2V0TmV4dE9yZGVyAAAAAQAAAAJpZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAD2dldE5leHRPcmRlcktleQAAAAEFAAAAAmlkAQAAAA5nZXRQcmljZUZvclJvaQAAAAEAAAALcm9pUGVyY2VudHMJAABrAAAAAwkAAGQAAAACAAAAAAAAAABkBQAAAAtyb2lQZXJjZW50cwUAAAAMY3VycmVudFByaWNlAAAAAAAAAABkAQAAAA9nZXRSZXZlcnNlUHJpY2UAAAABAAAABXByaWNlCQAAaQAAAAIJAABoAAAAAgUAAAAIUFJJQ0VMRVQFAAAACFBSSUNFTEVUBQAAAAVwcmljZQEAAAAWY2FsY05zYnQyV2F2ZXNQcmljZVJhdwAAAAIAAAANc3BlbnRXYXZlc1JhdwAAAA9yZWNlaXZlZE5zYnRSYXcJAABrAAAAAwUAAAANc3BlbnRXYXZlc1JhdwkAAGgAAAACBQAAAAVQQVVMSQUAAAAIUFJJQ0VMRVQFAAAAD3JlY2VpdmVkTnNidFJhdwEAAAAJb3JkZXJEYXRhAAAABwAAAAdvcmRlcklkAAAADXRvdGFsV2F2ZWxldHMAAAAOZmlsbGVkV2F2ZWxldHMAAAAFb3duZXIAAAAGc3RhdHVzAAAAA3JvaQAAAAVwcmljZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAEGdldE9yZGVyUHJpY2VLZXkAAAABBQAAAAdvcmRlcklkBQAAAAVwcmljZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAEGdldE9yZGVyVG90YWxLZXkAAAABBQAAAAdvcmRlcklkBQAAAA10b3RhbFdhdmVsZXRzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAWZ2V0T3JkZXJGaWxsZWRUb3RhbEtleQAAAAEFAAAAB29yZGVySWQFAAAADmZpbGxlZFdhdmVsZXRzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABBnZXRPcmRlck93bmVyS2V5AAAAAQUAAAAHb3JkZXJJZAUAAAAFb3duZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABFnZXRPcmRlckhlaWdodEtleQAAAAEFAAAAB29yZGVySWQFAAAABmhlaWdodAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAARZ2V0T3JkZXJTdGF0dXNLZXkAAAABBQAAAAdvcmRlcklkBQAAAAZzdGF0dXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAZZGVidWdfb3JkZXJfY3VycmVudFByaWNlXwUAAAAHb3JkZXJJZAUAAAAMY3VycmVudFByaWNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAASZ2V0Um9pQnlPcmRlcklkS2V5AAAAAQUAAAAHb3JkZXJJZAUAAAADcm9pBQAAAANuaWwBAAAAEGludGVybmFsU2VsbEJvbmQAAAAIAAAAC3BGaXJzdE9yZGVyAAAACnBOZXh0T3JkZXIAAAAMcEZpbGxlZFRvdGFsAAAABHBSb2kAAAAGcFByaWNlAAAAEHBQYXltZW50V2F2ZWxldHMAAAARb3JkZXJPd25lckFkZHJlc3MAAAAMaW5zdGFudE9yZGVyBAAAABVwcmljZVdhdmVzQnlCb25kQ2VudHMJAQAAAA5nZXRQcmljZUZvclJvaQAAAAEFAAAABHBSb2kEAAAADXJlbWFpbmVkVG90YWwJAABlAAAAAgUAAAAQcFBheW1lbnRXYXZlbGV0cwUAAAAMcEZpbGxlZFRvdGFsBAAAABNmaWxsYWJsZU9yZGVyQW1vdW50CQEAAAASY29udmVydFdhdmVzVG9Cb25kAAAAAgUAAAANcmVtYWluZWRUb3RhbAUAAAAVcHJpY2VXYXZlc0J5Qm9uZENlbnRzBAAAABt0b3RhbE9yZGVyV2F2ZWxldGVzUmVxdWlyZWQJAQAAABJjb252ZXJ0Qm9uZFRvV2F2ZXMAAAACBQAAABNmaWxsYWJsZU9yZGVyQW1vdW50BQAAABVwcmljZVdhdmVzQnlCb25kQ2VudHMEAAAAFW5iVG9rZW5zU2VsbENvbmRpdGlvbgkAAGcAAAACBQAAAA1jdXJyZW50TWF4Um9pBQAAAARwUm9pAwkBAAAAASEAAAABBQAAABVuYlRva2Vuc1NlbGxDb25kaXRpb24JAAACAAAAAQkAASwAAAACAgAAABNpbm5hcHJvcHJpYXRlIHJvaTogCQABpAAAAAEFAAAABHBSb2kDCQAAAAAAAAIFAAAAG3RvdGFsT3JkZXJXYXZlbGV0ZXNSZXF1aXJlZAAAAAAAAAAAAAkAAAIAAAABAgAAAB9jYW5ub3QgZmlsbCBvcmRlciBhdCB0aGUgbW9tZW50BAAAAA5jaGFuZ2VXYXZlbGV0cwkAAGUAAAACBQAAAA1yZW1haW5lZFRvdGFsBQAAABt0b3RhbE9yZGVyV2F2ZWxldGVzUmVxdWlyZWQEAAAADHdyaXRlU2V0RGF0YQMFAAAADGluc3RhbnRPcmRlcgkBAAAACW9yZGVyRGF0YQAAAAcFAAAAC3BGaXJzdE9yZGVyBQAAABBwUGF5bWVudFdhdmVsZXRzCQAAZAAAAAIFAAAADHBGaWxsZWRUb3RhbAUAAAAbdG90YWxPcmRlcldhdmVsZXRlc1JlcXVpcmVkCQACWAAAAAEIBQAAABFvcmRlck93bmVyQWRkcmVzcwAAAAVieXRlcwUAAAAGRklMTEVEBQAAAARwUm9pBQAAAAxjdXJyZW50UHJpY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABZnZXRPcmRlckZpbGxlZFRvdGFsS2V5AAAAAQUAAAALcEZpcnN0T3JkZXIJAABkAAAAAgUAAAAMcEZpbGxlZFRvdGFsBQAAABt0b3RhbE9yZGVyV2F2ZWxldGVzUmVxdWlyZWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEWdldE9yZGVyU3RhdHVzS2V5AAAAAQUAAAALcEZpcnN0T3JkZXIFAAAABkZJTExFRAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPZ2V0UHJldk9yZGVyS2V5AAAAAQUAAAAKcE5leHRPcmRlcgIAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADUZpcnN0T3JkZXJLZXkFAAAACnBOZXh0T3JkZXIFAAAAA25pbAkABE4AAAACBQAAAAx3cml0ZVNldERhdGEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAARb3JkZXJPd25lckFkZHJlc3MFAAAAE2ZpbGxhYmxlT3JkZXJBbW91bnQFAAAAC2JvbmRBc3NldElkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAAG3RvdGFsT3JkZXJXYXZlbGV0ZXNSZXF1aXJlZAUAAAAEdW5pdAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABFvcmRlck93bmVyQWRkcmVzcwUAAAAOY2hhbmdlV2F2ZWxldHMFAAAABHVuaXQFAAAAA25pbAEAAAAXaW50ZXJuYWxBZGRCdXlCb25kT3JkZXIAAAAFAAAAA3JvaQAAAAVwcmljZQAAAAlwcmV2T3JkZXIAAAADaW52AAAADGluc3RhbnRPcmRlcgQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAANpbnYAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAACm5ld09yZGVySWQJAAJYAAAAAQgFAAAAA2ludgAAAA10cmFuc2FjdGlvbklkAwUAAAAJaXNCbG9ja2VkCQAAAgAAAAECAAAAWWNvbnRyYWN0IGlzIGJsb2NrZWQgYnkgRU1FUkdFTkNZIFNIVVRET1dOIGFjdGlvbnMgdW50aWwgcmVhY3RpdmF0aW9uIGJ5IGVtZXJnZW5jeSBvcmFjbGVzAwkAAGYAAAACBQAAAA1NSU5PUkRFUlRPVEFMCAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABCQABLAAAAAICAAAAF21pbiBvcmRlciB0b3RhbCBlcXVhbHMgCQABpAAAAAEFAAAADU1JTk9SREVSVE9UQUwDCQAAZgAAAAIFAAAAA3JvaQUAAAAGTUFYUk9JCQAAAgAAAAECAAAAF21heCBzZXRPcmRlciBST0kgaXMgOTUlAwkAAGYAAAACAAAAAAAAAAAABQAAAANyb2kJAAACAAAAAQIAAAAjY2FuJ3QgcGxhY2Ugb3JkZXIgd2l0aCBuZWdhdGl2ZSByb2kDCQAAAAAAAAIFAAAAA3JvaQAAAAAAAAAAAAkAAAIAAAABAgAAABxyb2kgc2hvdWxkIG5vdCBiZSBlcXVhbCB0byAwAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABAgAAABJjYW4gdXNlIHdhdmVzIG9ubHkDCQEAAAACIT0AAAACCQEAAAANZ2V0T3JkZXJPd25lcgAAAAEFAAAACm5ld09yZGVySWQCAAAAAAkAAAIAAAABAgAAAAxvcmRlciBleGlzdHMDAwkBAAAAAiE9AAAAAgUAAAAJcHJldk9yZGVyAgAAAAAJAQAAAAIhPQAAAAIJAQAAAA5nZXRPcmRlclN0YXR1cwAAAAEFAAAACXByZXZPcmRlcgUAAAADTkVXBwkAAAIAAAABAgAAABxwcmV2IG9yZGVyIHN0YXR1cyBpcyBub3QgbmV3BAAAABlpc05ld09yZGVyQXRGaXJzdFBvc2l0aW9uCQAAAAAAAAIFAAAACXByZXZPcmRlcgIAAAAABAAAAAVvd25lcgkABCUAAAABCAUAAAADaW52AAAABmNhbGxlcgQAAAAJbmV4dE9yZGVyAwUAAAAZaXNOZXdPcmRlckF0Rmlyc3RQb3NpdGlvbgUAAAAKZmlyc3RPcmRlcgkBAAAADGdldE5leHRPcmRlcgAAAAEFAAAACXByZXZPcmRlcgQAAAAMbmV4dE9yZGVyUm9pCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAASZ2V0Um9pQnlPcmRlcklkS2V5AAAAAQUAAAAJbmV4dE9yZGVyBAAAABBpc05leHRPcmRlckVycm9yAwMJAQAAAAIhPQAAAAIFAAAACW5leHRPcmRlcgIAAAAACQAAZwAAAAIFAAAAA3JvaQUAAAAMbmV4dE9yZGVyUm9pBwYHBAAAAAxwcmV2T3JkZXJSb2kJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABJnZXRSb2lCeU9yZGVySWRLZXkAAAABBQAAAAlwcmV2T3JkZXIEAAAAEGlzUHJldk9yZGVyRXJyb3IDAwkBAAAAAiE9AAAAAgUAAAAJcHJldk9yZGVyAgAAAAAJAABmAAAAAgUAAAAMcHJldk9yZGVyUm9pBQAAAANyb2kHBgcDAwUAAAAQaXNOZXh0T3JkZXJFcnJvcgYFAAAAEGlzUHJldk9yZGVyRXJyb3IJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAfaW52YWxpZCBvcmRlciBpc1ByZXZPcmRlckVycm9yOgkAAaUAAAABBQAAABBpc1ByZXZPcmRlckVycm9yAgAAABIgaXNOZXh0T3JkZXJFcnJvcjoJAAGlAAAAAQUAAAAQaXNOZXh0T3JkZXJFcnJvcgMDBQAAABlpc05ld09yZGVyQXRGaXJzdFBvc2l0aW9uCQAAZwAAAAIFAAAADWN1cnJlbnRNYXhSb2kFAAAAA3JvaQcJAQAAABBpbnRlcm5hbFNlbGxCb25kAAAACAUAAAAKbmV3T3JkZXJJZAUAAAAJbmV4dE9yZGVyAAAAAAAAAAAABQAAAANyb2kFAAAABXByaWNlCAUAAAADcG10AAAABmFtb3VudAgFAAAAA2ludgAAAAZjYWxsZXIGAwUAAAAMaW5zdGFudE9yZGVyCQAAAgAAAAECAAAAMkluc3RhbnQgb3JkZXIgY291bGRuJ3QgYmUgYWRkZWQgaW50byB3YWl0aW5nIHF1ZXVlCQAETgAAAAIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2dldFByZXZPcmRlcktleQAAAAEFAAAACm5ld09yZGVySWQFAAAACXByZXZPcmRlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPZ2V0TmV4dE9yZGVyS2V5AAAAAQUAAAAKbmV3T3JkZXJJZAUAAAAJbmV4dE9yZGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRy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AAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAPuAAAAAQkAAlkAAAABAgAAACxhZEx3NUpLZHBxZlNFcXZtRkp2Y2hlam9yQWt6ZDRCcldMdm9Gd3ZNR3U1awcJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAPuAAAAAQkAAlkAAAABAgAAACxzZEx3NUpLZHBxZlNFcXZtRkp2Y2hlam9yQWt6ZDRCcldMdm9Gd3ZNR3U1awcJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAPuAAAAAQkAAlkAAAABAgAAACxkZEx3NUpLZHBxZlNFcXZtRkp2Y2hlam9yQWt6ZDRCcldMdm9Gd3ZNR3U1awcJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAPuAAAAAQkAAlkAAAABAgAAACxmZEx3NUpLZHBxZlNFcXZtRkp2Y2hlam9yQWt6ZDRCcldMdm9Gd3ZNR3U1awcJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAPuAAAAAQkAAlkAAAABAgAAACxnZEx3NUpLZHBxZlNFcXZtRkp2Y2hlam9yQWt6ZDRCcldMdm9Gd3ZNR3U1awcJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAPuAAAAAQkAAlkAAAABAgAAACxoZEx3NUpLZHBxZlNFcXZtRkp2Y2hlam9yQWt6ZDRCcldMdm9Gd3ZNR3U1awcJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAPuAAAAAQkAAlkAAAABAgAAACxqZEx3NUpLZHBxZlNFcXZtRkp2Y2hlam9yQWt6ZDRCcldMdm9Gd3ZNR3U1awcJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAPuAAAAAQkAAlkAAAABAgAAACxrZEx3NUpLZHBxZlNFcXZtRkp2Y2hlam9yQWt6ZDRCcldMdm9Gd3ZNR3U1awcJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAPuAAAAAQkAAlkAAAABAgAAACxyZEx3NUpLZHBxZlNFcXZtRkp2Y2hlam9yQWt6ZDRCcldMdm9Gd3ZNR3U1awcJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAPuAAAAAQkAAlkAAAABAgAAACx0ZExxNUpLZHBxZlNFcXZtRkp2Y2hlam9yQWt6ZDRCcldMdm9Gd3ZNR3U1awcJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAPuAAAAAQkAAlkAAAABAgAAACx0ZEx5NUpLZHBxZlNFcXZtRkp2Y2hlam9yQWt6ZDRCcldMdm9Gd3ZNR3U1awcJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAPuAAAAAQkAAlkAAAABAgAAACx0ZEx1NUpLZHBxZlNFcXZtRkp2Y2hlam9yQWt6ZDRCcldMdm9Gd3ZNR3U1awcJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAPuAAAAAQkAAlkAAAABAgAAACx0ZExoNUpLZHBxZlNFcXZtRkp2Y2hlam9yQWt6ZDRCcldMdm9Gd3ZNR3U1awcJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAPuAAAAAQkAAlkAAAABAgAAACsxZEw0SktkcHFmU0Vxdm1GSnZjaGVqb3JBa3pkNEJyV0x2b0Z3dk1HdTVrBwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkAA+4AAAABCQACWQAAAAECAAAALDJkTDI1SktkcHFmU0Vxdm1GSnZjaGVqb3JBa3pkNEJyV0x2b0Z3dk1HdTVrBwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkAA+4AAAABCQACWQAAAAECAAAALDNkTDk1SktkcHFmU0Vxdm1GSnZjaGVqb3JBa3pkNEJyV0x2b0Z3dk1HdTVrBwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkAA+4AAAABCQACWQAAAAECAAAALDRkTDk1SktkcHFmU0Vxdm1GSnZjaGVqb3JBa3pkNEJyV0x2b0Z3dk1HdTVrBwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkAA+4AAAABCQACWQAAAAECAAAALDVkTDk1SktkcHFmU0Vxdm1GSnZjaGVqb3JBa3pkNEJyV0x2b0Z3dk1HdTVrBwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkAA+4AAAABCQACWQAAAAECAAAALDZkTDk1SktkcHFmU0Vxdm1GSnZjaGVqb3JBa3pkNEJyV0x2b0Z3dk1HdTVrBwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkAA+4AAAABCQACWQAAAAECAAAALDdkTDk1SktkcHFmU0Vxdm1GSnZjaGVqb3JBa3pkNEJyV0x2b0Z3dk1HdTVrBwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkAA+4AAAABCQACWQAAAAECAAAALDhkTDk1SktkcHFmU0Vxdm1GSnZjaGVqb3JBa3pkNEJyV0x2b0Z3dk1HdTVrBwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkAA+4AAAABCQACWQAAAAECAAAALDkxTDk1SktkcHFmU0Vxdm1GSnZjaGVqb3JBa3pkNEJyV0x2b0Z3dk1HdTVrBwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkAA+4AAAABCQACWQAAAAECAAAALDkyTDk1SktkcHFmU0Vxdm1GSnZjaGVqb3JBa3pkNEJyV0x2b0Z3dk1HdTVrBwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkAA+4AAAABCQACWQAAAAECAAAALDkzTDk1SktkcHFmU0Vxdm1GSnZjaGVqb3JBa3pkNEJyV0x2b0Z3dk1HdTVrBwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkAA+4AAAABCQACWQAAAAECAAAALDk0TDk1SktkcHFmU0Vxdm1GSnZjaGVqb3JBa3pkNEJyV0x2b0Z3dk1HdTVrBwAAAAUAAAABaQEAAAAQYnV5TnNidEluU3VycGx1cwAAAAAEAAAAA3BtdAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAJcG10QW1vdW50CAUAAAADcG10AAAABmFtb3VudAQAAAAMb3duZXJBZGRyZXNzCAUAAAABaQAAAAZjYWxsZXIDBQAAAAlpc0Jsb2NrZWQJAAACAAAAAQIAAABZY29udHJhY3QgaXMgYmxvY2tlZCBieSBFTUVSR0VOQ1kgU0hVVERPV04gYWN0aW9ucyB1bnRpbCByZWFjdGl2YXRpb24gYnkgZW1lcmdlbmN5IG9yYWNsZXMDCQAAZgAAAAIJAABoAAAAAgAAAAAAAAAAAQUAAAAE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ZGRCdXlCb25kT3JkZXIAAAAFBQAAAANyb2kJAQAAAA9nZXRSZXZlcnNlUHJpY2UAAAABBQAAABVwcmljZVdhdmVzQnlCb25kQ2VudHMCAAAAAAUAAAABaQYAAAABaQEAAAAPYWRkQnV5Qm9uZE9yZGVyAAAAAgAAAAVwcmljZQAAAAlwcmV2T3JkZXIEAAAAA3BtdAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAVcHJpY2VXYXZlc0J5Qm9uZENlbnRzCQEAAAAPZ2V0UmV2ZXJzZVByaWNlAAAAAQUAAAAFcHJpY2UDCQAAZwAAAAIAAAAAAAAAAAAFAAAABXByaWNlCQAAAgAAAAECAAAAD3ByaWNlIGxlc3MgemVybwkBAAAAF2ludGVybmFsQWRkQnV5Qm9uZE9yZGVyAAAABQkAAGsAAAADCQAAZQAAAAIFAAAAFXByaWNlV2F2ZXNCeUJvbmRDZW50cwUAAAAMY3VycmVudFByaWNlAAAAAAAAAABkBQAAAAxjdXJyZW50UHJpY2UFAAAABXByaWNlBQAAAAlwcmV2T3JkZXIFAAAAAWkHAAAAAWkBAAAAC2NhbmNlbE9yZGVyAAAAAQAAAAdvcmRlcklkBAAAAAVvd25lcgkBAAAADWdldE9yZGVyT3duZXIAAAABBQAAAAdvcmRlcklkBAAAAAZhbW91bnQJAABlAAAAAgkBAAAADWdldE9yZGVyVG90YWwAAAABBQAAAAdvcmRlcklkCQEAAAATZ2V0T3JkZXJGaWxsZWRUb3RhbAAAAAEFAAAAB29yZGVySWQEAAAABmNhbGxlcgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAACW5leHRPcmRlcgkBAAAADGdldE5leHRPcmRlcgAAAAEFAAAAB29yZGVySWQEAAAACXByZXZPcmRlcgkBAAAADGdldFByZXZPcmRlcgAAAAEFAAAAB29yZGVySWQDBQAAAAlpc0Jsb2NrZWQJAAACAAAAAQIAAABZY29udHJhY3QgaXMgYmxvY2tlZCBieSBFTUVSR0VOQ1kgU0hVVERPV04gYWN0aW9ucyB1bnRpbCByZWFjdGl2YXRpb24gYnkgZW1lcmdlbmN5IG9yYWNsZXMDCQEAAAACIT0AAAACBQAAAAVvd25lcgUAAAAGY2FsbGVyCQAAAgAAAAECAAAAEXBlcm1pc3Npb24gZGVuaWVkAwkBAAAAAiE9AAAAAgkBAAAADmdldE9yZGVyU3RhdHVzAAAAAQUAAAAHb3JkZXJJZAUAAAADTkVXCQAAAgAAAAECAAAAFGludmFsaWQgb3JkZXIgc3RhdHVzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADUZpcnN0T3JkZXJLZXkDCQAAAAAAAAIFAAAACmZpcnN0T3JkZXIFAAAAB29yZGVySWQFAAAACW5leHRPcmRlcgUAAAAKZmlyc3RPcmRlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPZ2V0TmV4dE9yZGVyS2V5AAAAAQUAAAAJcHJldk9yZGVyBQAAAAluZXh0T3JkZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2dldFByZXZPcmRlcktleQAAAAEFAAAACW5leHRPcmRlcgUAAAAJcHJldk9yZGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABFnZXRPcmRlclN0YXR1c0tleQAAAAEFAAAAB29yZGVySWQFAAAACENBTkNFTEVECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAGYW1vdW50BQAAAAR1bml0BQAAAANuaWwAAAABaQEAAAAIc2VsbEJvbmQAAAAAAwUAAAAJaXNCbG9ja2VkCQAAAgAAAAECAAAAWWNvbnRyYWN0IGlzIGJsb2NrZWQgYnkgRU1FUkdFTkNZIFNIVVRET1dOIGFjdGlvbnMgdW50aWwgcmVhY3RpdmF0aW9uIGJ5IGVtZXJnZW5jeSBvcmFjbGVzAwkAAAAAAAACBQAAAApmaXJzdE9yZGVyAgAAAAAJAAACAAAAAQIAAAAPZW1wdHkgb3JkZXJib29rBAAAAAluZXh0T3JkZXIJAQAAAAxnZXROZXh0T3JkZXIAAAABBQAAAApmaXJzdE9yZGVyBAAAAAtmaWxsZWRUb3RhbAkBAAAAE2dldE9yZGVyRmlsbGVkVG90YWwAAAABBQAAAApmaXJzdE9yZGVyBAAAAApvcmRlclByaWNlCQEAAAANZ2V0T3JkZXJQcmljZQAAAAEFAAAACmZpcnN0T3JkZXIEAAAAA3JvaQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAEmdldFJvaUJ5T3JkZXJJZEtleQAAAAEFAAAACmZpcnN0T3JkZXIEAAAAD3BheW1lbnRXYXZlbGV0cwkBAAAADWdldE9yZGVyVG90YWwAAAABBQAAAApmaXJzdE9yZGVyBAAAABFvcmRlck93bmVyQWRkcmVzcwkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEJAQAAAA1nZXRPcmRlck93bmVyAAAAAQUAAAAKZmlyc3RPcmRlcgkBAAAAEGludGVybmFsU2VsbEJvbmQAAAAIBQAAAApmaXJzdE9yZGVyBQAAAAluZXh0T3JkZXIFAAAAC2ZpbGxlZFRvdGFsBQAAAANyb2kFAAAACm9yZGVyUHJpY2UFAAAAD3BheW1lbnRXYXZlbGV0cwUAAAARb3JkZXJPd25lckFkZHJlc3MHAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAQcHViS2V5QWRtaW5zTGlzdAkABEwAAAACAgAAACxHSmRMU2FMaXY1Szd4dWVqYWM4bWNSY0hveW8zZFByRVNydmt0RzNhNk1BUgkABEwAAAACAgAAACxGV1ZmZllyMkFMbUhNZWpabTNXcWVMejZTZHltM2dMRkd0Sm40S1R3eVU1eAkABEwAAAACAgAAACwzV2gyTGFXY2I1Z2c3SzJwUGNXM0VwNkVBdVJCellrQWdyZHB0NDNqVERGYQkABEwAAAACAgAAACw1V1JYRlNqd2NUYk5mS2NKczhacVhtU1NXWXNTVkpVdE12TXFaajVoSDROYwUAAAADbmlsBAAAAAVjb3VudAkAAGQAAAACCQAAZAAAAAIJAABkAAAAAgMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACQACWQAAAAEJAAGRAAAAAgUAAAAQcHViS2V5QWRtaW5zTGlzdAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAABCQACWQAAAAEJAAGRAAAAAgUAAAAQcHViS2V5QWRtaW5zTGlzdAAAAAAAAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAACCQACWQAAAAEJAAGRAAAAAgUAAAAQcHViS2V5QWRtaW5zTGlzdAAAAAAAAAAAAgAAAAAAAAAAAQAAAAAAAAAAAAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAADCQACWQAAAAEJAAGRAAAAAgUAAAAQcHViS2V5QWRtaW5zTGlzdAAAAAAAAAAAAwAAAAAAAAAAAgAAAAAAAAAAAAkAAGcAAAACBQAAAAVjb3VudAAAAAAAAAAAAzcijko=", "chainId": 87, "height": 2391378, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BR3zoDb8gGv58NG1HqnazSNWkpWQR5DweaEjyBLmM71i Next: 5hCaQEJxVdDKzeDFVMXEuV74mgkEM7r6oPihLHMYc6Re Diff:
OldNewDifferences
251251 func bk (bl,bm) = (((((((((((((bl + "[finalResult=") + toString(bm._1)) + "wReservesInUsdn=") + toString(bm._2)) + " brMult=") + toString(bm._3)) + " powerMult=") + toString(bm._4)) + " expInPowerMult=") + toString(bm._5)) + " constCoeff=") + toString(bm._6)) + "]")
252252
253253
254-@Callable(bn)
254+func bn (bo) = if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (!(isDefined(transferTransactionById(fromBase58String("PdLw5JK5ppfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k")))))
255+ then !(isDefined(transferTransactionById(fromBase58String("adLw5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
256+ else false)
257+ then !(isDefined(transferTransactionById(fromBase58String("sdLw5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
258+ else false)
259+ then !(isDefined(transferTransactionById(fromBase58String("ddLw5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
260+ else false)
261+ then !(isDefined(transferTransactionById(fromBase58String("fdLw5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
262+ else false)
263+ then !(isDefined(transferTransactionById(fromBase58String("gdLw5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
264+ else false)
265+ then !(isDefined(transferTransactionById(fromBase58String("hdLw5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
266+ else false)
267+ then !(isDefined(transferTransactionById(fromBase58String("jdLw5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
268+ else false)
269+ then !(isDefined(transferTransactionById(fromBase58String("kdLw5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
270+ else false)
271+ then !(isDefined(transferTransactionById(fromBase58String("rdLw5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
272+ else false)
273+ then !(isDefined(transferTransactionById(fromBase58String("tdLq5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
274+ else false)
275+ then !(isDefined(transferTransactionById(fromBase58String("tdLy5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
276+ else false)
277+ then !(isDefined(transferTransactionById(fromBase58String("tdLu5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
278+ else false)
279+ then !(isDefined(transferTransactionById(fromBase58String("tdLh5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
280+ else false)
281+ then !(isDefined(transferTransactionById(fromBase58String("1dL4JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
282+ else false)
283+ then !(isDefined(transferTransactionById(fromBase58String("2dL25JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
284+ else false)
285+ then !(isDefined(transferTransactionById(fromBase58String("3dL95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
286+ else false)
287+ then !(isDefined(transferTransactionById(fromBase58String("4dL95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
288+ else false)
289+ then !(isDefined(transferTransactionById(fromBase58String("5dL95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
290+ else false)
291+ then !(isDefined(transferTransactionById(fromBase58String("6dL95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
292+ else false)
293+ then !(isDefined(transferTransactionById(fromBase58String("7dL95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
294+ else false)
295+ then !(isDefined(transferTransactionById(fromBase58String("8dL95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
296+ else false)
297+ then !(isDefined(transferTransactionById(fromBase58String("91L95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
298+ else false)
299+ then !(isDefined(transferTransactionById(fromBase58String("92L95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
300+ else false)
301+ then !(isDefined(transferTransactionById(fromBase58String("93L95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
302+ else false)
303+ then !(isDefined(transferTransactionById(fromBase58String("94L95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
304+ else false
305+
306+
307+@Callable(bo)
255308 func buyNsbtInSurplus () = {
256- let aQ = value(bn.payments[0])
257- let bo = aQ.amount
258- let bp = bn.caller
309+ let aQ = value(bo.payments[0])
310+ let bp = aQ.amount
311+ let bq = bo.caller
259312 if (T)
260313 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
261314 else if (((1 * k) > ab))
263316 else if (isDefined(aQ.assetId))
264317 then throw("can use waves only")
265318 else {
266- let bq = aY(W, Y, U)
267- let br = aY((W + bo), Y, U)
268- let bs = (bq._1 - br._1)
269- let bt = ao(bo, bs)
270- let aw = (fraction(an(bt), 100, U) - 100)
271- (ar(toBase58String(bn.transactionId), bo, bo, toString(bp), q, aw, bt) ++ [ScriptTransfer(bp, bs, S), ScriptTransfer(O, bo, unit), StringEntry("debug_f0", bk("f0", bq)), StringEntry("debug_f1", bk("f1", br))])
319+ let br = if (((1 * h) > bp))
320+ then if ((bn(bo) == true))
321+ then true
322+ else false
323+ else false
324+ if (br)
325+ then throw("big complexity + min 1 waves expected")
326+ else if (((1 * h) > bp))
327+ then throw("min 1 waves expected")
328+ else {
329+ let bs = aY(W, Y, U)
330+ let bt = aY((W + bp), Y, U)
331+ let bu = (bs._1 - bt._1)
332+ let bv = ao(bp, bu)
333+ let aw = (fraction(an(bv), 100, U) - 100)
334+ (ar(toBase58String(bo.transactionId), bp, bp, toString(bq), q, aw, bv) ++ [ScriptTransfer(bq, bu, S), ScriptTransfer(O, bp, unit), StringEntry("debug_f0", bk("f0", bs)), StringEntry("debug_f1", bk("f1", bt))])
335+ }
272336 }
273337 }
274338
275339
276340
277-@Callable(bn)
278-func instantBuyNsbtOrFail (bu) = {
279- let aQ = value(bn.payments[0])
341+@Callable(bo)
342+func instantBuyNsbtOrFail (bw) = {
343+ let aQ = value(bo.payments[0])
280344 let aw = aa
281- if ((bu > aw))
282- then throw(((("Current maxRoi=" + toString(aw)) + " is less then passed parameter noLessThenRoi=") + toString(bu)))
345+ if ((bw > aw))
346+ then throw(((("Current maxRoi=" + toString(aw)) + " is less then passed parameter noLessThenRoi=") + toString(bw)))
283347 else {
284348 let aG = al(aw)
285- aN(aw, an(aG), "", bn, true)
349+ aN(aw, an(aG), "", bo, true)
286350 }
287351 }
288352
289353
290354
291-@Callable(bn)
355+@Callable(bo)
292356 func addBuyBondOrder (K,aO) = {
293- let aQ = value(bn.payments[0])
357+ let aQ = value(bo.payments[0])
294358 let aG = an(K)
295359 if ((0 >= K))
296360 then throw("price less zero")
297- else aN(fraction((aG - U), 100, U), K, aO, bn, false)
361+ else aN(fraction((aG - U), 100, U), K, aO, bo, false)
298362 }
299363
300364
301365
302-@Callable(bn)
366+@Callable(bo)
303367 func cancelOrder (z) = {
304368 let au = ag(z)
305369 let J = (af(z) - ai(z))
306- let bv = toString(bn.caller)
370+ let bx = toString(bo.caller)
307371 let aT = ak(z)
308372 let aO = aj(z)
309373 if (T)
310374 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
311- else if ((au != bv))
375+ else if ((au != bx))
312376 then throw("permission denied")
313377 else if ((ah(z) != p))
314378 then throw("invalid order status")
315379 else [StringEntry(x, if ((ac == z))
316380 then aT
317- else ac), StringEntry(H(aO), aT), StringEntry(G(aT), aO), StringEntry(E(z), o), ScriptTransfer(bn.caller, J, unit)]
381+ else ac), StringEntry(H(aO), aT), StringEntry(G(aT), aO), StringEntry(E(z), o), ScriptTransfer(bo.caller, J, unit)]
318382 }
319383
320384
321385
322-@Callable(bn)
386+@Callable(bo)
323387 func sellBond () = if (T)
324388 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
325389 else if ((ac == ""))
326390 then throw("empty orderbook")
327391 else {
328392 let aT = ak(ac)
329- let bw = ai(ac)
330- let bx = ad(ac)
393+ let by = ai(ac)
394+ let bz = ad(ac)
331395 let aw = a(y(ac))
332- let by = af(ac)
396+ let bA = af(ac)
333397 let aE = Address(fromBase58String(ag(ac)))
334- ax(ac, aT, bw, aw, bx, by, aE, false)
398+ ax(ac, aT, by, aw, bz, bA, aE, false)
335399 }
336400
337401
338-@Verifier(bz)
339-func bA () = {
340- let bB = ["BLEoguzPVKVTfXxxT3W7Rqf8aUm2ggC9Vemd2MQawM2G", "FWVffYr2ALmHMejZm3WqeLz6Sdym3gLFGtJn4KTwyU5x", "3Wh2LaWcb5gg7K2pPcW3Ep6EAuRBzYkAgrdpt43jTDFa", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
341- let bC = ((((if (sigVerify(bz.bodyBytes, bz.proofs[0], fromBase58String(bB[0])))
402+@Verifier(bB)
403+func bC () = {
404+ let bD = ["GJdLSaLiv5K7xuejac8mcRcHoyo3dPrESrvktG3a6MAR", "FWVffYr2ALmHMejZm3WqeLz6Sdym3gLFGtJn4KTwyU5x", "3Wh2LaWcb5gg7K2pPcW3Ep6EAuRBzYkAgrdpt43jTDFa", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
405+ let bE = ((((if (sigVerify(bB.bodyBytes, bB.proofs[0], fromBase58String(bD[0])))
342406 then 1
343- else 0) + (if (sigVerify(bz.bodyBytes, bz.proofs[1], fromBase58String(bB[1])))
407+ else 0) + (if (sigVerify(bB.bodyBytes, bB.proofs[1], fromBase58String(bD[1])))
344408 then 1
345- else 0)) + (if (sigVerify(bz.bodyBytes, bz.proofs[2], fromBase58String(bB[2])))
409+ else 0)) + (if (sigVerify(bB.bodyBytes, bB.proofs[2], fromBase58String(bD[2])))
346410 then 1
347- else 0)) + (if (sigVerify(bz.bodyBytes, bz.proofs[3], fromBase58String(bB[3])))
411+ else 0)) + (if (sigVerify(bB.bodyBytes, bB.proofs[3], fromBase58String(bD[3])))
348412 then 2
349413 else 0))
350- (bC >= 3)
414+ (bE >= 3)
351415 }
352416
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = valueOrElse(getInteger(this, b), 0)
55
66
77 func c (b) = valueOrElse(getString(this, b), "")
88
99
1010 func d (e,b) = valueOrElse(getBoolean(e, b), false)
1111
1212
1313 func f (e,b) = valueOrElse(getString(e, b), "")
1414
1515
1616 func g (e,b) = valueOrElse(getInteger(e, b), 0)
1717
1818
1919 let h = 100000000
2020
2121 let i = 1000000
2222
2323 let j = 1000000
2424
2525 let k = 100000000
2626
2727 let l = 8
2828
2929 let m = (10 * h)
3030
3131 let n = 95
3232
3333 let o = "canceled"
3434
3535 let p = "new"
3636
3737 let q = "filled"
3838
3939 let r = "price"
4040
4141 let s = "bond_asset_id"
4242
4343 let t = "neutrino_asset_id"
4444
4545 let u = "balance_lock_"
4646
4747 let v = (u + "waves")
4848
4949 let w = (u + "neutrino")
5050
5151 let x = "order_first"
5252
5353 func y (z) = ("debug_order_roi_" + z)
5454
5555
5656 func A (z) = ("order_price_" + z)
5757
5858
5959 func B (z) = ("order_total_" + z)
6060
6161
6262 func C (z) = ("order_owner_" + z)
6363
6464
6565 func D (z) = ("order_height_" + z)
6666
6767
6868 func E (z) = ("order_status_" + z)
6969
7070
7171 func F (z) = ("order_filled_total_" + z)
7272
7373
7474 func G (z) = ("order_prev_" + z)
7575
7676
7777 func H (z) = ("order_next_" + z)
7878
7979
8080 func I (J,K) = fraction(fraction(J, j, K), h, i)
8181
8282
8383 func L (J,K) = fraction(fraction(J, K, j), i, h)
8484
8585
8686 func M (J,K) = L(J, K)
8787
8888
8989 func N (J,K) = I(J, K)
9090
9191
9292 let O = Address(base58'3PC9BfRwJWWiw9AREE2B3eWzCks3CYtg4yo')
9393
9494 let P = Address(base58'3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP')
9595
9696 let Q = Address(base58'3P4PCxsJqMzQBALo8zANHtBDZRRquobHQp7')
9797
9898 let R = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
9999
100100 let S = base58'6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g'
101101
102102 let T = d(P, "is_blocked")
103103
104104 let U = g(P, r)
105105
106106 let V = g(O, w)
107107
108108 let W = (wavesBalance(O).regular - g(O, v))
109109
110110 let X = L(W, U)
111111
112112 let Y = (((V + value(assetInfo(R)).quantity) - assetBalance(O, R)) - assetBalance(Q, R))
113113
114114 let Z = (Y - X)
115115
116116 let aa = fraction(Z, 100, Y)
117117
118118 let ab = fraction(X, k, Y)
119119
120120 let ac = c(x)
121121
122122 func ad (ae) = a(A(ae))
123123
124124
125125 func af (ae) = a(B(ae))
126126
127127
128128 func ag (ae) = c(C(ae))
129129
130130
131131 func ah (ae) = c(E(ae))
132132
133133
134134 func ai (ae) = a(F(ae))
135135
136136
137137 func aj (ae) = c(G(ae))
138138
139139
140140 func ak (ae) = c(H(ae))
141141
142142
143143 func al (am) = fraction((100 + am), U, 100)
144144
145145
146146 func an (K) = ((j * j) / K)
147147
148148
149149 func ao (ap,aq) = fraction(ap, (i * j), aq)
150150
151151
152152 func ar (z,as,at,au,av,aw,K) = [IntegerEntry(A(z), K), IntegerEntry(B(z), as), IntegerEntry(F(z), at), StringEntry(C(z), au), IntegerEntry(D(z), height), StringEntry(E(z), av), IntegerEntry(("debug_order_currentPrice_" + z), U), IntegerEntry(y(z), aw)]
153153
154154
155155 func ax (ay,az,aA,aB,aC,aD,aE,aF) = {
156156 let aG = al(aB)
157157 let aH = (aD - aA)
158158 let aI = M(aH, aG)
159159 let aJ = N(aI, aG)
160160 let aK = (aa >= aB)
161161 if (!(aK))
162162 then throw(("innapropriate roi: " + toString(aB)))
163163 else if ((aJ == 0))
164164 then throw("cannot fill order at the moment")
165165 else {
166166 let aL = (aH - aJ)
167167 let aM = if (aF)
168168 then ar(ay, aD, (aA + aJ), toBase58String(aE.bytes), q, aB, U)
169169 else [IntegerEntry(F(ay), (aA + aJ)), StringEntry(E(ay), q), StringEntry(G(az), ""), StringEntry(x, az)]
170170 (aM ++ [ScriptTransfer(aE, aI, S), ScriptTransfer(O, aJ, unit), ScriptTransfer(aE, aL, unit)])
171171 }
172172 }
173173
174174
175175 func aN (aw,K,aO,aP,aF) = {
176176 let aQ = value(aP.payments[0])
177177 let aR = toBase58String(aP.transactionId)
178178 if (T)
179179 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
180180 else if ((m > aQ.amount))
181181 then throw(("min order total equals " + toString(m)))
182182 else if ((aw > n))
183183 then throw("max setOrder ROI is 95%")
184184 else if ((0 > aw))
185185 then throw("can't place order with negative roi")
186186 else if ((aw == 0))
187187 then throw("roi should not be equal to 0")
188188 else if (isDefined(aQ.assetId))
189189 then throw("can use waves only")
190190 else if ((ag(aR) != ""))
191191 then throw("order exists")
192192 else if (if ((aO != ""))
193193 then (ah(aO) != p)
194194 else false)
195195 then throw("prev order status is not new")
196196 else {
197197 let aS = (aO == "")
198198 let au = toString(aP.caller)
199199 let aT = if (aS)
200200 then ac
201201 else ak(aO)
202202 let aU = a(y(aT))
203203 let aV = if (if ((aT != ""))
204204 then (aw >= aU)
205205 else false)
206206 then true
207207 else false
208208 let aW = a(y(aO))
209209 let aX = if (if ((aO != ""))
210210 then (aW > aw)
211211 else false)
212212 then true
213213 else false
214214 if (if (aV)
215215 then true
216216 else aX)
217217 then throw(((("invalid order isPrevOrderError:" + toString(aX)) + " isNextOrderError:") + toString(aV)))
218218 else if (if (aS)
219219 then (aa >= aw)
220220 else false)
221221 then ax(aR, aT, 0, aw, K, aQ.amount, aP.caller, true)
222222 else if (aF)
223223 then throw("Instant order couldn't be added into waiting queue")
224224 else ([StringEntry(G(aR), aO), StringEntry(H(aR), aT), StringEntry(H(aO), if ((aO == ""))
225225 then ""
226226 else aR), StringEntry(G(aT), if ((aT == ""))
227227 then ""
228228 else aR), StringEntry(x, if (if ((ac == ""))
229229 then true
230230 else (ac == aT))
231231 then aR
232232 else ac)] ++ ar(aR, aQ.amount, 0, au, p, aw, K))
233233 }
234234 }
235235
236236
237237 func aY (aZ,ba,K) = {
238238 let bb = 271828100
239239 let bc = valueOrElse(getInteger(this, "nsbtCurveParam_a"), 3)
240240 let bd = L(aZ, K)
241241 let be = fraction(bd, k, ba)
242242 let bf = (bc * (be - (1 * k)))
243243 let bg = pow(bb, l, bf, l, l, DOWN)
244244 let bh = fraction(ba, j, (bc * K))
245245 let bi = fraction(bh, k, bg)
246246 let bj = fraction(bi, K, j)
247247 $Tuple6(bj, bd, be, bf, bg, bh)
248248 }
249249
250250
251251 func bk (bl,bm) = (((((((((((((bl + "[finalResult=") + toString(bm._1)) + "wReservesInUsdn=") + toString(bm._2)) + " brMult=") + toString(bm._3)) + " powerMult=") + toString(bm._4)) + " expInPowerMult=") + toString(bm._5)) + " constCoeff=") + toString(bm._6)) + "]")
252252
253253
254-@Callable(bn)
254+func bn (bo) = if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (!(isDefined(transferTransactionById(fromBase58String("PdLw5JK5ppfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k")))))
255+ then !(isDefined(transferTransactionById(fromBase58String("adLw5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
256+ else false)
257+ then !(isDefined(transferTransactionById(fromBase58String("sdLw5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
258+ else false)
259+ then !(isDefined(transferTransactionById(fromBase58String("ddLw5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
260+ else false)
261+ then !(isDefined(transferTransactionById(fromBase58String("fdLw5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
262+ else false)
263+ then !(isDefined(transferTransactionById(fromBase58String("gdLw5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
264+ else false)
265+ then !(isDefined(transferTransactionById(fromBase58String("hdLw5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
266+ else false)
267+ then !(isDefined(transferTransactionById(fromBase58String("jdLw5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
268+ else false)
269+ then !(isDefined(transferTransactionById(fromBase58String("kdLw5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
270+ else false)
271+ then !(isDefined(transferTransactionById(fromBase58String("rdLw5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
272+ else false)
273+ then !(isDefined(transferTransactionById(fromBase58String("tdLq5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
274+ else false)
275+ then !(isDefined(transferTransactionById(fromBase58String("tdLy5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
276+ else false)
277+ then !(isDefined(transferTransactionById(fromBase58String("tdLu5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
278+ else false)
279+ then !(isDefined(transferTransactionById(fromBase58String("tdLh5JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
280+ else false)
281+ then !(isDefined(transferTransactionById(fromBase58String("1dL4JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
282+ else false)
283+ then !(isDefined(transferTransactionById(fromBase58String("2dL25JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
284+ else false)
285+ then !(isDefined(transferTransactionById(fromBase58String("3dL95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
286+ else false)
287+ then !(isDefined(transferTransactionById(fromBase58String("4dL95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
288+ else false)
289+ then !(isDefined(transferTransactionById(fromBase58String("5dL95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
290+ else false)
291+ then !(isDefined(transferTransactionById(fromBase58String("6dL95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
292+ else false)
293+ then !(isDefined(transferTransactionById(fromBase58String("7dL95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
294+ else false)
295+ then !(isDefined(transferTransactionById(fromBase58String("8dL95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
296+ else false)
297+ then !(isDefined(transferTransactionById(fromBase58String("91L95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
298+ else false)
299+ then !(isDefined(transferTransactionById(fromBase58String("92L95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
300+ else false)
301+ then !(isDefined(transferTransactionById(fromBase58String("93L95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
302+ else false)
303+ then !(isDefined(transferTransactionById(fromBase58String("94L95JKdpqfSEqvmFJvchejorAkzd4BrWLvoFwvMGu5k"))))
304+ else false
305+
306+
307+@Callable(bo)
255308 func buyNsbtInSurplus () = {
256- let aQ = value(bn.payments[0])
257- let bo = aQ.amount
258- let bp = bn.caller
309+ let aQ = value(bo.payments[0])
310+ let bp = aQ.amount
311+ let bq = bo.caller
259312 if (T)
260313 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
261314 else if (((1 * k) > ab))
262315 then throw(((("use instantBuyNsbtOrFail or addBuyBondOrder methods to buy nsbt when BR < 1: currentBR=" + toString(ab)) + "/") + toString(k)))
263316 else if (isDefined(aQ.assetId))
264317 then throw("can use waves only")
265318 else {
266- let bq = aY(W, Y, U)
267- let br = aY((W + bo), Y, U)
268- let bs = (bq._1 - br._1)
269- let bt = ao(bo, bs)
270- let aw = (fraction(an(bt), 100, U) - 100)
271- (ar(toBase58String(bn.transactionId), bo, bo, toString(bp), q, aw, bt) ++ [ScriptTransfer(bp, bs, S), ScriptTransfer(O, bo, unit), StringEntry("debug_f0", bk("f0", bq)), StringEntry("debug_f1", bk("f1", br))])
319+ let br = if (((1 * h) > bp))
320+ then if ((bn(bo) == true))
321+ then true
322+ else false
323+ else false
324+ if (br)
325+ then throw("big complexity + min 1 waves expected")
326+ else if (((1 * h) > bp))
327+ then throw("min 1 waves expected")
328+ else {
329+ let bs = aY(W, Y, U)
330+ let bt = aY((W + bp), Y, U)
331+ let bu = (bs._1 - bt._1)
332+ let bv = ao(bp, bu)
333+ let aw = (fraction(an(bv), 100, U) - 100)
334+ (ar(toBase58String(bo.transactionId), bp, bp, toString(bq), q, aw, bv) ++ [ScriptTransfer(bq, bu, S), ScriptTransfer(O, bp, unit), StringEntry("debug_f0", bk("f0", bs)), StringEntry("debug_f1", bk("f1", bt))])
335+ }
272336 }
273337 }
274338
275339
276340
277-@Callable(bn)
278-func instantBuyNsbtOrFail (bu) = {
279- let aQ = value(bn.payments[0])
341+@Callable(bo)
342+func instantBuyNsbtOrFail (bw) = {
343+ let aQ = value(bo.payments[0])
280344 let aw = aa
281- if ((bu > aw))
282- then throw(((("Current maxRoi=" + toString(aw)) + " is less then passed parameter noLessThenRoi=") + toString(bu)))
345+ if ((bw > aw))
346+ then throw(((("Current maxRoi=" + toString(aw)) + " is less then passed parameter noLessThenRoi=") + toString(bw)))
283347 else {
284348 let aG = al(aw)
285- aN(aw, an(aG), "", bn, true)
349+ aN(aw, an(aG), "", bo, true)
286350 }
287351 }
288352
289353
290354
291-@Callable(bn)
355+@Callable(bo)
292356 func addBuyBondOrder (K,aO) = {
293- let aQ = value(bn.payments[0])
357+ let aQ = value(bo.payments[0])
294358 let aG = an(K)
295359 if ((0 >= K))
296360 then throw("price less zero")
297- else aN(fraction((aG - U), 100, U), K, aO, bn, false)
361+ else aN(fraction((aG - U), 100, U), K, aO, bo, false)
298362 }
299363
300364
301365
302-@Callable(bn)
366+@Callable(bo)
303367 func cancelOrder (z) = {
304368 let au = ag(z)
305369 let J = (af(z) - ai(z))
306- let bv = toString(bn.caller)
370+ let bx = toString(bo.caller)
307371 let aT = ak(z)
308372 let aO = aj(z)
309373 if (T)
310374 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
311- else if ((au != bv))
375+ else if ((au != bx))
312376 then throw("permission denied")
313377 else if ((ah(z) != p))
314378 then throw("invalid order status")
315379 else [StringEntry(x, if ((ac == z))
316380 then aT
317- else ac), StringEntry(H(aO), aT), StringEntry(G(aT), aO), StringEntry(E(z), o), ScriptTransfer(bn.caller, J, unit)]
381+ else ac), StringEntry(H(aO), aT), StringEntry(G(aT), aO), StringEntry(E(z), o), ScriptTransfer(bo.caller, J, unit)]
318382 }
319383
320384
321385
322-@Callable(bn)
386+@Callable(bo)
323387 func sellBond () = if (T)
324388 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
325389 else if ((ac == ""))
326390 then throw("empty orderbook")
327391 else {
328392 let aT = ak(ac)
329- let bw = ai(ac)
330- let bx = ad(ac)
393+ let by = ai(ac)
394+ let bz = ad(ac)
331395 let aw = a(y(ac))
332- let by = af(ac)
396+ let bA = af(ac)
333397 let aE = Address(fromBase58String(ag(ac)))
334- ax(ac, aT, bw, aw, bx, by, aE, false)
398+ ax(ac, aT, by, aw, bz, bA, aE, false)
335399 }
336400
337401
338-@Verifier(bz)
339-func bA () = {
340- let bB = ["BLEoguzPVKVTfXxxT3W7Rqf8aUm2ggC9Vemd2MQawM2G", "FWVffYr2ALmHMejZm3WqeLz6Sdym3gLFGtJn4KTwyU5x", "3Wh2LaWcb5gg7K2pPcW3Ep6EAuRBzYkAgrdpt43jTDFa", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
341- let bC = ((((if (sigVerify(bz.bodyBytes, bz.proofs[0], fromBase58String(bB[0])))
402+@Verifier(bB)
403+func bC () = {
404+ let bD = ["GJdLSaLiv5K7xuejac8mcRcHoyo3dPrESrvktG3a6MAR", "FWVffYr2ALmHMejZm3WqeLz6Sdym3gLFGtJn4KTwyU5x", "3Wh2LaWcb5gg7K2pPcW3Ep6EAuRBzYkAgrdpt43jTDFa", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
405+ let bE = ((((if (sigVerify(bB.bodyBytes, bB.proofs[0], fromBase58String(bD[0])))
342406 then 1
343- else 0) + (if (sigVerify(bz.bodyBytes, bz.proofs[1], fromBase58String(bB[1])))
407+ else 0) + (if (sigVerify(bB.bodyBytes, bB.proofs[1], fromBase58String(bD[1])))
344408 then 1
345- else 0)) + (if (sigVerify(bz.bodyBytes, bz.proofs[2], fromBase58String(bB[2])))
409+ else 0)) + (if (sigVerify(bB.bodyBytes, bB.proofs[2], fromBase58String(bD[2])))
346410 then 1
347- else 0)) + (if (sigVerify(bz.bodyBytes, bz.proofs[3], fromBase58String(bB[3])))
411+ else 0)) + (if (sigVerify(bB.bodyBytes, bB.proofs[3], fromBase58String(bD[3])))
348412 then 2
349413 else 0))
350- (bC >= 3)
414+ (bE >= 3)
351415 }
352416

github/deemru/w8io/873ac7e 
97.50 ms