tx · BLYHoENqBHjCtC5mPbPu9p2HdCCQNUtxjmhb2WCZTXhR

3PG2vMhK5CPqsCDodvLGzQ84QkoHXCJ3oNP:  -0.01800000 Waves

2022.08.04 15:39 [3235268] smart account 3PG2vMhK5CPqsCDodvLGzQ84QkoHXCJ3oNP > SELF 0.00000000 Waves

{ "type": 13, "id": "BLYHoENqBHjCtC5mPbPu9p2HdCCQNUtxjmhb2WCZTXhR", "fee": 1800000, "feeAssetId": null, "timestamp": 1659619409380, "version": 1, "sender": "3PG2vMhK5CPqsCDodvLGzQ84QkoHXCJ3oNP", "senderPublicKey": "5RM3w4ysmDbtgfswnVNPx7DQkNwVAG3RoxNFHgt6ToNU", "proofs": [ "651LFVio4xu886cZBNYaf5nMyEMTvpLpu3qPw1J5opsARAK8NnxkpvLzfo3ZuBFLy2CwU56oGuxtrSYCK96ZdcHv", "5SCgfkGXzWkchVFkkfGiNHVr7cvQzd1tmphsQ2EzN38o9x4FyTEmQEWYw3hTUW437KVXGX4W782wWkEihbrUmvgK", "5QTtW9i6UrB5e8QFcHud1sYi5ZiRmBCm9X86dwwvTXTocPzrSaRq7jRPi32pXpVYxFJTG4FcDcGeEmC2zXowWsNQ", "4ioSSSgoxjftULdt7BGRayn8bVoGT53gVCA6jsLQHcUMy1n2dYBHUzx5EkvMPjMxKWxK45XXrgsV7Nm2N8fHCxTq" ], "script": "base64:AAIFAAAAAAAAAB0IAhIFCgMIAQESBQoDAQEIEgASABIDCgEIEgASAAAAAEcBAAAADmdldE51bWJlckJ5S2V5AAAAAQAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AAAAAAAAAAAAAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQIAAAAAAQAAABZnZXRCb29sQnlBZGRyZXNzQW5kS2V5AAAAAgAAAAdhZGRyZXNzAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAdhZGRyZXNzBQAAAANrZXkHAQAAABhnZXRTdHJpbmdCeUFkZHJlc3NBbmRLZXkAAAACAAAAB2FkZHJlc3MAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQIAAAAAAQAAABhnZXROdW1iZXJCeUFkZHJlc3NBbmRLZXkAAAACAAAAB2FkZHJlc3MAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQAAAAAAAAAAAAEAAAAJYXNBbnlMaXN0AAAAAQAAAAN2YWwEAAAAByRtYXRjaDAFAAAAA3ZhbAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAJTGlzdFtBbnldBAAAAAp2YWxBbnlMeXN0BQAAAAckbWF0Y2gwBQAAAAp2YWxBbnlMeXN0CQAAAgAAAAECAAAAG2ZhaWwgdG8gY2FzdCBpbnRvIExpc3RbQW55XQEAAAAIYXNTdHJpbmcAAAABAAAAA3ZhbAQAAAAHJG1hdGNoMAUAAAADdmFsAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAABnZhbFN0cgUAAAAHJG1hdGNoMAUAAAAGdmFsU3RyCQAAAgAAAAECAAAAGGZhaWwgdG8gY2FzdCBpbnRvIFN0cmluZwEAAAAFYXNJbnQAAAABAAAAA3ZhbAQAAAAHJG1hdGNoMAUAAAADdmFsAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAABnZhbEludAUAAAAHJG1hdGNoMAUAAAAGdmFsSW50CQAAAgAAAAECAAAAFWZhaWwgdG8gY2FzdCBpbnRvIEludAAAAAADU0VQAgAAAAJfXwAAAAAHV0FWRUxFVAAAAAAABfXhAAAAAAAFUEFVTEkAAAAAAAAPQkAAAAAACEJJR1BBVUxJCQABNgAAAAEAAAAAAAAPQkAAAAAACFBSSUNFTEVUAAAAAAAAD0JAAAAAAARNVUxUAAAAAAAF9eEAAAAAAAlCSUdNVUxUMTYJAAE2AAAAAQAAI4byb8EAAAAAAAAGU0NBTEU4AAAAAAAAAAAIAAAAAAdTQ0FMRTE2AAAAAAAAAAAQAAAAAA1NSU5PUkRFUlRPVEFMCQAAaAAAAAIAAAAAAAAAAAoFAAAAB1dBVkVMRVQAAAAABk1BWFJPSQAAAAAAAAAAXwAAAAAIQ0FOQ0VMRUQCAAAACGNhbmNlbGVkAAAAAANORVcCAAAAA25ldwAAAAAGRklMTEVEAgAAAAZmaWxsZWQAAAAACFByaWNlS2V5AgAAAAVwcmljZQAAAAAOTnNidEFzc2V0SWRLZXkCAAAADWJvbmRfYXNzZXRfaWQAAAAAEk5ldXRyaW5vQXNzZXRJZEtleQIAAAARbmV1dHJpbm9fYXNzZXRfaWQAAAAADlN1cmZBc3NldElkS2V5AgAAAA1zdXJmX2Fzc2V0X2lkAAAAABFCYWxhbmNlTG9ja2Vka0tleQIAAAANYmFsYW5jZV9sb2NrXwAAAAAVV2F2ZXNMb2NrZWRCYWxhbmNlS2V5CQABLAAAAAIFAAAAEUJhbGFuY2VMb2NrZWRrS2V5AgAAAAV3YXZlcwAAAAAYTmV1dHJpbm9Mb2NrZWRCYWxhbmNlS2V5CQABLAAAAAIFAAAAEUJhbGFuY2VMb2NrZWRrS2V5AgAAAAhuZXV0cmlubwAAAAANRmlyc3RPcmRlcktleQIAAAALb3JkZXJfZmlyc3QAAAAAD01hdGhDb250cmFjdEtleQIAAAANbWF0aF9jb250cmFjdAAAAAAVTWluV2F2ZXNGb3JOc2J0QnV5S2V5AgAAABJtaW5fd2F2ZXNfbnNidF9idXkAAAAADk1pbk5zYnRTZWxsS2V5AgAAAA1taW5fbnNidF9zZWxsAAAAABVNaW5XYXZlc0ZvclN1cmZCdXlLZXkCAAAAEm1pbl93YXZlc19zdXJmX2J1eQAAAAAUTWluVXNkbkZvclN1cmZCdXlLZXkCAAAAEW1pbl91c2RuX3N1cmZfYnV5AQAAABJnZXRSb2lCeU9yZGVySWRLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAAQZGVidWdfb3JkZXJfcm9pXwUAAAAHb3JkZXJJZAEAAAAQZ2V0T3JkZXJQcmljZUtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAAxvcmRlcl9wcmljZV8FAAAAB29yZGVySWQBAAAAEGdldE9yZGVyVG90YWxLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAAMb3JkZXJfdG90YWxfBQAAAAdvcmRlcklkAQAAABBnZXRPcmRlck93bmVyS2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAICAAAADG9yZGVyX293bmVyXwUAAAAHb3JkZXJJZAEAAAARZ2V0T3JkZXJIZWlnaHRLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAANb3JkZXJfaGVpZ2h0XwUAAAAHb3JkZXJJZAEAAAARZ2V0T3JkZXJTdGF0dXNLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAANb3JkZXJfc3RhdHVzXwUAAAAHb3JkZXJJZAEAAAAWZ2V0T3JkZXJGaWxsZWRUb3RhbEtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAABNvcmRlcl9maWxsZWRfdG90YWxfBQAAAAdvcmRlcklkAQAAAA9nZXRQcmV2T3JkZXJLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAALb3JkZXJfcHJldl8FAAAAB29yZGVySWQBAAAAD2dldE5leHRPcmRlcktleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAAtvcmRlcl9uZXh0XwUAAAAHb3JkZXJJZAEAAAAWY29udmVydE5ldXRyaW5vVG9XYXZlcwAAAAIAAAAGYW1vdW50AAAABXByaWNlCQAAawAAAAMJAABrAAAAAwUAAAAGYW1vdW50BQAAAAhQUklDRUxFVAUAAAAFcHJpY2UFAAAAB1dBVkVMRVQFAAAABVBBVUxJAQAAABZjb252ZXJ0V2F2ZXNUb05ldXRyaW5vAAAAAgAAAAZhbW91bnQAAAAFcHJpY2UJAABrAAAAAwkAAGsAAAADBQAAAAZhbW91bnQFAAAABXByaWNlBQAAAAhQUklDRUxFVAUAAAAFUEFVTEkFAAAAB1dBVkVMRVQBAAAAEmNvbnZlcnRXYXZlc1RvQm9uZAAAAAIAAAAGYW1vdW50AAAABXByaWNlCQEAAAAWY29udmVydFdhdmVzVG9OZXV0cmlubwAAAAIFAAAABmFtb3VudAUAAAAFcHJpY2UBAAAAEmNvbnZlcnRCb25kVG9XYXZlcwAAAAIAAAAGYW1vdW50AAAABXByaWNlCQEAAAAWY29udmVydE5ldXRyaW5vVG9XYXZlcwAAAAIFAAAABmFtb3VudAUAAAAFcHJpY2UBAAAABXRvWDE2AAAAAgAAAAdvcmlnVmFsAAAADW9yaWdTY2FsZU11bHQJAAE8AAAAAwkAATYAAAABBQAAAAdvcmlnVmFsBQAAAAlCSUdNVUxUMTYJAAE2AAAAAQUAAAANb3JpZ1NjYWxlTXVsdAEAAAAHZnJvbVgxNgAAAAIAAAADdmFsAAAAD3Jlc3VsdFNjYWxlTXVsdAkAAaAAAAABCQABPAAAAAMFAAAAA3ZhbAkAATYAAAABBQAAAA9yZXN1bHRTY2FsZU11bHQFAAAACUJJR01VTFQxNgAAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAAB0FkZHJlc3MAAAABAQAAABoBV3AEYqZHm+mtVmiUy++FjDCCICiaCBSWsgAAAAAPY29udHJvbENvbnRyYWN0CQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFXI7OtElyTpMrsOf5PRtbNVk0t+xD7Y5h6AAAAABNsaXF1aWRhdGlvbkNvbnRyYWN0CQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFXGupJy/oKfsoIfyjVn5WODHtptak4kR9IAAAAAAxtYXRoQ29udHJhY3QJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAAD01hdGhDb250cmFjdEtleQAAAAAPbmV1dHJpbm9Bc3NldElkAQAAACC2JinDBPXOU5GkDkt1JC9kjFGx+t+vVCm9SNIdKrKq0QAAAAALbnNidEFzc2V0SWQBAAAAIFXuw76qC/BQ6HHIG6pucJ6kscj+Si65wfHMxWsPeJdLAAAAAAlpc0Jsb2NrZWQJAQAAABZnZXRCb29sQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAPY29udHJvbENvbnRyYWN0AgAAAAppc19ibG9ja2VkAAAAABVtaW5XYXZlc0Ftb3VudE5zYnRCdXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAVTWluV2F2ZXNGb3JOc2J0QnV5S2V5AAAAAAA7msoAAAAAAAttaW5Oc2J0U2VsbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA5NaW5Oc2J0U2VsbEtleQAAAAAAAA9CQAAAAAAKZmlyc3RPcmRlcgkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAANRmlyc3RPcmRlcktleQEAAAANZ2V0T3JkZXJQcmljZQAAAAEAAAACaWQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABBnZXRPcmRlclByaWNlS2V5AAAAAQUAAAACaWQBAAAADWdldE9yZGVyVG90YWwAAAABAAAAAmlkCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAQZ2V0T3JkZXJUb3RhbEtleQAAAAEFAAAAAmlkAQAAAA1nZXRPcmRlck93bmVyAAAAAQAAAAJpZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEGdldE9yZGVyT3duZXJLZXkAAAABBQAAAAJpZAEAAAAOZ2V0T3JkZXJTdGF0dXMAAAABAAAAAmlkCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAARZ2V0T3JkZXJTdGF0dXNLZXkAAAABBQAAAAJpZAEAAAATZ2V0T3JkZXJGaWxsZWRUb3RhbAAAAAEAAAACaWQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABZnZXRPcmRlckZpbGxlZFRvdGFsS2V5AAAAAQUAAAACaWQBAAAADGdldFByZXZPcmRlcgAAAAEAAAACaWQJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAA9nZXRQcmV2T3JkZXJLZXkAAAABBQAAAAJpZAEAAAAMZ2V0TmV4dE9yZGVyAAAAAQAAAAJpZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAD2dldE5leHRPcmRlcktleQAAAAEFAAAAAmlkAQAAAA9nZXRSZXZlcnNlUHJpY2UAAAABAAAABXByaWNlCQAAaQAAAAIJAABoAAAAAgUAAAAIUFJJQ0VMRVQFAAAACFBSSUNFTEVUBQAAAAVwcmljZQEAAAAWY2FsY05zYnQyV2F2ZXNQcmljZVJhdwAAAAIAAAANc3BlbnRXYXZlc1JhdwAAAA9yZWNlaXZlZE5zYnRSYXcJAAE8AAAAAwkAATYAAAABBQAAAA1zcGVudFdhdmVzUmF3CQABNgAAAAEJAABoAAAAAgUAAAAFUEFVTEkFAAAACFBSSUNFTEVUCQABNgAAAAEFAAAAD3JlY2VpdmVkTnNidFJhdwEAAAAJb3JkZXJEYXRhAAAACAAAAAdvcmRlcklkAAAADXRvdGFsV2F2ZWxldHMAAAAOZmlsbGVkV2F2ZWxldHMAAAAFb3duZXIAAAAGc3RhdHVzAAAAA3JvaQAAAAVwcmljZQAAAAxjdXJyZW50UHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEGdldE9yZGVyUHJpY2VLZXkAAAABBQAAAAdvcmRlcklkCQABpgAAAAEFAAAABXByaWNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAQZ2V0T3JkZXJUb3RhbEtleQAAAAEFAAAAB29yZGVySWQFAAAADXRvdGFsV2F2ZWxldHMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABZnZXRPcmRlckZpbGxlZFRvdGFsS2V5AAAAAQUAAAAHb3JkZXJJZAUAAAAOZmlsbGVkV2F2ZWxldHMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEGdldE9yZGVyT3duZXJLZXkAAAABBQAAAAdvcmRlcklkBQAAAAVvd25lcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAEWdldE9yZGVySGVpZ2h0S2V5AAAAAQUAAAAHb3JkZXJJZAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABFnZXRPcmRlclN0YXR1c0tleQAAAAEFAAAAB29yZGVySWQFAAAABnN0YXR1cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABlkZWJ1Z19vcmRlcl9jdXJyZW50UHJpY2VfBQAAAAdvcmRlcklkBQAAAAxjdXJyZW50UHJpY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABJnZXRSb2lCeU9yZGVySWRLZXkAAAABBQAAAAdvcmRlcklkBQAAAANyb2kFAAAAA25pbAEAAAAFdG9TdHIAAAACAAAABG5hbWUAAAALY3VydmVSZXN1bHQJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARuYW1lAgAAAA9bbnNidEFtb3VudFJhdz0JAAGkAAAAAQkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAAtjdXJ2ZVJlc3VsdAAAAAAAAAAAAAIAAAANIHVzZG5QYXltZW50PQkAAaQAAAABCQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAC2N1cnZlUmVzdWx0AAAAAAAAAAABAgAAAAYgd1Jhdz0JAAGkAAAAAQkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAAtjdXJ2ZVJlc3VsdAAAAAAAAAAAAgIAAAAGIHVSYXc9CQABpAAAAAEJAQAAAAVhc0ludAAAAAEJAAGRAAAAAgUAAAALY3VydmVSZXN1bHQAAAAAAAAAAAMCAAAABiBtUmF3PQkAAaQAAAABCQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAC2N1cnZlUmVzdWx0AAAAAAAAAAAEAgAAAAYgc1Jhdz0JAAGkAAAAAQkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAAtjdXJ2ZVJlc3VsdAAAAAAAAAAABQIAAAASIG5zYnRDdXJ2ZVBhcmFtX2E9CQABpAAAAAEJAQAAAAVhc0ludAAAAAEJAAGRAAAAAgUAAAALY3VydmVSZXN1bHQAAAAAAAAAAAYCAAAAEiBuc2J0Q3VydmVQYXJhbV9iPQkAAaQAAAABCQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAC2N1cnZlUmVzdWx0AAAAAAAAAAAHAgAAABEgd1Jlc2VydmVzSW5Vc2RuPQkAAaQAAAABCQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAC2N1cnZlUmVzdWx0AAAAAAAAAAAIAgAAAAcgcHJpY2U9CQABpAAAAAEJAQAAAAVhc0ludAAAAAEJAAGRAAAAAgUAAAALY3VydmVSZXN1bHQAAAAAAAAAAAkCAAAACCBtdWx0QlI9CQABpAAAAAEJAQAAAAVhc0ludAAAAAEJAAGRAAAAAgUAAAALY3VydmVSZXN1bHQAAAAAAAAAAAoCAAAACyBtdWx0UG93ZXI9CQABpAAAAAEJAQAAAAVhc0ludAAAAAEJAAGRAAAAAgUAAAALY3VydmVSZXN1bHQAAAAAAAAAAAsCAAAAECBtdWx0RXhwSW5Qb3dlcj0JAQAAAAhhc1N0cmluZwAAAAEJAAGRAAAAAgUAAAALY3VydmVSZXN1bHQAAAAAAAAAAAwCAAAAByBtdWx0Sz0JAQAAAAhhc1N0cmluZwAAAAEJAAGRAAAAAgUAAAALY3VydmVSZXN1bHQAAAAAAAAAAA0CAAAAByBzdGVwMT0JAQAAAAhhc1N0cmluZwAAAAEJAAGRAAAAAgUAAAALY3VydmVSZXN1bHQAAAAAAAAAAA4CAAAAByBzdGVwMj0JAQAAAAhhc1N0cmluZwAAAAEJAAGRAAAAAgUAAAALY3VydmVSZXN1bHQAAAAAAAAAAA8CAAAAByBzdGVwMz0JAAGkAAAAAQkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAAtjdXJ2ZVJlc3VsdAAAAAAAAAAAEAIAAAABXQAAAAcAAAABaQEAAAALY29uc3RydWN0b3IAAAADAAAAE21hdGhDb250cmFjdEFkZHJlc3MAAAASbWluV2F2ZXNGb3JOc2J0QnV5AAAAC21pbk5zYnRTZWxsAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAAAgAAAAECAAAAEVBlcm1pc3Npb24gZGVuaWVkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAD01hdGhDb250cmFjdEtleQUAAAATbWF0aENvbnRyYWN0QWRkcmVzcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAOTWluTnNidFNlbGxLZXkFAAAAC21pbk5zYnRTZWxsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABVNaW5XYXZlc0Zvck5zYnRCdXlLZXkFAAAAEm1pbldhdmVzRm9yTnNidEJ1eQUAAAADbmlsAAAAAWkBAAAADWNvbnN0cnVjdG9yVjIAAAADAAAAFW1pbldhdmVzRm9yU3VyZkJ1eUtleQAAABRtaW5Vc2RuRm9yU3VyZkJ1eUtleQAAAAtkZXNjcmlwdGlvbgMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkAAAIAAAABAgAAABFQZXJtaXNzaW9uIGRlbmllZAQAAAAFaXNzdWUJAARDAAAABwIAAAAEU1VSRgUAAAALZGVzY3JpcHRpb24AAAAAAAAAAAAAAAAAAAAAAAYGBQAAAAR1bml0AAAAAAAAAAAABAAAAAdhc3NldElkCQAEOAAAAAEFAAAABWlzc3VlCQAETAAAAAIFAAAABWlzc3VlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADlN1cmZBc3NldElkS2V5CQACWAAAAAEFAAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFU1pbldhdmVzRm9yU3VyZkJ1eUtleQUAAAAVbWluV2F2ZXNGb3JTdXJmQnV5S2V5CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABRNaW5Vc2RuRm9yU3VyZkJ1eUtleQUAAAAUbWluVXNkbkZvclN1cmZCdXlLZXkFAAAAA25pbAAAAAFpAQAAAAdidXlOc2J0AAAAAAQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAlwbXRBbW91bnQIBQAAAANwbXQAAAAGYW1vdW50BAAAAAh3YXZlc1BheQUAAAAJcG10QW1vdW50AwUAAAAJaXNCbG9ja2VkCQAAAgAAAAECAAAAWWNvbnRyYWN0IGlzIGJsb2NrZWQgYnkgRU1FUkdFTkNZIFNIVVRET1dOIGFjdGlvbnMgdW50aWwgcmVhY3RpdmF0aW9uIGJ5IGVtZXJnZW5jeSBvcmFjbGVzAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABAgAAABJjYW4gdXNlIHdhdmVzIG9ubHkDCQAAZgAAAAIFAAAAFW1pbldhdmVzQW1vdW50TnNidEJ1eQUAAAAJcG10QW1vdW50CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAARtaW4gCQABpAAAAAEJAABpAAAAAgUAAAAVbWluV2F2ZXNBbW91bnROc2J0QnV5BQAAAAdXQVZFTEVUAgAAAA8gd2F2ZXMgZXhwZWN0ZWQEAAAADG93bmVyQWRkcmVzcwgFAAAAAWkAAAAGY2FsbGVyBAAAAA9uZXV0cmlub01ldHJpY3MJAQAAAAlhc0FueUxpc3QAAAABCQAD/AAAAAQFAAAADG1hdGhDb250cmFjdAIAAAAaY2FsY05ldXRpbm9NZXRyaWNzUkVBRE9OTFkFAAAAA25pbAUAAAADbmlsBAAAAAxjdXJyZW50UHJpY2UJAQAAAAVhc0ludAAAAAEJAAGRAAAAAgUAAAAPbmV1dHJpbm9NZXRyaWNzAAAAAAAAAAAABAAAAAtjdXJ2ZVJlc3VsdAkBAAAACWFzQW55TGlzdAAAAAEJAAP8AAAABAUAAAAMbWF0aENvbnRyYWN0AgAAABVjdXJ2ZUZ1bmN0aW9uUkVBRE9OTFkJAARMAAAAAgUAAAAId2F2ZXNQYXkFAAAAA25pbAUAAAADbmlsBAAAAApuc2J0QW1vdW50CQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAC2N1cnZlUmVzdWx0AAAAAAAAAAAAAwkAAGcAAAACAAAAAAAAAAAABQAAAApuc2J0QW1vdW50CQAAAgAAAAECAAAAD25zYnRBbW91bnQgPD0gMAQAAAASbnNidDJXYXZlc1ByaWNlUmF3CQEAAAAWY2FsY05zYnQyV2F2ZXNQcmljZVJhdwAAAAIFAAAACHdhdmVzUGF5BQAAAApuc2J0QW1vdW50BAAAAANyb2kAAAAAAAAAAAAEAAAADGFtb3VudExlYXNlZAkAA/wAAAAEBQAAABBuZXV0cmlub0NvbnRyYWN0AgAAAAthY2NlcHRXYXZlcwUAAAADbmlsCAUAAAABaQAAAAhwYXltZW50cwMJAAAAAAAAAgUAAAAMYW1vdW50TGVhc2VkBQAAAAxhbW91bnRMZWFzZWQJAAUUAAAAAgkABE4AAAACCQEAAAAJb3JkZXJEYXRhAAAACAkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBQAAAAlwbXRBbW91bnQFAAAACXBtdEFtb3VudAkABCUAAAABBQAAAAxvd25lckFkZHJlc3MFAAAABkZJTExFRAUAAAADcm9pBQAAABJuc2J0MldhdmVzUHJpY2VSYXcFAAAADGN1cnJlbnRQcmljZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAxvd25lckFkZHJlc3MFAAAACm5zYnRBbW91bnQFAAAAC25zYnRBc3NldElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAEWRlYnVnX2N1cnZlUmVzdWx0CQEAAAAFdG9TdHIAAAACAgAAAAtjdXJ2ZVJlc3VsdAUAAAALY3VydmVSZXN1bHQFAAAAA25pbAUAAAAKbnNidEFtb3VudAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAIc2VsbE5zYnQAAAAAAwUAAAAJaXNCbG9ja2VkCQAAAgAAAAECAAAAWWNvbnRyYWN0IGlzIGJsb2NrZWQgYnkgRU1FUkdFTkNZIFNIVVRET1dOIGFjdGlvbnMgdW50aWwgcmVhY3RpdmF0aW9uIGJ5IGVtZXJnZW5jeSBvcmFjbGVzBAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAACXBtdEFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAAC25zYnRBc3NldElkCQAAAgAAAAECAAAAEWNhbiB1c2UgTlNCVCBvbmx5AwkAAGYAAAACBQAAAAttaW5Oc2J0U2VsbAUAAAAJcG10QW1vdW50CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAARtaW4gCQABpAAAAAEJAABpAAAAAgUAAAALbWluTnNidFNlbGwFAAAABVBBVUxJAgAAAA4gbnNidCBleHBlY3RlZAQAAAAIbmV3UHJpY2UJAQAAAAVhc0ludAAAAAEJAAGRAAAAAgkBAAAACWFzQW55TGlzdAAAAAEJAAP8AAAABAUAAAAMbWF0aENvbnRyYWN0AgAAACBjYWxjQ29udHJhY3ROc2J0UHJpY2VTWVNSRUFET05MWQkABEwAAAACCQEAAAABLQAAAAEFAAAACXBtdEFtb3VudAUAAAADbmlsBQAAAANuaWwAAAAAAAAAAAADCQAAZgAAAAIFAAAABVBBVUxJBQAAAAhuZXdQcmljZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAjcmVzdWx0aW5nIG5zYnQgcHJpY2Ugd291bGQgYmUgPCAxICgJAAGkAAAAAQUAAAAIbmV3UHJpY2UCAAAABiB1c2RuKQQAAAAGdHJhbnNmCQAD/AAAAAQFAAAAEG5ldXRyaW5vQ29udHJhY3QCAAAAEnRyYW5zZmVyVXNkblRvVXNlcgkABEwAAAACBQAAAAlwbXRBbW91bnQJAARMAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAZ0cmFuc2YFAAAABnRyYW5zZgkABRQAAAACBQAAAANuaWwFAAAACG5ld1ByaWNlCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAAtjYW5jZWxPcmRlcgAAAAEAAAAHb3JkZXJJZAQAAAAFb3duZXIJAQAAAA1nZXRPcmRlck93bmVyAAAAAQUAAAAHb3JkZXJJZAQAAAAGYW1vdW50CQAAZQAAAAIJAQAAAA1nZXRPcmRlclRvdGFsAAAAAQUAAAAHb3JkZXJJZAkBAAAAE2dldE9yZGVyRmlsbGVkVG90YWwAAAABBQAAAAdvcmRlcklkBAAAAAZjYWxsZXIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAluZXh0T3JkZXIJAQAAAAxnZXROZXh0T3JkZXIAAAABBQAAAAdvcmRlcklkBAAAAAlwcmV2T3JkZXIJAQAAAAxnZXRQcmV2T3JkZXIAAAABBQAAAAdvcmRlcklkAwkBAAAAAiE9AAAAAgkBAAAADmdldE9yZGVyU3RhdHVzAAAAAQUAAAAHb3JkZXJJZAUAAAADTkVXCQAAAgAAAAECAAAAFGludmFsaWQgb3JkZXIgc3RhdHVzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADUZpcnN0T3JkZXJLZXkDCQAAAAAAAAIFAAAACmZpcnN0T3JkZXIFAAAAB29yZGVySWQFAAAACW5leHRPcmRlcgUAAAAKZmlyc3RPcmRlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPZ2V0TmV4dE9yZGVyS2V5AAAAAQUAAAAJcHJldk9yZGVyBQAAAAluZXh0T3JkZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2dldFByZXZPcmRlcktleQAAAAEFAAAACW5leHRPcmRlcgUAAAAJcHJldk9yZGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABFnZXRPcmRlclN0YXR1c0tleQAAAAEFAAAAB29yZGVySWQFAAAACENBTkNFTEVECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAGYW1vdW50BQAAAAR1bml0BQAAAANuaWwAAAABaQEAAAAgbWluV2F2ZXNBbW91bnROc2J0QnV5U1lTUkVBRE9OTFkAAAAACQAFFAAAAAIFAAAAA25pbAUAAAAVbWluV2F2ZXNBbW91bnROc2J0QnV5AAAAAWkBAAAAH21pbk5zYnRBbW91bnRGb3JTZWxsU1lTUkVBRE9OTFkAAAAACQAFFAAAAAIFAAAAA25pbAUAAAALbWluTnNidFNlbGwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAABNwdWJLZXlBZG1pbnNMaXN0U3RyCQAEuQAAAAIJAARMAAAAAgIAAAAsR0pkTFNhTGl2NUs3eHVlamFjOG1jUmNIb3lvM2RQckVTcnZrdEczYTZNQVIJAARMAAAAAgIAAAAsRVl3Wm1VUmQ1S0thUVJCanNWYTZnOERQaXNGb1M2U292Ukp0RmlMNWdNSFUJAARMAAAAAgIAAAAsRHRtQWZ1RGRDckhLOHNwZEFlQVl6cTZNc1plZ2VEOWduc3JwdVRSa0NiVkEJAARMAAAAAgIAAAAsNVdSWEZTandjVGJOZktjSnM4WnFYbVNTV1lzU1ZKVXRNdk1xWmo1aEg0TmMFAAAAA25pbAUAAAADU0VQBAAAABBwdWJLZXlBZG1pbnNMaXN0CQAEtQAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAPY29udHJvbENvbnRyYWN0AgAAAAwlc19fbXVsdGlzaWcFAAAAE3B1YktleUFkbWluc0xpc3RTdHIFAAAAA1NFUAQAAAAFY291bnQJAABkAAAAAgkAAGQAAAACCQAAZAAAAAIDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAkAAlkAAAABCQABkQAAAAIFAAAAEHB1YktleUFkbWluc0xpc3QAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAADCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQkAAlkAAAABCQABkQAAAAIFAAAAEHB1YktleUFkbWluc0xpc3QAAAAAAAAAAAEAAAAAAAAAAAEAAAAAAAAAAAADCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAgkAAlkAAAABCQABkQAAAAIFAAAAEHB1YktleUFkbWluc0xpc3QAAAAAAAAAAAIAAAAAAAAAAAEAAAAAAAAAAAADCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAwkAAlkAAAABCQABkQAAAAIFAAAAEHB1YktleUFkbWluc0xpc3QAAAAAAAAAAAMAAAAAAAAAAAIAAAAAAAAAAAAJAABnAAAAAgUAAAAFY291bnQAAAAAAAAAAANZSpQe", "chainId": 87, "height": 3235268, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FBK61feFBroAkDzkbN1g2bK8kXQoocsBpiTgKfPxxQ1u Next: 3tpZgRYUYK6YJFLPSpadCRBRZ1zSAocVHPiuLzpJEDiV Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "b3ff7472a1d54a9f0c8f6d6665c4458c36a31e48"
5-
6-func b (c) = valueOrElse(getInteger(this, c), 0)
4+func a (b) = valueOrElse(getInteger(this, b), 0)
75
86
9-func d (c) = valueOrElse(getString(this, c), "")
7+func c (b) = valueOrElse(getString(this, b), "")
108
119
12-func e (f,c) = valueOrElse(getBoolean(f, c), false)
10+func d (e,b) = valueOrElse(getBoolean(e, b), false)
1311
1412
15-func g (f,c) = valueOrElse(getString(f, c), "")
13+func f (e,b) = valueOrElse(getString(e, b), "")
1614
1715
18-func h (f,c) = valueOrElse(getInteger(f, c), 0)
16+func g (e,b) = valueOrElse(getInteger(e, b), 0)
1917
2018
21-func i (j) = {
22- let k = j
23- if ($isInstanceOf(k, "List[Any]"))
19+func h (i) = {
20+ let j = i
21+ if ($isInstanceOf(j, "List[Any]"))
2422 then {
25- let l = k
26- l
23+ let k = j
24+ k
2725 }
2826 else throw("fail to cast into List[Any]")
2927 }
3028
3129
32-func m (j) = {
33- let k = j
34- if ($isInstanceOf(k, "String"))
30+func l (i) = {
31+ let j = i
32+ if ($isInstanceOf(j, "String"))
3533 then {
36- let n = k
37- n
34+ let m = j
35+ m
3836 }
3937 else throw("fail to cast into String")
4038 }
4139
4240
43-func o (j) = {
44- let k = j
45- if ($isInstanceOf(k, "Int"))
41+func n (i) = {
42+ let j = i
43+ if ($isInstanceOf(j, "Int"))
4644 then {
47- let p = k
48- p
45+ let o = j
46+ o
4947 }
5048 else throw("fail to cast into Int")
5149 }
5250
5351
54-let q = "__"
52+let p = "__"
5553
56-let r = 100000000
54+let q = 100000000
5755
58-let s = 1000000
56+let r = 1000000
5957
60-let t = toBigInt(1000000)
58+let s = toBigInt(1000000)
6159
62-let u = 1000000
60+let t = 1000000
6361
64-let v = 100000000
62+let u = 100000000
6563
66-let w = toBigInt(10000000000000000)
64+let v = toBigInt(10000000000000000)
6765
68-let x = 8
66+let w = 8
6967
70-let y = 16
68+let x = 16
7169
72-let z = (10 * r)
70+let y = (10 * q)
7371
74-let A = 95
72+let z = 95
7573
76-let B = "canceled"
74+let A = "canceled"
7775
78-let C = "new"
76+let B = "new"
7977
80-let D = "filled"
78+let C = "filled"
8179
82-let E = "price"
80+let D = "price"
8381
84-let F = "bond_asset_id"
82+let E = "bond_asset_id"
8583
86-let G = "neutrino_asset_id"
84+let F = "neutrino_asset_id"
85+
86+let G = "surf_asset_id"
8787
8888 let H = "balance_lock_"
8989
9999
100100 let N = "min_nsbt_sell"
101101
102-func O (P) = ("debug_order_roi_" + P)
102+let O = "min_waves_surf_buy"
103+
104+let P = "min_usdn_surf_buy"
105+
106+func Q (R) = ("debug_order_roi_" + R)
103107
104108
105-func Q (P) = ("order_price_" + P)
109+func S (R) = ("order_price_" + R)
106110
107111
108-func R (P) = ("order_total_" + P)
112+func T (R) = ("order_total_" + R)
109113
110114
111-func S (P) = ("order_owner_" + P)
115+func U (R) = ("order_owner_" + R)
112116
113117
114-func T (P) = ("order_height_" + P)
118+func V (R) = ("order_height_" + R)
115119
116120
117-func U (P) = ("order_status_" + P)
121+func W (R) = ("order_status_" + R)
118122
119123
120-func V (P) = ("order_filled_total_" + P)
124+func X (R) = ("order_filled_total_" + R)
121125
122126
123-func W (P) = ("order_prev_" + P)
127+func Y (R) = ("order_prev_" + R)
124128
125129
126-func X (P) = ("order_next_" + P)
130+func Z (R) = ("order_next_" + R)
127131
128132
129-func Y (Z,aa) = fraction(fraction(Z, u, aa), r, s)
133+func aa (ab,ac) = fraction(fraction(ab, t, ac), q, r)
130134
131135
132-func ab (Z,aa) = fraction(fraction(Z, aa, u), s, r)
136+func ad (ab,ac) = fraction(fraction(ab, ac, t), r, q)
133137
134138
135-func ac (Z,aa) = ab(Z, aa)
139+func ae (ab,ac) = ad(ab, ac)
136140
137141
138-func ad (Z,aa) = Y(Z, aa)
142+func af (ab,ac) = aa(ab, ac)
139143
140144
141-func ae (af,ag) = fraction(toBigInt(af), w, toBigInt(ag))
145+func ag (ah,ai) = fraction(toBigInt(ah), v, toBigInt(ai))
142146
143147
144-func ah (j,ai) = toInt(fraction(j, toBigInt(ai), w))
148+func aj (i,ak) = toInt(fraction(i, toBigInt(ak), v))
145149
146150
147-let aj = Address(base58'3PC9BfRwJWWiw9AREE2B3eWzCks3CYtg4yo')
151+let al = Address(base58'3PC9BfRwJWWiw9AREE2B3eWzCks3CYtg4yo')
148152
149-let ak = Address(base58'3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP')
153+let am = Address(base58'3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP')
150154
151-let al = Address(base58'3P4PCxsJqMzQBALo8zANHtBDZRRquobHQp7')
155+let an = Address(base58'3P4PCxsJqMzQBALo8zANHtBDZRRquobHQp7')
152156
153-let am = addressFromStringValue(d(L))
157+let ao = addressFromStringValue(c(L))
154158
155-let an = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
159+let ap = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
156160
157-let ao = base58'6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g'
161+let aq = base58'6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g'
158162
159-let ap = e(ak, "is_blocked")
163+let ar = d(am, "is_blocked")
160164
161-let aq = valueOrElse(getInteger(this, M), 1000000000)
165+let as = valueOrElse(getInteger(this, M), 1000000000)
162166
163-let ar = valueOrElse(getInteger(this, N), 1000000)
167+let at = valueOrElse(getInteger(this, N), 1000000)
164168
165-let as = d(K)
169+let au = c(K)
166170
167-func at (au) = b(Q(au))
171+func av (aw) = a(S(aw))
168172
169173
170-func av (au) = b(R(au))
174+func ax (aw) = a(T(aw))
171175
172176
173-func aw (au) = d(S(au))
177+func ay (aw) = c(U(aw))
174178
175179
176-func ax (au) = d(U(au))
180+func az (aw) = c(W(aw))
177181
178182
179-func ay (au) = b(V(au))
183+func aA (aw) = a(X(aw))
180184
181185
182-func az (au) = d(W(au))
186+func aB (aw) = c(Y(aw))
183187
184188
185-func aA (au) = d(X(au))
189+func aC (aw) = c(Z(aw))
186190
187191
188-func aB (aa) = ((u * u) / aa)
192+func aD (ac) = ((t * t) / ac)
189193
190194
191-func aC (aD,aE) = fraction(toBigInt(aD), toBigInt((s * u)), toBigInt(aE))
195+func aE (aF,aG) = fraction(toBigInt(aF), toBigInt((r * t)), toBigInt(aG))
192196
193197
194-func aF (P,aG,aH,aI,aJ,aK,aa,aL) = [StringEntry(Q(P), toString(aa)), IntegerEntry(R(P), aG), IntegerEntry(V(P), aH), StringEntry(S(P), aI), IntegerEntry(T(P), height), StringEntry(U(P), aJ), IntegerEntry(("debug_order_currentPrice_" + P), aL), IntegerEntry(O(P), aK)]
198+func aH (R,aI,aJ,aK,aL,aM,ac,aN) = [StringEntry(S(R), toString(ac)), IntegerEntry(T(R), aI), IntegerEntry(X(R), aJ), StringEntry(U(R), aK), IntegerEntry(V(R), height), StringEntry(W(R), aL), IntegerEntry(("debug_order_currentPrice_" + R), aN), IntegerEntry(Q(R), aM)]
195199
196200
197-func aM (aN,aO) = (((((((((((((((((((((((((((((((((((aN + "[nsbtAmountRaw=") + toString(o(aO[0]))) + " usdnPayment=") + toString(o(aO[1]))) + " wRaw=") + toString(o(aO[2]))) + " uRaw=") + toString(o(aO[3]))) + " mRaw=") + toString(o(aO[4]))) + " sRaw=") + toString(o(aO[5]))) + " nsbtCurveParam_a=") + toString(o(aO[6]))) + " nsbtCurveParam_b=") + toString(o(aO[7]))) + " wReservesInUsdn=") + toString(o(aO[8]))) + " price=") + toString(o(aO[9]))) + " multBR=") + toString(o(aO[10]))) + " multPower=") + toString(o(aO[11]))) + " multExpInPower=") + m(aO[12])) + " multK=") + m(aO[13])) + " step1=") + m(aO[14])) + " step2=") + m(aO[15])) + " step3=") + toString(o(aO[16]))) + "]")
201+func aO (aP,aQ) = (((((((((((((((((((((((((((((((((((aP + "[nsbtAmountRaw=") + toString(n(aQ[0]))) + " usdnPayment=") + toString(n(aQ[1]))) + " wRaw=") + toString(n(aQ[2]))) + " uRaw=") + toString(n(aQ[3]))) + " mRaw=") + toString(n(aQ[4]))) + " sRaw=") + toString(n(aQ[5]))) + " nsbtCurveParam_a=") + toString(n(aQ[6]))) + " nsbtCurveParam_b=") + toString(n(aQ[7]))) + " wReservesInUsdn=") + toString(n(aQ[8]))) + " price=") + toString(n(aQ[9]))) + " multBR=") + toString(n(aQ[10]))) + " multPower=") + toString(n(aQ[11]))) + " multExpInPower=") + l(aQ[12])) + " multK=") + l(aQ[13])) + " step1=") + l(aQ[14])) + " step2=") + l(aQ[15])) + " step3=") + toString(n(aQ[16]))) + "]")
198202
199203
200-@Callable(aP)
201-func constructor (aQ,aR,ar) = if ((aP.caller != this))
204+@Callable(aR)
205+func constructor (aS,aT,at) = if ((aR.caller != this))
202206 then throw("Permission denied")
203- else [StringEntry(L, aQ), IntegerEntry(N, ar), IntegerEntry(M, aR)]
207+ else [StringEntry(L, aS), IntegerEntry(N, at), IntegerEntry(M, aT)]
204208
205209
206210
207-@Callable(aP)
211+@Callable(aR)
212+func constructorV2 (aU,aV,aW) = if ((aR.caller != this))
213+ then throw("Permission denied")
214+ else {
215+ let aX = Issue("SURF", aW, 0, 6, true, unit, 0)
216+ let aY = calculateAssetId(aX)
217+[aX, StringEntry(G, toBase58String(aY)), IntegerEntry(O, aU), IntegerEntry(P, aV)]
218+ }
219+
220+
221+
222+@Callable(aR)
208223 func buyNsbt () = {
209- let aS = value(aP.payments[0])
210- let aT = aS.amount
211- let aU = aT
212- if (ap)
224+ let aZ = value(aR.payments[0])
225+ let ba = aZ.amount
226+ let bb = ba
227+ if (ar)
213228 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
214- else if (isDefined(aS.assetId))
229+ else if (isDefined(aZ.assetId))
215230 then throw("can use waves only")
216- else if ((aq > aT))
217- then throw((("min " + toString((aq / r))) + " waves expected"))
231+ else if ((as > ba))
232+ then throw((("min " + toString((as / q))) + " waves expected"))
218233 else {
219- let aV = aP.caller
220- let aW = i(invoke(am, "calcNeutinoMetricsREADONLY", nil, nil))
221- let aL = o(aW[0])
222- let aO = i(invoke(am, "curveFunctionREADONLY", [aU], nil))
223- let aX = o(aO[0])
224- if ((0 >= aX))
234+ let bc = aR.caller
235+ let bd = h(invoke(ao, "calcNeutinoMetricsREADONLY", nil, nil))
236+ let aN = n(bd[0])
237+ let aQ = h(invoke(ao, "curveFunctionREADONLY", [bb], nil))
238+ let be = n(aQ[0])
239+ if ((0 >= be))
225240 then throw("nsbtAmount <= 0")
226241 else {
227- let aY = aC(aU, aX)
228- let aK = 0
229- let aZ = invoke(aj, "acceptWaves", nil, aP.payments)
230- if ((aZ == aZ))
231- then $Tuple2((aF(toBase58String(aP.transactionId), aT, aT, toString(aV), D, aK, aY, aL) ++ [ScriptTransfer(aV, aX, ao), StringEntry("debug_curveResult", aM("curveResult", aO))]), aX)
242+ let bf = aE(bb, be)
243+ let aM = 0
244+ let bg = invoke(al, "acceptWaves", nil, aR.payments)
245+ if ((bg == bg))
246+ then $Tuple2((aH(toBase58String(aR.transactionId), ba, ba, toString(bc), C, aM, bf, aN) ++ [ScriptTransfer(bc, be, aq), StringEntry("debug_curveResult", aO("curveResult", aQ))]), be)
232247 else throw("Strict value is not equal to itself.")
233248 }
234249 }
236251
237252
238253
239-@Callable(aP)
240-func sellNsbt () = if (ap)
254+@Callable(aR)
255+func sellNsbt () = if (ar)
241256 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
242257 else {
243- let aS = value(aP.payments[0])
244- let aT = aS.amount
245- if ((aS.assetId != ao))
258+ let aZ = value(aR.payments[0])
259+ let ba = aZ.amount
260+ if ((aZ.assetId != aq))
246261 then throw("can use NSBT only")
247- else if ((ar > aT))
248- then throw((("min " + toString((ar / s))) + " nsbt expected"))
262+ else if ((at > ba))
263+ then throw((("min " + toString((at / r))) + " nsbt expected"))
249264 else {
250- let ba = o(i(invoke(am, "calcContractNsbtPriceSYSREADONLY", [-(aT)], nil))[0])
251- if ((s > ba))
252- then throw((("resulting nsbt price would be < 1 (" + toString(ba)) + " usdn)"))
265+ let bh = n(h(invoke(ao, "calcContractNsbtPriceSYSREADONLY", [-(ba)], nil))[0])
266+ if ((r > bh))
267+ then throw((("resulting nsbt price would be < 1 (" + toString(bh)) + " usdn)"))
253268 else {
254- let bb = invoke(aj, "transferUsdnToUser", [aT, toString(aP.caller)], nil)
255- if ((bb == bb))
256- then $Tuple2(nil, ba)
269+ let bi = invoke(al, "transferUsdnToUser", [ba, toString(aR.caller)], nil)
270+ if ((bi == bi))
271+ then $Tuple2(nil, bh)
257272 else throw("Strict value is not equal to itself.")
258273 }
259274 }
261276
262277
263278
264-@Callable(aP)
265-func cancelOrder (P) = {
266- let aI = aw(P)
267- let Z = (av(P) - ay(P))
268- let bc = toString(aP.caller)
269- let bd = aA(P)
270- let be = az(P)
271- if ((ax(P) != C))
279+@Callable(aR)
280+func cancelOrder (R) = {
281+ let aK = ay(R)
282+ let ab = (ax(R) - aA(R))
283+ let bj = toString(aR.caller)
284+ let bk = aC(R)
285+ let bl = aB(R)
286+ if ((az(R) != B))
272287 then throw("invalid order status")
273- else [StringEntry(K, if ((as == P))
274- then bd
275- else as), StringEntry(X(be), bd), StringEntry(W(bd), be), StringEntry(U(P), B), ScriptTransfer(aP.caller, Z, unit)]
288+ else [StringEntry(K, if ((au == R))
289+ then bk
290+ else au), StringEntry(Z(bl), bk), StringEntry(Y(bk), bl), StringEntry(W(R), A), ScriptTransfer(aR.caller, ab, unit)]
276291 }
277292
278293
279294
280-@Callable(aP)
281-func minWavesAmountNsbtBuySYSREADONLY () = $Tuple2(nil, aq)
295+@Callable(aR)
296+func minWavesAmountNsbtBuySYSREADONLY () = $Tuple2(nil, as)
282297
283298
284299
285-@Callable(aP)
286-func minNsbtAmountForSellSYSREADONLY () = $Tuple2(nil, ar)
300+@Callable(aR)
301+func minNsbtAmountForSellSYSREADONLY () = $Tuple2(nil, at)
287302
288303
289-@Verifier(bf)
290-func bg () = {
291- let bh = makeString(["GJdLSaLiv5K7xuejac8mcRcHoyo3dPrESrvktG3a6MAR", "EYwZmURd5KKaQRBjsVa6g8DPisFoS6SovRJtFiL5gMHU", "DtmAfuDdCrHK8spdAeAYzq6MsZegeD9gnsrpuTRkCbVA", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"], q)
292- let bi = split(valueOrElse(getString(ak, "%s__multisig"), bh), q)
293- let bj = ((((if (sigVerify(bf.bodyBytes, bf.proofs[0], fromBase58String(bi[0])))
304+@Verifier(bm)
305+func bn () = {
306+ let bo = makeString(["GJdLSaLiv5K7xuejac8mcRcHoyo3dPrESrvktG3a6MAR", "EYwZmURd5KKaQRBjsVa6g8DPisFoS6SovRJtFiL5gMHU", "DtmAfuDdCrHK8spdAeAYzq6MsZegeD9gnsrpuTRkCbVA", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"], p)
307+ let bp = split(valueOrElse(getString(am, "%s__multisig"), bo), p)
308+ let bq = ((((if (sigVerify(bm.bodyBytes, bm.proofs[0], fromBase58String(bp[0])))
294309 then 1
295- else 0) + (if (sigVerify(bf.bodyBytes, bf.proofs[1], fromBase58String(bi[1])))
310+ else 0) + (if (sigVerify(bm.bodyBytes, bm.proofs[1], fromBase58String(bp[1])))
296311 then 1
297- else 0)) + (if (sigVerify(bf.bodyBytes, bf.proofs[2], fromBase58String(bi[2])))
312+ else 0)) + (if (sigVerify(bm.bodyBytes, bm.proofs[2], fromBase58String(bp[2])))
298313 then 1
299- else 0)) + (if (sigVerify(bf.bodyBytes, bf.proofs[3], fromBase58String(bi[3])))
314+ else 0)) + (if (sigVerify(bm.bodyBytes, bm.proofs[3], fromBase58String(bp[3])))
300315 then 2
301316 else 0))
302- (bj >= 3)
317+ (bq >= 3)
303318 }
304319
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "b3ff7472a1d54a9f0c8f6d6665c4458c36a31e48"
5-
6-func b (c) = valueOrElse(getInteger(this, c), 0)
4+func a (b) = valueOrElse(getInteger(this, b), 0)
75
86
9-func d (c) = valueOrElse(getString(this, c), "")
7+func c (b) = valueOrElse(getString(this, b), "")
108
119
12-func e (f,c) = valueOrElse(getBoolean(f, c), false)
10+func d (e,b) = valueOrElse(getBoolean(e, b), false)
1311
1412
15-func g (f,c) = valueOrElse(getString(f, c), "")
13+func f (e,b) = valueOrElse(getString(e, b), "")
1614
1715
18-func h (f,c) = valueOrElse(getInteger(f, c), 0)
16+func g (e,b) = valueOrElse(getInteger(e, b), 0)
1917
2018
21-func i (j) = {
22- let k = j
23- if ($isInstanceOf(k, "List[Any]"))
19+func h (i) = {
20+ let j = i
21+ if ($isInstanceOf(j, "List[Any]"))
2422 then {
25- let l = k
26- l
23+ let k = j
24+ k
2725 }
2826 else throw("fail to cast into List[Any]")
2927 }
3028
3129
32-func m (j) = {
33- let k = j
34- if ($isInstanceOf(k, "String"))
30+func l (i) = {
31+ let j = i
32+ if ($isInstanceOf(j, "String"))
3533 then {
36- let n = k
37- n
34+ let m = j
35+ m
3836 }
3937 else throw("fail to cast into String")
4038 }
4139
4240
43-func o (j) = {
44- let k = j
45- if ($isInstanceOf(k, "Int"))
41+func n (i) = {
42+ let j = i
43+ if ($isInstanceOf(j, "Int"))
4644 then {
47- let p = k
48- p
45+ let o = j
46+ o
4947 }
5048 else throw("fail to cast into Int")
5149 }
5250
5351
54-let q = "__"
52+let p = "__"
5553
56-let r = 100000000
54+let q = 100000000
5755
58-let s = 1000000
56+let r = 1000000
5957
60-let t = toBigInt(1000000)
58+let s = toBigInt(1000000)
6159
62-let u = 1000000
60+let t = 1000000
6361
64-let v = 100000000
62+let u = 100000000
6563
66-let w = toBigInt(10000000000000000)
64+let v = toBigInt(10000000000000000)
6765
68-let x = 8
66+let w = 8
6967
70-let y = 16
68+let x = 16
7169
72-let z = (10 * r)
70+let y = (10 * q)
7371
74-let A = 95
72+let z = 95
7573
76-let B = "canceled"
74+let A = "canceled"
7775
78-let C = "new"
76+let B = "new"
7977
80-let D = "filled"
78+let C = "filled"
8179
82-let E = "price"
80+let D = "price"
8381
84-let F = "bond_asset_id"
82+let E = "bond_asset_id"
8583
86-let G = "neutrino_asset_id"
84+let F = "neutrino_asset_id"
85+
86+let G = "surf_asset_id"
8787
8888 let H = "balance_lock_"
8989
9090 let I = (H + "waves")
9191
9292 let J = (H + "neutrino")
9393
9494 let K = "order_first"
9595
9696 let L = "math_contract"
9797
9898 let M = "min_waves_nsbt_buy"
9999
100100 let N = "min_nsbt_sell"
101101
102-func O (P) = ("debug_order_roi_" + P)
102+let O = "min_waves_surf_buy"
103+
104+let P = "min_usdn_surf_buy"
105+
106+func Q (R) = ("debug_order_roi_" + R)
103107
104108
105-func Q (P) = ("order_price_" + P)
109+func S (R) = ("order_price_" + R)
106110
107111
108-func R (P) = ("order_total_" + P)
112+func T (R) = ("order_total_" + R)
109113
110114
111-func S (P) = ("order_owner_" + P)
115+func U (R) = ("order_owner_" + R)
112116
113117
114-func T (P) = ("order_height_" + P)
118+func V (R) = ("order_height_" + R)
115119
116120
117-func U (P) = ("order_status_" + P)
121+func W (R) = ("order_status_" + R)
118122
119123
120-func V (P) = ("order_filled_total_" + P)
124+func X (R) = ("order_filled_total_" + R)
121125
122126
123-func W (P) = ("order_prev_" + P)
127+func Y (R) = ("order_prev_" + R)
124128
125129
126-func X (P) = ("order_next_" + P)
130+func Z (R) = ("order_next_" + R)
127131
128132
129-func Y (Z,aa) = fraction(fraction(Z, u, aa), r, s)
133+func aa (ab,ac) = fraction(fraction(ab, t, ac), q, r)
130134
131135
132-func ab (Z,aa) = fraction(fraction(Z, aa, u), s, r)
136+func ad (ab,ac) = fraction(fraction(ab, ac, t), r, q)
133137
134138
135-func ac (Z,aa) = ab(Z, aa)
139+func ae (ab,ac) = ad(ab, ac)
136140
137141
138-func ad (Z,aa) = Y(Z, aa)
142+func af (ab,ac) = aa(ab, ac)
139143
140144
141-func ae (af,ag) = fraction(toBigInt(af), w, toBigInt(ag))
145+func ag (ah,ai) = fraction(toBigInt(ah), v, toBigInt(ai))
142146
143147
144-func ah (j,ai) = toInt(fraction(j, toBigInt(ai), w))
148+func aj (i,ak) = toInt(fraction(i, toBigInt(ak), v))
145149
146150
147-let aj = Address(base58'3PC9BfRwJWWiw9AREE2B3eWzCks3CYtg4yo')
151+let al = Address(base58'3PC9BfRwJWWiw9AREE2B3eWzCks3CYtg4yo')
148152
149-let ak = Address(base58'3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP')
153+let am = Address(base58'3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP')
150154
151-let al = Address(base58'3P4PCxsJqMzQBALo8zANHtBDZRRquobHQp7')
155+let an = Address(base58'3P4PCxsJqMzQBALo8zANHtBDZRRquobHQp7')
152156
153-let am = addressFromStringValue(d(L))
157+let ao = addressFromStringValue(c(L))
154158
155-let an = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
159+let ap = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
156160
157-let ao = base58'6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g'
161+let aq = base58'6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g'
158162
159-let ap = e(ak, "is_blocked")
163+let ar = d(am, "is_blocked")
160164
161-let aq = valueOrElse(getInteger(this, M), 1000000000)
165+let as = valueOrElse(getInteger(this, M), 1000000000)
162166
163-let ar = valueOrElse(getInteger(this, N), 1000000)
167+let at = valueOrElse(getInteger(this, N), 1000000)
164168
165-let as = d(K)
169+let au = c(K)
166170
167-func at (au) = b(Q(au))
171+func av (aw) = a(S(aw))
168172
169173
170-func av (au) = b(R(au))
174+func ax (aw) = a(T(aw))
171175
172176
173-func aw (au) = d(S(au))
177+func ay (aw) = c(U(aw))
174178
175179
176-func ax (au) = d(U(au))
180+func az (aw) = c(W(aw))
177181
178182
179-func ay (au) = b(V(au))
183+func aA (aw) = a(X(aw))
180184
181185
182-func az (au) = d(W(au))
186+func aB (aw) = c(Y(aw))
183187
184188
185-func aA (au) = d(X(au))
189+func aC (aw) = c(Z(aw))
186190
187191
188-func aB (aa) = ((u * u) / aa)
192+func aD (ac) = ((t * t) / ac)
189193
190194
191-func aC (aD,aE) = fraction(toBigInt(aD), toBigInt((s * u)), toBigInt(aE))
195+func aE (aF,aG) = fraction(toBigInt(aF), toBigInt((r * t)), toBigInt(aG))
192196
193197
194-func aF (P,aG,aH,aI,aJ,aK,aa,aL) = [StringEntry(Q(P), toString(aa)), IntegerEntry(R(P), aG), IntegerEntry(V(P), aH), StringEntry(S(P), aI), IntegerEntry(T(P), height), StringEntry(U(P), aJ), IntegerEntry(("debug_order_currentPrice_" + P), aL), IntegerEntry(O(P), aK)]
198+func aH (R,aI,aJ,aK,aL,aM,ac,aN) = [StringEntry(S(R), toString(ac)), IntegerEntry(T(R), aI), IntegerEntry(X(R), aJ), StringEntry(U(R), aK), IntegerEntry(V(R), height), StringEntry(W(R), aL), IntegerEntry(("debug_order_currentPrice_" + R), aN), IntegerEntry(Q(R), aM)]
195199
196200
197-func aM (aN,aO) = (((((((((((((((((((((((((((((((((((aN + "[nsbtAmountRaw=") + toString(o(aO[0]))) + " usdnPayment=") + toString(o(aO[1]))) + " wRaw=") + toString(o(aO[2]))) + " uRaw=") + toString(o(aO[3]))) + " mRaw=") + toString(o(aO[4]))) + " sRaw=") + toString(o(aO[5]))) + " nsbtCurveParam_a=") + toString(o(aO[6]))) + " nsbtCurveParam_b=") + toString(o(aO[7]))) + " wReservesInUsdn=") + toString(o(aO[8]))) + " price=") + toString(o(aO[9]))) + " multBR=") + toString(o(aO[10]))) + " multPower=") + toString(o(aO[11]))) + " multExpInPower=") + m(aO[12])) + " multK=") + m(aO[13])) + " step1=") + m(aO[14])) + " step2=") + m(aO[15])) + " step3=") + toString(o(aO[16]))) + "]")
201+func aO (aP,aQ) = (((((((((((((((((((((((((((((((((((aP + "[nsbtAmountRaw=") + toString(n(aQ[0]))) + " usdnPayment=") + toString(n(aQ[1]))) + " wRaw=") + toString(n(aQ[2]))) + " uRaw=") + toString(n(aQ[3]))) + " mRaw=") + toString(n(aQ[4]))) + " sRaw=") + toString(n(aQ[5]))) + " nsbtCurveParam_a=") + toString(n(aQ[6]))) + " nsbtCurveParam_b=") + toString(n(aQ[7]))) + " wReservesInUsdn=") + toString(n(aQ[8]))) + " price=") + toString(n(aQ[9]))) + " multBR=") + toString(n(aQ[10]))) + " multPower=") + toString(n(aQ[11]))) + " multExpInPower=") + l(aQ[12])) + " multK=") + l(aQ[13])) + " step1=") + l(aQ[14])) + " step2=") + l(aQ[15])) + " step3=") + toString(n(aQ[16]))) + "]")
198202
199203
200-@Callable(aP)
201-func constructor (aQ,aR,ar) = if ((aP.caller != this))
204+@Callable(aR)
205+func constructor (aS,aT,at) = if ((aR.caller != this))
202206 then throw("Permission denied")
203- else [StringEntry(L, aQ), IntegerEntry(N, ar), IntegerEntry(M, aR)]
207+ else [StringEntry(L, aS), IntegerEntry(N, at), IntegerEntry(M, aT)]
204208
205209
206210
207-@Callable(aP)
211+@Callable(aR)
212+func constructorV2 (aU,aV,aW) = if ((aR.caller != this))
213+ then throw("Permission denied")
214+ else {
215+ let aX = Issue("SURF", aW, 0, 6, true, unit, 0)
216+ let aY = calculateAssetId(aX)
217+[aX, StringEntry(G, toBase58String(aY)), IntegerEntry(O, aU), IntegerEntry(P, aV)]
218+ }
219+
220+
221+
222+@Callable(aR)
208223 func buyNsbt () = {
209- let aS = value(aP.payments[0])
210- let aT = aS.amount
211- let aU = aT
212- if (ap)
224+ let aZ = value(aR.payments[0])
225+ let ba = aZ.amount
226+ let bb = ba
227+ if (ar)
213228 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
214- else if (isDefined(aS.assetId))
229+ else if (isDefined(aZ.assetId))
215230 then throw("can use waves only")
216- else if ((aq > aT))
217- then throw((("min " + toString((aq / r))) + " waves expected"))
231+ else if ((as > ba))
232+ then throw((("min " + toString((as / q))) + " waves expected"))
218233 else {
219- let aV = aP.caller
220- let aW = i(invoke(am, "calcNeutinoMetricsREADONLY", nil, nil))
221- let aL = o(aW[0])
222- let aO = i(invoke(am, "curveFunctionREADONLY", [aU], nil))
223- let aX = o(aO[0])
224- if ((0 >= aX))
234+ let bc = aR.caller
235+ let bd = h(invoke(ao, "calcNeutinoMetricsREADONLY", nil, nil))
236+ let aN = n(bd[0])
237+ let aQ = h(invoke(ao, "curveFunctionREADONLY", [bb], nil))
238+ let be = n(aQ[0])
239+ if ((0 >= be))
225240 then throw("nsbtAmount <= 0")
226241 else {
227- let aY = aC(aU, aX)
228- let aK = 0
229- let aZ = invoke(aj, "acceptWaves", nil, aP.payments)
230- if ((aZ == aZ))
231- then $Tuple2((aF(toBase58String(aP.transactionId), aT, aT, toString(aV), D, aK, aY, aL) ++ [ScriptTransfer(aV, aX, ao), StringEntry("debug_curveResult", aM("curveResult", aO))]), aX)
242+ let bf = aE(bb, be)
243+ let aM = 0
244+ let bg = invoke(al, "acceptWaves", nil, aR.payments)
245+ if ((bg == bg))
246+ then $Tuple2((aH(toBase58String(aR.transactionId), ba, ba, toString(bc), C, aM, bf, aN) ++ [ScriptTransfer(bc, be, aq), StringEntry("debug_curveResult", aO("curveResult", aQ))]), be)
232247 else throw("Strict value is not equal to itself.")
233248 }
234249 }
235250 }
236251
237252
238253
239-@Callable(aP)
240-func sellNsbt () = if (ap)
254+@Callable(aR)
255+func sellNsbt () = if (ar)
241256 then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles")
242257 else {
243- let aS = value(aP.payments[0])
244- let aT = aS.amount
245- if ((aS.assetId != ao))
258+ let aZ = value(aR.payments[0])
259+ let ba = aZ.amount
260+ if ((aZ.assetId != aq))
246261 then throw("can use NSBT only")
247- else if ((ar > aT))
248- then throw((("min " + toString((ar / s))) + " nsbt expected"))
262+ else if ((at > ba))
263+ then throw((("min " + toString((at / r))) + " nsbt expected"))
249264 else {
250- let ba = o(i(invoke(am, "calcContractNsbtPriceSYSREADONLY", [-(aT)], nil))[0])
251- if ((s > ba))
252- then throw((("resulting nsbt price would be < 1 (" + toString(ba)) + " usdn)"))
265+ let bh = n(h(invoke(ao, "calcContractNsbtPriceSYSREADONLY", [-(ba)], nil))[0])
266+ if ((r > bh))
267+ then throw((("resulting nsbt price would be < 1 (" + toString(bh)) + " usdn)"))
253268 else {
254- let bb = invoke(aj, "transferUsdnToUser", [aT, toString(aP.caller)], nil)
255- if ((bb == bb))
256- then $Tuple2(nil, ba)
269+ let bi = invoke(al, "transferUsdnToUser", [ba, toString(aR.caller)], nil)
270+ if ((bi == bi))
271+ then $Tuple2(nil, bh)
257272 else throw("Strict value is not equal to itself.")
258273 }
259274 }
260275 }
261276
262277
263278
264-@Callable(aP)
265-func cancelOrder (P) = {
266- let aI = aw(P)
267- let Z = (av(P) - ay(P))
268- let bc = toString(aP.caller)
269- let bd = aA(P)
270- let be = az(P)
271- if ((ax(P) != C))
279+@Callable(aR)
280+func cancelOrder (R) = {
281+ let aK = ay(R)
282+ let ab = (ax(R) - aA(R))
283+ let bj = toString(aR.caller)
284+ let bk = aC(R)
285+ let bl = aB(R)
286+ if ((az(R) != B))
272287 then throw("invalid order status")
273- else [StringEntry(K, if ((as == P))
274- then bd
275- else as), StringEntry(X(be), bd), StringEntry(W(bd), be), StringEntry(U(P), B), ScriptTransfer(aP.caller, Z, unit)]
288+ else [StringEntry(K, if ((au == R))
289+ then bk
290+ else au), StringEntry(Z(bl), bk), StringEntry(Y(bk), bl), StringEntry(W(R), A), ScriptTransfer(aR.caller, ab, unit)]
276291 }
277292
278293
279294
280-@Callable(aP)
281-func minWavesAmountNsbtBuySYSREADONLY () = $Tuple2(nil, aq)
295+@Callable(aR)
296+func minWavesAmountNsbtBuySYSREADONLY () = $Tuple2(nil, as)
282297
283298
284299
285-@Callable(aP)
286-func minNsbtAmountForSellSYSREADONLY () = $Tuple2(nil, ar)
300+@Callable(aR)
301+func minNsbtAmountForSellSYSREADONLY () = $Tuple2(nil, at)
287302
288303
289-@Verifier(bf)
290-func bg () = {
291- let bh = makeString(["GJdLSaLiv5K7xuejac8mcRcHoyo3dPrESrvktG3a6MAR", "EYwZmURd5KKaQRBjsVa6g8DPisFoS6SovRJtFiL5gMHU", "DtmAfuDdCrHK8spdAeAYzq6MsZegeD9gnsrpuTRkCbVA", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"], q)
292- let bi = split(valueOrElse(getString(ak, "%s__multisig"), bh), q)
293- let bj = ((((if (sigVerify(bf.bodyBytes, bf.proofs[0], fromBase58String(bi[0])))
304+@Verifier(bm)
305+func bn () = {
306+ let bo = makeString(["GJdLSaLiv5K7xuejac8mcRcHoyo3dPrESrvktG3a6MAR", "EYwZmURd5KKaQRBjsVa6g8DPisFoS6SovRJtFiL5gMHU", "DtmAfuDdCrHK8spdAeAYzq6MsZegeD9gnsrpuTRkCbVA", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"], p)
307+ let bp = split(valueOrElse(getString(am, "%s__multisig"), bo), p)
308+ let bq = ((((if (sigVerify(bm.bodyBytes, bm.proofs[0], fromBase58String(bp[0])))
294309 then 1
295- else 0) + (if (sigVerify(bf.bodyBytes, bf.proofs[1], fromBase58String(bi[1])))
310+ else 0) + (if (sigVerify(bm.bodyBytes, bm.proofs[1], fromBase58String(bp[1])))
296311 then 1
297- else 0)) + (if (sigVerify(bf.bodyBytes, bf.proofs[2], fromBase58String(bi[2])))
312+ else 0)) + (if (sigVerify(bm.bodyBytes, bm.proofs[2], fromBase58String(bp[2])))
298313 then 1
299- else 0)) + (if (sigVerify(bf.bodyBytes, bf.proofs[3], fromBase58String(bi[3])))
314+ else 0)) + (if (sigVerify(bm.bodyBytes, bm.proofs[3], fromBase58String(bp[3])))
300315 then 2
301316 else 0))
302- (bj >= 3)
317+ (bq >= 3)
303318 }
304319

github/deemru/w8io/0e76f2f 
228.01 ms