tx · A36CzN5PtZoatuZk8B5r2K4kCdPVyE9dro8BRtR9pn2N

3MrmQcYkqD2NWZCPBPxJh9ecDeCSHJaGvTX:  -0.01400000 Waves

2020.10.22 15:19 [1231770] smart account 3MrmQcYkqD2NWZCPBPxJh9ecDeCSHJaGvTX > SELF 0.00000000 Waves

{ "type": 13, "id": "A36CzN5PtZoatuZk8B5r2K4kCdPVyE9dro8BRtR9pn2N", "fee": 1400000, "feeAssetId": null, "timestamp": 1603369258718, "version": 1, "sender": "3MrmQcYkqD2NWZCPBPxJh9ecDeCSHJaGvTX", "senderPublicKey": "3jFYpyJ6e4HkngCSjP4y8XmWbp72HQExbfLDVKd4wZrr", "proofs": [ "4UaCPn95YMy8ARhsgcWTBoRQHdhw3WiGdFTwFGtDE614SV5QRCxkTbBLzSDYENMoauimfog1qe98zfsbhsh61odJ" ], "script": "base64:AAIEAAAAAAAAAA8IAhIAEgASABIAEgMKAQEAAAAQAAAAAAhJZFRva2VuQQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwIAAAANYXNzZXRJZFRva2VuQQAAAAAISWRUb2tlbkIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMCAAAADWFzc2V0SWRUb2tlbkIAAAAADGFtb3VudFRva2VuQgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAMYW1vdW50VG9rZW5CAAAAAAxhbW91bnRUb2tlbkEJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAADGFtb3VudFRva2VuQQAAAAARYXNzZXRJZFRva2VuU2hhcmUJAQAAABFAZXh0ck5hdGl2ZSgxMDUyKQAAAAIFAAAABHRoaXMCAAAADnNoYXJlX3Rva2VuX2lkAAAAABB0b2tlblNoYXJlU3VwcGx5CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABJzaGFyZV90b2tlbl9zdXBwbHkAAAAACWNvbWlzc2lvbgAAAAAAAAAB9AAAAAAXY29taXNzaW9uU2NhbGVEZWxpbWl0ZXIAAAAAAAAPQkAAAAAAB3ZlcnNpb24CAAAABTEuMC4wAAAAAAtzY2FsZVZhbHVlOAAAAAAABfXhAAAAAAARcmF0aW9UaHJlc2hvbGRNYXgAAAAAAAX14QAAAAAAEXJhdGlvVGhyZXNob2xkTWluAAAAAAAF9d0YAAAAABFzY2FsZVZhbHVlOERpZ2l0cwAAAAAAAAAACAEAAAAHYXNzZXRJZAAAAAEAAAAFYXNzZXQDCQAAAAAAAAIFAAAABWFzc2V0AgAAAAVXQVZFUwUAAAAEdW5pdAkAAlkAAAABBQAAAAVhc3NldAAAAAANYXNzZXRJZFRva2VuQQkBAAAAB2Fzc2V0SWQAAAABBQAAAAhJZFRva2VuQQAAAAANYXNzZXRJZFRva2VuQgkBAAAAB2Fzc2V0SWQAAAABBQAAAAhJZFRva2VuQgAAAAUAAAAKY29udGV4dE9iagEAAAAEZnVuZAAAAAAEAAAACHBheW1lbnRBCQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAApjb250ZXh0T2JqAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAhwYXltZW50QgkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAAKY29udGV4dE9iagAAAAhwYXltZW50cwAAAAAAAAAAAQQAAAAQYXNzZXRJZFJlY2VpdmVkQQgFAAAACHBheW1lbnRBAAAAB2Fzc2V0SWQEAAAAE3Rva2VuUmVjZWl2ZUFtb3VudEEIBQAAAAhwYXltZW50QQAAAAZhbW91bnQEAAAAEGFzc2V0SWRSZWNlaXZlZEIIBQAAAAhwYXltZW50QgAAAAdhc3NldElkBAAAABN0b2tlblJlY2VpdmVBbW91bnRCCAUAAAAIcGF5bWVudEIAAAAGYW1vdW50BAAAAAtkaWdpdFRva2VuQQQAAAAHJG1hdGNoMAUAAAAQYXNzZXRJZFJlY2VpdmVkQQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAQAAAABcAUAAAAHJG1hdGNoMAAAAAAAAAAACAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAABcAUAAAAHJG1hdGNoMAgJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAABcAAAAAhkZWNpbWFscwkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgQAAAALZGlnaXRUb2tlbkIEAAAAByRtYXRjaDAFAAAAEGFzc2V0SWRSZWNlaXZlZEIDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAAAXAFAAAAByRtYXRjaDAAAAAAAAAAAAgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAXAFAAAAByRtYXRjaDAICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAAAXAAAAAIZGVjaW1hbHMJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IDCQEAAAAJaXNEZWZpbmVkAAAAAQkABBsAAAACBQAAAAR0aGlzAgAAAAZzdGF0dXMJAAACAAAAAQIAAAAOYWxyZWFkeSBhY3RpdmUEAAAADnNoYXJlVG9rZW5OYW1lCQABLAAAAAICAAAAB1NoYXJlVF8JAQAAAAl0YWtlUmlnaHQAAAACCQAEJQAAAAEFAAAABHRoaXMAAAAAAAAAAAUEAAAAEmRpZ2l0c0luU2hhcmVUb2tlbgkAAGkAAAACCQAAZAAAAAIFAAAAC2RpZ2l0VG9rZW5BBQAAAAtkaWdpdFRva2VuQgAAAAAAAAAAAgQAAAAXc2hhcmVUb2tlbkluaXRpYWxBbW91bnQJAABrAAAAAwkAAGwAAAAGBQAAABN0b2tlblJlY2VpdmVBbW91bnRBBQAAAAtkaWdpdFRva2VuQQAAAAAAAAAABQAAAAAAAAAAAQUAAAALZGlnaXRUb2tlbkEFAAAACEhBTEZET1dOCQAAbAAAAAYFAAAAE3Rva2VuUmVjZWl2ZUFtb3VudEIFAAAAC2RpZ2l0VG9rZW5CAAAAAAAAAAAFAAAAAAAAAAABBQAAAAtkaWdpdFRva2VuQgUAAAAISEFMRkRPV04JAABsAAAABgAAAAAAAAAACgAAAAAAAAAAAAUAAAASZGlnaXRzSW5TaGFyZVRva2VuAAAAAAAAAAAAAAAAAAAAAAAABQAAAAhIQUxGRE9XTgQAAAARc2hhcmVUb2tlbkFzc2V0SWQJAAQ4AAAAAQkABEIAAAAFBQAAAA5zaGFyZVRva2VuTmFtZQUAAAAOc2hhcmVUb2tlbk5hbWUFAAAAF3NoYXJlVG9rZW5Jbml0aWFsQW1vdW50BQAAABJkaWdpdHNJblNoYXJlVG9rZW4GBAAAABNhc3NldElkVG9rZW5TdHJpbmdBBAAAAAckbWF0Y2gwBQAAABBhc3NldElkUmVjZWl2ZWRBAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BAAAAAF0BQAAAAckbWF0Y2gwAgAAAAVXQVZFUwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAABdAUAAAAHJG1hdGNoMAkAAlgAAAABCQEAAAAFdmFsdWUAAAABBQAAABBhc3NldElkUmVjZWl2ZWRBCQAAAgAAAAECAAAAC01hdGNoIGVycm9yBAAAABNhc3NldElkVG9rZW5TdHJpbmdCBAAAAAckbWF0Y2gwBQAAABBhc3NldElkUmVjZWl2ZWRCAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BAAAAAF0BQAAAAckbWF0Y2gwAgAAAAVXQVZFUwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAABdAUAAAAHJG1hdGNoMAkAAlgAAAABCQEAAAAFdmFsdWUAAAABBQAAABBhc3NldElkUmVjZWl2ZWRCCQAAAgAAAAECAAAAC01hdGNoIGVycm9yCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAxhbW91bnRUb2tlbkEFAAAAE3Rva2VuUmVjZWl2ZUFtb3VudEEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADGFtb3VudFRva2VuQgUAAAATdG9rZW5SZWNlaXZlQW1vdW50QgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAA1hc3NldElkVG9rZW5BBQAAABNhc3NldElkVG9rZW5TdHJpbmdBCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAADWFzc2V0SWRUb2tlbkIFAAAAE2Fzc2V0SWRUb2tlblN0cmluZ0IJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADmV4Y2hhbmdlX2NvdW50AAAAAAAAAAAACQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACAgAAAAZzdGF0dXMGCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAljb21pc3Npb24FAAAACWNvbWlzc2lvbgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAXY29taXNzaW9uU2NhbGVEZWxpbWl0ZXIFAAAAF2NvbWlzc2lvblNjYWxlRGVsaW1pdGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB3ZlcnNpb24FAAAAB3ZlcnNpb24JAARMAAAAAgkABEIAAAAFBQAAAA5zaGFyZVRva2VuTmFtZQUAAAAOc2hhcmVUb2tlbk5hbWUFAAAAF3NoYXJlVG9rZW5Jbml0aWFsQW1vdW50BQAAABJkaWdpdHNJblNoYXJlVG9rZW4GCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAApjb250ZXh0T2JqAAAABmNhbGxlcgUAAAAXc2hhcmVUb2tlbkluaXRpYWxBbW91bnQFAAAAEXNoYXJlVG9rZW5Bc3NldElkCQAETAAAAAIJAQAAAAtCaW5hcnlFbnRyeQAAAAICAAAADnNoYXJlX3Rva2VuX2lkBQAAABFzaGFyZVRva2VuQXNzZXRJZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASc2hhcmVfdG9rZW5fc3VwcGx5BQAAABdzaGFyZVRva2VuSW5pdGlhbEFtb3VudAUAAAADbmlsAAAACmNvbnRleHRPYmoBAAAADXJlcGxlbmlzaG1lbnQAAAAABAAAAAhwYXltZW50QQkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAAKY29udGV4dE9iagAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAIcGF5bWVudEIJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAACmNvbnRleHRPYmoAAAAIcGF5bWVudHMAAAAAAAAAAAEEAAAAEGFzc2V0SWRSZWNlaXZlZEEIBQAAAAhwYXltZW50QQAAAAdhc3NldElkBAAAABN0b2tlblJlY2VpdmVBbW91bnRBCAUAAAAIcGF5bWVudEEAAAAGYW1vdW50BAAAABBhc3NldElkUmVjZWl2ZWRCCAUAAAAIcGF5bWVudEIAAAAHYXNzZXRJZAQAAAATdG9rZW5SZWNlaXZlQW1vdW50QggFAAAACHBheW1lbnRCAAAABmFtb3VudAQAAAARZEFwcFRva2Vuc0Ftb3VudEEJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAADGFtb3VudFRva2VuQQQAAAARZEFwcFRva2Vuc0Ftb3VudEIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAADGFtb3VudFRva2VuQgMDCQEAAAACIT0AAAACBQAAABBhc3NldElkUmVjZWl2ZWRBBQAAAA1hc3NldElkVG9rZW5BBgkBAAAAAiE9AAAAAgUAAAAQYXNzZXRJZFJlY2VpdmVkQgUAAAANYXNzZXRJZFRva2VuQgkAAAIAAAABAgAAABBpbmNvcnJlY3QgYXNzZXRzBAAAAAp0b2tlblJhdGlvCQAAaQAAAAIJAABrAAAAAwUAAAATdG9rZW5SZWNlaXZlQW1vdW50QQkAAGgAAAACAAAAAOjUpRAAAAAAAAAAAYagBQAAABFkQXBwVG9rZW5zQW1vdW50QQkAAGsAAAADBQAAABFkQXBwVG9rZW5zQW1vdW50QgAAAADo1KUQAAUAAAATdG9rZW5SZWNlaXZlQW1vdW50QgMJAQAAAAEhAAAAAQMJAABmAAAAAgUAAAAKdG9rZW5SYXRpbwAAAAAAAAGGlgkAAGYAAAACAAAAAAAAAYaqBQAAAAp0b2tlblJhdGlvBwkAAAIAAAABAgAAABdpbmNvcnJlY3QgYXNzZXRzIGFtb3VudAQAAAAVc2hhcmVUb2tlblRvUGF5QW1vdW50CQAAawAAAAMFAAAAE3Rva2VuUmVjZWl2ZUFtb3VudEEFAAAAEHRva2VuU2hhcmVTdXBwbHkFAAAAEWRBcHBUb2tlbnNBbW91bnRBAwkAAAAAAAACBQAAABVzaGFyZVRva2VuVG9QYXlBbW91bnQAAAAAAAAAAAAJAAACAAAAAQIAAAApeW91IHRyeSByZXBsYW5zaXNoIHdpdGggdmVyeSBzbWFsbCBhbW91bnQJAARMAAAAAgkBAAAAB1JlaXNzdWUAAAADBQAAABFhc3NldElkVG9rZW5TaGFyZQUAAAAVc2hhcmVUb2tlblRvUGF5QW1vdW50BgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAAKY29udGV4dE9iagAAAAZjYWxsZXIFAAAAFXNoYXJlVG9rZW5Ub1BheUFtb3VudAUAAAARYXNzZXRJZFRva2VuU2hhcmUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAEnNoYXJlX3Rva2VuX3N1cHBseQkAAGQAAAACBQAAABB0b2tlblNoYXJlU3VwcGx5BQAAABVzaGFyZVRva2VuVG9QYXlBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADGFtb3VudFRva2VuQQkAAGQAAAACBQAAABFkQXBwVG9rZW5zQW1vdW50QQUAAAATdG9rZW5SZWNlaXZlQW1vdW50QQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAMYW1vdW50VG9rZW5CCQAAZAAAAAIFAAAAEWRBcHBUb2tlbnNBbW91bnRCBQAAABN0b2tlblJlY2VpdmVBbW91bnRCBQAAAANuaWwAAAAKY29udGV4dE9iagEAAAAZcmVwbGFuaXNobWVudFdpdGhPbmVUb2tlbgAAAAAEAAAAB3BheW1lbnQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAACmNvbnRleHRPYmoAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAAD2Fzc2V0SWRSZWNlaXZlZAgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAQAAAASdG9rZW5SZWNlaXZlQW1vdW50CAUAAAAHcGF5bWVudAAAAAZhbW91bnQDCQAAAAAAAAIFAAAAD2Fzc2V0SWRSZWNlaXZlZAUAAAANYXNzZXRJZFRva2VuQQQAAAAPbmV3QW1vdW50VG9rZW5BCQAAZAAAAAIFAAAADGFtb3VudFRva2VuQQUAAAASdG9rZW5SZWNlaXZlQW1vdW50BAAAABRwcmljZUF0b0J3aXRoOGRpZ2l0cwkAAGsAAAADBQAAAA9uZXdBbW91bnRUb2tlbkEFAAAAC3NjYWxlVmFsdWU4BQAAAAxhbW91bnRUb2tlbkIEAAAAIHRva2VuQW1vdW50Qk5ld1ByaWNlT2xkSW52YXJpYW50CQAAbAAAAAYJAABrAAAAAwUAAAAMYW1vdW50VG9rZW5BBQAAAAxhbW91bnRUb2tlbkIFAAAAFHByaWNlQXRvQndpdGg4ZGlnaXRzAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAABAAAAAAAAAAAABQAAAAhIQUxGRE9XTgQAAAATbmV3VG9rZW5TaGFyZVN1cHBseQkAAGsAAAADBQAAAAxhbW91bnRUb2tlbkIFAAAAEHRva2VuU2hhcmVTdXBwbHkFAAAAIHRva2VuQW1vdW50Qk5ld1ByaWNlT2xkSW52YXJpYW50BAAAABVzaGFyZVRva2VuVG9QYXlBbW91bnQJAABlAAAAAgUAAAATbmV3VG9rZW5TaGFyZVN1cHBseQUAAAAQdG9rZW5TaGFyZVN1cHBseQkABEwAAAACCQEAAAAHUmVpc3N1ZQAAAAMFAAAAEWFzc2V0SWRUb2tlblNoYXJlBQAAABVzaGFyZVRva2VuVG9QYXlBbW91bnQGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAApjb250ZXh0T2JqAAAABmNhbGxlcgUAAAAVc2hhcmVUb2tlblRvUGF5QW1vdW50BQAAABFhc3NldElkVG9rZW5TaGFyZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASc2hhcmVfdG9rZW5fc3VwcGx5CQAAZAAAAAIFAAAAEHRva2VuU2hhcmVTdXBwbHkFAAAAFXNoYXJlVG9rZW5Ub1BheUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAMYW1vdW50VG9rZW5BBQAAAA9uZXdBbW91bnRUb2tlbkEFAAAAA25pbAMJAAAAAAAAAgUAAAAPYXNzZXRJZFJlY2VpdmVkBQAAAA1hc3NldElkVG9rZW5CBAAAAA9uZXdBbW91bnRUb2tlbkIJAABkAAAAAgUAAAAMYW1vdW50VG9rZW5CBQAAABJ0b2tlblJlY2VpdmVBbW91bnQEAAAAFHByaWNlQXRvQndpdGg4ZGlnaXRzCQAAawAAAAMFAAAADGFtb3VudFRva2VuQQUAAAALc2NhbGVWYWx1ZTgFAAAAD25ld0Ftb3VudFRva2VuQgQAAAAgdG9rZW5BbW91bnRCTmV3UHJpY2VPbGRJbnZhcmlhbnQJAABsAAAABgkAAGsAAAADBQAAAAxhbW91bnRUb2tlbkEFAAAADGFtb3VudFRva2VuQgUAAAAUcHJpY2VBdG9Cd2l0aDhkaWdpdHMAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAEAAAAAAAAAAAAFAAAACEhBTEZET1dOBAAAABNuZXdUb2tlblNoYXJlU3VwcGx5CQAAawAAAAMFAAAADGFtb3VudFRva2VuQgUAAAAQdG9rZW5TaGFyZVN1cHBseQUAAAAgdG9rZW5BbW91bnRCTmV3UHJpY2VPbGRJbnZhcmlhbnQEAAAAFXNoYXJlVG9rZW5Ub1BheUFtb3VudAkAAGUAAAACBQAAABNuZXdUb2tlblNoYXJlU3VwcGx5BQAAABB0b2tlblNoYXJlU3VwcGx5CQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwUAAAARYXNzZXRJZFRva2VuU2hhcmUFAAAAFXNoYXJlVG9rZW5Ub1BheUFtb3VudAYJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAACmNvbnRleHRPYmoAAAAGY2FsbGVyBQAAABVzaGFyZVRva2VuVG9QYXlBbW91bnQFAAAAEWFzc2V0SWRUb2tlblNoYXJlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJzaGFyZV90b2tlbl9zdXBwbHkJAABkAAAAAgUAAAAQdG9rZW5TaGFyZVN1cHBseQUAAAAVc2hhcmVUb2tlblRvUGF5QW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAxhbW91bnRUb2tlbkIFAAAAD25ld0Ftb3VudFRva2VuQgUAAAADbmlsCQAAAgAAAAECAAAAG2luY29ycmVjdCBhc3NldHMgaW4gcGF5bWVudAAAAApjb250ZXh0T2JqAQAAAAh3aXRoZHJhdwAAAAAEAAAAEWRBcHBUb2tlbnNBbW91bnRBCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAAxhbW91bnRUb2tlbkEEAAAAEWRBcHBUb2tlbnNBbW91bnRCCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAAxhbW91bnRUb2tlbkIEAAAAB3BheW1lbnQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAACmNvbnRleHRPYmoAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAAD2Fzc2V0SWRSZWNlaXZlZAgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAQAAAASdG9rZW5SZWNlaXZlQW1vdW50CAUAAAAHcGF5bWVudAAAAAZhbW91bnQDCQEAAAACIT0AAAACBQAAABFhc3NldElkVG9rZW5TaGFyZQUAAAAPYXNzZXRJZFJlY2VpdmVkCQAAAgAAAAEJAAEsAAAAAgIAAAAteW91IG5lZWQgdG8gYXR0YWNoIHNoYXJlIHRva2VuIGZvciB0aGlzIGRBcHAgCQACWAAAAAEFAAAAEWFzc2V0SWRUb2tlblNoYXJlBAAAAAx0b2tlbnNUb1BheUEJAABrAAAAAwUAAAASdG9rZW5SZWNlaXZlQW1vdW50BQAAABFkQXBwVG9rZW5zQW1vdW50QQUAAAAQdG9rZW5TaGFyZVN1cHBseQQAAAAMdG9rZW5zVG9QYXlCCQAAawAAAAMFAAAAEnRva2VuUmVjZWl2ZUFtb3VudAUAAAARZEFwcFRva2Vuc0Ftb3VudEIFAAAAEHRva2VuU2hhcmVTdXBwbHkJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAACmNvbnRleHRPYmoAAAAGY2FsbGVyBQAAAAx0b2tlbnNUb1BheUEFAAAADWFzc2V0SWRUb2tlbkEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAACmNvbnRleHRPYmoAAAAGY2FsbGVyBQAAAAx0b2tlbnNUb1BheUIFAAAADWFzc2V0SWRUb2tlbkIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADGFtb3VudFRva2VuQQkAAGUAAAACBQAAABFkQXBwVG9rZW5zQW1vdW50QQUAAAAMdG9rZW5zVG9QYXlBCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAxhbW91bnRUb2tlbkIJAABlAAAAAgUAAAARZEFwcFRva2Vuc0Ftb3VudEIFAAAADHRva2Vuc1RvUGF5QgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASc2hhcmVfdG9rZW5fc3VwcGx5CQAAZQAAAAIFAAAAEHRva2VuU2hhcmVTdXBwbHkFAAAAEnRva2VuUmVjZWl2ZUFtb3VudAkABEwAAAACCQEAAAAEQnVybgAAAAIFAAAAEWFzc2V0SWRUb2tlblNoYXJlBQAAABJ0b2tlblJlY2VpdmVBbW91bnQFAAAAA25pbAAAAApjb250ZXh0T2JqAQAAAAlleGNoYW5nZXIAAAABAAAAD21pblRva2VuUmVjaWV2ZQQAAAAHcGF5bWVudAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAAKY29udGV4dE9iagAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAPYXNzZXRJZFJlY2VpdmVkCAUAAAAHcGF5bWVudAAAAAdhc3NldElkBAAAABJ0b2tlblJlY2VpdmVBbW91bnQIBQAAAAdwYXltZW50AAAABmFtb3VudAQAAAAFY291bnQJAQAAAAV2YWx1ZQAAAAEJAAQaAAAAAgUAAAAEdGhpcwIAAAAOZXhjaGFuZ2VfY291bnQDCQAAAAAAAAIFAAAAD2Fzc2V0SWRSZWNlaXZlZAUAAAANYXNzZXRJZFRva2VuQgQAAAAPdG9rZW5TZW5kQW1vdW50CQAAaQAAAAIJAABoAAAAAgkAAGsAAAADBQAAAAxhbW91bnRUb2tlbkEFAAAAEnRva2VuUmVjZWl2ZUFtb3VudAkAAGQAAAACBQAAABJ0b2tlblJlY2VpdmVBbW91bnQFAAAADGFtb3VudFRva2VuQgkAAGUAAAACBQAAABdjb21pc3Npb25TY2FsZURlbGltaXRlcgUAAAAJY29taXNzaW9uBQAAABdjb21pc3Npb25TY2FsZURlbGltaXRlcgMJAABmAAAAAgUAAAAPbWluVG9rZW5SZWNpZXZlBQAAAA90b2tlblNlbmRBbW91bnQJAAACAAAAAQIAAABZUHJpY2UgaGFzIGNoYW5nZWQgZHJhbWF0aWNhbHkuIFJlY2VpdmluZyB0b2tlbiBhbW91bnQgZG9uJ3Qgc2F0aXNmeSBzcGVjaWZpZWQgcHJpY2UgbGV2ZWwEAAAAC2Fzc2V0SWRTZW50BQAAAA1hc3NldElkVG9rZW5BCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAxhbW91bnRUb2tlbkEJAABlAAAAAgUAAAAMYW1vdW50VG9rZW5BBQAAAA90b2tlblNlbmRBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADGFtb3VudFRva2VuQgkAAGQAAAACBQAAAAxhbW91bnRUb2tlbkIFAAAAEnRva2VuUmVjZWl2ZUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAOZXhjaGFuZ2VfY291bnQJAABkAAAAAgUAAAAFY291bnQAAAAAAAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAACmNvbnRleHRPYmoAAAAGY2FsbGVyBQAAAA90b2tlblNlbmRBbW91bnQFAAAAC2Fzc2V0SWRTZW50BQAAAANuaWwDCQAAAAAAAAIFAAAAD2Fzc2V0SWRSZWNlaXZlZAUAAAANYXNzZXRJZFRva2VuQQQAAAAPdG9rZW5TZW5kQW1vdW50CQAAaQAAAAIJAABoAAAAAgkAAGsAAAADBQAAAAxhbW91bnRUb2tlbkIFAAAAEnRva2VuUmVjZWl2ZUFtb3VudAkAAGQAAAACBQAAABJ0b2tlblJlY2VpdmVBbW91bnQFAAAADGFtb3VudFRva2VuQQkAAGUAAAACBQAAABdjb21pc3Npb25TY2FsZURlbGltaXRlcgUAAAAJY29taXNzaW9uBQAAABdjb21pc3Npb25TY2FsZURlbGltaXRlcgMJAABmAAAAAgUAAAAPbWluVG9rZW5SZWNpZXZlBQAAAA90b2tlblNlbmRBbW91bnQJAAACAAAAAQIAAABZUHJpY2UgaGFzIGNoYW5nZWQgZHJhbWF0aWNhbHkuIFJlY2VpdmluZyB0b2tlbiBhbW91bnQgZG9uJ3Qgc2F0aXNmeSBzcGVjaWZpZWQgcHJpY2UgbGV2ZWwEAAAAC2Fzc2V0SWRTZW50BQAAAA1hc3NldElkVG9rZW5CCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAxhbW91bnRUb2tlbkEJAABkAAAAAgUAAAAMYW1vdW50VG9rZW5BBQAAABJ0b2tlblJlY2VpdmVBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADGFtb3VudFRva2VuQgkAAGUAAAACBQAAAAxhbW91bnRUb2tlbkIFAAAAD3Rva2VuU2VuZEFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAOZXhjaGFuZ2VfY291bnQJAABkAAAAAgUAAAAFY291bnQAAAAAAAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAACmNvbnRleHRPYmoAAAAGY2FsbGVyBQAAAA90b2tlblNlbmRBbW91bnQFAAAAC2Fzc2V0SWRTZW50BQAAAANuaWwJAAACAAAAAQIAAAAUQXNzZXQgaXMgbm90IGFsbG93ZWQAAAAA2SK/xA==", "chainId": 84, "height": 1231770, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HJ9G3mZog1J8YYE5wAhod9juvn9GQb1MoJ8uPvBGcee Next: AzFFD6fcQsypHMNtruEw8Y8wt2g5JyP2GNbPqZsGGjD8 Diff:
OldNewDifferences
1313
1414 let f = getIntegerValue(this, "share_token_supply")
1515
16-let g = 2000
16+let g = 500
1717
18-let h = 10000
18+let h = 1000000
1919
20-let i = "0.0.2"
20+let i = "1.0.0"
2121
2222 let j = 100000000
2323
24-let k = 8
24+let k = 100000000
2525
26-func l (m) = if ((m == "WAVES"))
26+let l = 99999000
27+
28+let m = 8
29+
30+func n (o) = if ((o == "WAVES"))
2731 then unit
28- else fromBase58String(m)
32+ else fromBase58String(o)
2933
3034
31-let n = l(a)
35+let p = n(a)
3236
33-let o = l(b)
37+let q = n(b)
3438
35-@Callable(p)
39+@Callable(r)
3640 func fund () = {
37- let q = value(p.payments[0])
38- let r = value(p.payments[1])
39- let s = q.assetId
40- let t = q.amount
41- let u = r.assetId
42- let v = r.amount
43- let w = {
44- let x = s
45- if ($isInstanceOf(x, "Unit"))
41+ let s = value(r.payments[0])
42+ let t = value(r.payments[1])
43+ let u = s.assetId
44+ let v = s.amount
45+ let w = t.assetId
46+ let x = t.amount
47+ let y = {
48+ let z = u
49+ if ($isInstanceOf(z, "Unit"))
4650 then {
47- let y = x
51+ let A = z
4852 8
4953 }
50- else if ($isInstanceOf(x, "ByteVector"))
54+ else if ($isInstanceOf(z, "ByteVector"))
5155 then {
52- let y = x
53- value(assetInfo(y)).decimals
56+ let A = z
57+ value(assetInfo(A)).decimals
5458 }
5559 else throw("Match error")
5660 }
57- let z = {
58- let x = u
59- if ($isInstanceOf(x, "Unit"))
61+ let B = {
62+ let z = w
63+ if ($isInstanceOf(z, "Unit"))
6064 then {
61- let y = x
65+ let A = z
6266 8
6367 }
64- else if ($isInstanceOf(x, "ByteVector"))
68+ else if ($isInstanceOf(z, "ByteVector"))
6569 then {
66- let y = x
67- value(assetInfo(y)).decimals
70+ let A = z
71+ value(assetInfo(A)).decimals
6872 }
6973 else throw("Match error")
7074 }
7175 if (isDefined(getBoolean(this, "status")))
7276 then throw("already active")
7377 else {
74- let A = ("ShareT_" + takeRight(toString(this), 5))
75- let B = ((w + z) / 2)
76- let C = fraction(pow(t, w, 5, 1, w, HALFDOWN), pow(v, z, 5, 1, z, HALFDOWN), pow(10, 0, B, 0, 0, HALFDOWN))
77- let D = calculateAssetId(Issue(A, A, C, B, true))
78- let E = {
79- let x = s
80- if ($isInstanceOf(x, "Unit"))
78+ let C = ("ShareT_" + takeRight(toString(this), 5))
79+ let D = ((y + B) / 2)
80+ let E = fraction(pow(v, y, 5, 1, y, HALFDOWN), pow(x, B, 5, 1, B, HALFDOWN), pow(10, 0, D, 0, 0, HALFDOWN))
81+ let F = calculateAssetId(Issue(C, C, E, D, true))
82+ let G = {
83+ let z = u
84+ if ($isInstanceOf(z, "Unit"))
8185 then {
82- let F = x
86+ let H = z
8387 "WAVES"
8488 }
85- else if ($isInstanceOf(x, "ByteVector"))
89+ else if ($isInstanceOf(z, "ByteVector"))
8690 then {
87- let F = x
88- toBase58String(value(s))
89- }
90- else throw("Match error")
91- }
92- let G = {
93- let x = u
94- if ($isInstanceOf(x, "Unit"))
95- then {
96- let F = x
97- "WAVES"
98- }
99- else if ($isInstanceOf(x, "ByteVector"))
100- then {
101- let F = x
91+ let H = z
10292 toBase58String(value(u))
10393 }
10494 else throw("Match error")
10595 }
106-[IntegerEntry("amountTokenA", t), IntegerEntry("amountTokenB", v), StringEntry("assetIdTokenA", E), StringEntry("assetIdTokenB", G), IntegerEntry("exchange_count", 0), BooleanEntry("status", true), IntegerEntry("comission", g), IntegerEntry("comissionScaleDelimiter", h), StringEntry("version", i), Issue(A, A, C, 8, true), ScriptTransfer(p.caller, C, D), BinaryEntry("share_token_id", D), IntegerEntry("share_token_supply", C)]
96+ let I = {
97+ let z = w
98+ if ($isInstanceOf(z, "Unit"))
99+ then {
100+ let H = z
101+ "WAVES"
102+ }
103+ else if ($isInstanceOf(z, "ByteVector"))
104+ then {
105+ let H = z
106+ toBase58String(value(w))
107+ }
108+ else throw("Match error")
109+ }
110+[IntegerEntry("amountTokenA", v), IntegerEntry("amountTokenB", x), StringEntry("assetIdTokenA", G), StringEntry("assetIdTokenB", I), IntegerEntry("exchange_count", 0), BooleanEntry("status", true), IntegerEntry("comission", g), IntegerEntry("comissionScaleDelimiter", h), StringEntry("version", i), Issue(C, C, E, D, true), ScriptTransfer(r.caller, E, F), BinaryEntry("share_token_id", F), IntegerEntry("share_token_supply", E)]
107111 }
108112 }
109113
110114
111115
112-@Callable(p)
116+@Callable(r)
113117 func replenishment () = {
114- let q = value(p.payments[0])
115- let r = value(p.payments[1])
116- let s = q.assetId
117- let t = q.amount
118- let u = r.assetId
119- let v = r.amount
120- let H = getIntegerValue(this, "amountTokenA")
121- let I = getIntegerValue(this, "amountTokenB")
122- if (if ((s != n))
118+ let s = value(r.payments[0])
119+ let t = value(r.payments[1])
120+ let u = s.assetId
121+ let v = s.amount
122+ let w = t.assetId
123+ let x = t.amount
124+ let J = getIntegerValue(this, "amountTokenA")
125+ let K = getIntegerValue(this, "amountTokenB")
126+ if (if ((u != p))
123127 then true
124- else (u != o))
128+ else (w != q))
125129 then throw("incorrect assets")
126130 else {
127- let J = (fraction(t, (1000000000000 * 100000), H) / fraction(I, 1000000000000, v))
128- if (!(if ((J > 99990))
129- then (100010 > J)
131+ let L = (fraction(v, (1000000000000 * 100000), J) / fraction(K, 1000000000000, x))
132+ if (!(if ((L > 99990))
133+ then (100010 > L)
130134 else false))
131135 then throw("incorrect assets amount")
132136 else {
133- let K = fraction(t, f, H)
134- if ((K == 0))
137+ let M = fraction(v, f, J)
138+ if ((M == 0))
135139 then throw("you try replansish with very small amount")
136- else [Reissue(e, K, true), ScriptTransfer(p.caller, K, e), IntegerEntry("share_token_supply", (f + K)), IntegerEntry("amountTokenA", (H + t)), IntegerEntry("amountTokenB", (I + v))]
140+ else [Reissue(e, M, true), ScriptTransfer(r.caller, M, e), IntegerEntry("share_token_supply", (f + M)), IntegerEntry("amountTokenA", (J + v)), IntegerEntry("amountTokenB", (K + x))]
137141 }
138142 }
139143 }
140144
141145
142146
143-@Callable(p)
147+@Callable(r)
148+func replanishmentWithOneToken () = {
149+ let N = value(r.payments[0])
150+ let O = N.assetId
151+ let P = N.amount
152+ if ((O == p))
153+ then {
154+ let Q = (d + P)
155+ let R = fraction(Q, j, c)
156+ let S = pow(fraction(d, c, R), 0, 5, 1, 0, HALFDOWN)
157+ let T = fraction(c, f, S)
158+ let M = (T - f)
159+[Reissue(e, M, true), ScriptTransfer(r.caller, M, e), IntegerEntry("share_token_supply", (f + M)), IntegerEntry("amountTokenA", Q)]
160+ }
161+ else if ((O == q))
162+ then {
163+ let U = (c + P)
164+ let R = fraction(d, j, U)
165+ let S = pow(fraction(d, c, R), 0, 5, 1, 0, HALFDOWN)
166+ let T = fraction(c, f, S)
167+ let M = (T - f)
168+[Reissue(e, M, true), ScriptTransfer(r.caller, M, e), IntegerEntry("share_token_supply", (f + M)), IntegerEntry("amountTokenB", U)]
169+ }
170+ else throw("incorrect assets in payment")
171+ }
172+
173+
174+
175+@Callable(r)
144176 func withdraw () = {
145- let H = getIntegerValue(this, "amountTokenA")
146- let I = getIntegerValue(this, "amountTokenB")
147- let L = value(p.payments[0])
148- let M = L.assetId
149- let N = L.amount
150- if ((e != M))
177+ let J = getIntegerValue(this, "amountTokenA")
178+ let K = getIntegerValue(this, "amountTokenB")
179+ let N = value(r.payments[0])
180+ let O = N.assetId
181+ let P = N.amount
182+ if ((e != O))
151183 then throw(("you need to attach share token for this dApp " + toBase58String(e)))
152184 else {
153- let O = fraction(N, H, f)
154- let P = fraction(N, I, f)
155-[ScriptTransfer(p.caller, O, n), ScriptTransfer(p.caller, P, o), IntegerEntry("amountTokenA", (H - O)), IntegerEntry("amountTokenB", (I - P)), IntegerEntry("share_token_supply", (f - N)), Burn(e, N)]
185+ let V = fraction(P, J, f)
186+ let W = fraction(P, K, f)
187+[ScriptTransfer(r.caller, V, p), ScriptTransfer(r.caller, W, q), IntegerEntry("amountTokenA", (J - V)), IntegerEntry("amountTokenB", (K - W)), IntegerEntry("share_token_supply", (f - P)), Burn(e, P)]
156188 }
157189 }
158190
159191
160192
161-@Callable(p)
162-func exchanger (Q) = {
163- let L = value(p.payments[0])
164- let M = L.assetId
165- let N = L.amount
166- let R = value(getInteger(this, "exchange_count"))
167- if ((M == o))
193+@Callable(r)
194+func exchanger (X) = {
195+ let N = value(r.payments[0])
196+ let O = N.assetId
197+ let P = N.amount
198+ let Y = value(getInteger(this, "exchange_count"))
199+ if ((O == q))
168200 then {
169- let S = ((fraction(d, N, (N + c)) * (h - g)) / h)
170- if ((Q > S))
201+ let Z = ((fraction(d, P, (P + c)) * (h - g)) / h)
202+ if ((X > Z))
171203 then throw("Price has changed dramaticaly. Receiving token amount don't satisfy specified price level")
172204 else {
173- let T = n
174-[IntegerEntry("amountTokenA", (d - S)), IntegerEntry("amountTokenB", (c + N)), IntegerEntry("exchange_count", (R + 1)), ScriptTransfer(p.caller, S, T)]
205+ let aa = p
206+[IntegerEntry("amountTokenA", (d - Z)), IntegerEntry("amountTokenB", (c + P)), IntegerEntry("exchange_count", (Y + 1)), ScriptTransfer(r.caller, Z, aa)]
175207 }
176208 }
177- else if ((M == n))
209+ else if ((O == p))
178210 then {
179- let S = ((fraction(c, N, (N + d)) * (h - g)) / h)
180- if ((Q > S))
211+ let Z = ((fraction(c, P, (P + d)) * (h - g)) / h)
212+ if ((X > Z))
181213 then throw("Price has changed dramaticaly. Receiving token amount don't satisfy specified price level")
182214 else {
183- let T = o
184-[IntegerEntry("amountTokenA", (d + N)), IntegerEntry("amountTokenB", (c - S)), IntegerEntry("exchange_count", (R + 1)), ScriptTransfer(p.caller, S, T)]
215+ let aa = q
216+[IntegerEntry("amountTokenA", (d + P)), IntegerEntry("amountTokenB", (c - Z)), IntegerEntry("exchange_count", (Y + 1)), ScriptTransfer(r.caller, Z, aa)]
185217 }
186218 }
187219 else throw("Asset is not allowed")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = getStringValue(this, "assetIdTokenA")
55
66 let b = getStringValue(this, "assetIdTokenB")
77
88 let c = getIntegerValue(this, "amountTokenB")
99
1010 let d = getIntegerValue(this, "amountTokenA")
1111
1212 let e = getBinaryValue(this, "share_token_id")
1313
1414 let f = getIntegerValue(this, "share_token_supply")
1515
16-let g = 2000
16+let g = 500
1717
18-let h = 10000
18+let h = 1000000
1919
20-let i = "0.0.2"
20+let i = "1.0.0"
2121
2222 let j = 100000000
2323
24-let k = 8
24+let k = 100000000
2525
26-func l (m) = if ((m == "WAVES"))
26+let l = 99999000
27+
28+let m = 8
29+
30+func n (o) = if ((o == "WAVES"))
2731 then unit
28- else fromBase58String(m)
32+ else fromBase58String(o)
2933
3034
31-let n = l(a)
35+let p = n(a)
3236
33-let o = l(b)
37+let q = n(b)
3438
35-@Callable(p)
39+@Callable(r)
3640 func fund () = {
37- let q = value(p.payments[0])
38- let r = value(p.payments[1])
39- let s = q.assetId
40- let t = q.amount
41- let u = r.assetId
42- let v = r.amount
43- let w = {
44- let x = s
45- if ($isInstanceOf(x, "Unit"))
41+ let s = value(r.payments[0])
42+ let t = value(r.payments[1])
43+ let u = s.assetId
44+ let v = s.amount
45+ let w = t.assetId
46+ let x = t.amount
47+ let y = {
48+ let z = u
49+ if ($isInstanceOf(z, "Unit"))
4650 then {
47- let y = x
51+ let A = z
4852 8
4953 }
50- else if ($isInstanceOf(x, "ByteVector"))
54+ else if ($isInstanceOf(z, "ByteVector"))
5155 then {
52- let y = x
53- value(assetInfo(y)).decimals
56+ let A = z
57+ value(assetInfo(A)).decimals
5458 }
5559 else throw("Match error")
5660 }
57- let z = {
58- let x = u
59- if ($isInstanceOf(x, "Unit"))
61+ let B = {
62+ let z = w
63+ if ($isInstanceOf(z, "Unit"))
6064 then {
61- let y = x
65+ let A = z
6266 8
6367 }
64- else if ($isInstanceOf(x, "ByteVector"))
68+ else if ($isInstanceOf(z, "ByteVector"))
6569 then {
66- let y = x
67- value(assetInfo(y)).decimals
70+ let A = z
71+ value(assetInfo(A)).decimals
6872 }
6973 else throw("Match error")
7074 }
7175 if (isDefined(getBoolean(this, "status")))
7276 then throw("already active")
7377 else {
74- let A = ("ShareT_" + takeRight(toString(this), 5))
75- let B = ((w + z) / 2)
76- let C = fraction(pow(t, w, 5, 1, w, HALFDOWN), pow(v, z, 5, 1, z, HALFDOWN), pow(10, 0, B, 0, 0, HALFDOWN))
77- let D = calculateAssetId(Issue(A, A, C, B, true))
78- let E = {
79- let x = s
80- if ($isInstanceOf(x, "Unit"))
78+ let C = ("ShareT_" + takeRight(toString(this), 5))
79+ let D = ((y + B) / 2)
80+ let E = fraction(pow(v, y, 5, 1, y, HALFDOWN), pow(x, B, 5, 1, B, HALFDOWN), pow(10, 0, D, 0, 0, HALFDOWN))
81+ let F = calculateAssetId(Issue(C, C, E, D, true))
82+ let G = {
83+ let z = u
84+ if ($isInstanceOf(z, "Unit"))
8185 then {
82- let F = x
86+ let H = z
8387 "WAVES"
8488 }
85- else if ($isInstanceOf(x, "ByteVector"))
89+ else if ($isInstanceOf(z, "ByteVector"))
8690 then {
87- let F = x
88- toBase58String(value(s))
89- }
90- else throw("Match error")
91- }
92- let G = {
93- let x = u
94- if ($isInstanceOf(x, "Unit"))
95- then {
96- let F = x
97- "WAVES"
98- }
99- else if ($isInstanceOf(x, "ByteVector"))
100- then {
101- let F = x
91+ let H = z
10292 toBase58String(value(u))
10393 }
10494 else throw("Match error")
10595 }
106-[IntegerEntry("amountTokenA", t), IntegerEntry("amountTokenB", v), StringEntry("assetIdTokenA", E), StringEntry("assetIdTokenB", G), IntegerEntry("exchange_count", 0), BooleanEntry("status", true), IntegerEntry("comission", g), IntegerEntry("comissionScaleDelimiter", h), StringEntry("version", i), Issue(A, A, C, 8, true), ScriptTransfer(p.caller, C, D), BinaryEntry("share_token_id", D), IntegerEntry("share_token_supply", C)]
96+ let I = {
97+ let z = w
98+ if ($isInstanceOf(z, "Unit"))
99+ then {
100+ let H = z
101+ "WAVES"
102+ }
103+ else if ($isInstanceOf(z, "ByteVector"))
104+ then {
105+ let H = z
106+ toBase58String(value(w))
107+ }
108+ else throw("Match error")
109+ }
110+[IntegerEntry("amountTokenA", v), IntegerEntry("amountTokenB", x), StringEntry("assetIdTokenA", G), StringEntry("assetIdTokenB", I), IntegerEntry("exchange_count", 0), BooleanEntry("status", true), IntegerEntry("comission", g), IntegerEntry("comissionScaleDelimiter", h), StringEntry("version", i), Issue(C, C, E, D, true), ScriptTransfer(r.caller, E, F), BinaryEntry("share_token_id", F), IntegerEntry("share_token_supply", E)]
107111 }
108112 }
109113
110114
111115
112-@Callable(p)
116+@Callable(r)
113117 func replenishment () = {
114- let q = value(p.payments[0])
115- let r = value(p.payments[1])
116- let s = q.assetId
117- let t = q.amount
118- let u = r.assetId
119- let v = r.amount
120- let H = getIntegerValue(this, "amountTokenA")
121- let I = getIntegerValue(this, "amountTokenB")
122- if (if ((s != n))
118+ let s = value(r.payments[0])
119+ let t = value(r.payments[1])
120+ let u = s.assetId
121+ let v = s.amount
122+ let w = t.assetId
123+ let x = t.amount
124+ let J = getIntegerValue(this, "amountTokenA")
125+ let K = getIntegerValue(this, "amountTokenB")
126+ if (if ((u != p))
123127 then true
124- else (u != o))
128+ else (w != q))
125129 then throw("incorrect assets")
126130 else {
127- let J = (fraction(t, (1000000000000 * 100000), H) / fraction(I, 1000000000000, v))
128- if (!(if ((J > 99990))
129- then (100010 > J)
131+ let L = (fraction(v, (1000000000000 * 100000), J) / fraction(K, 1000000000000, x))
132+ if (!(if ((L > 99990))
133+ then (100010 > L)
130134 else false))
131135 then throw("incorrect assets amount")
132136 else {
133- let K = fraction(t, f, H)
134- if ((K == 0))
137+ let M = fraction(v, f, J)
138+ if ((M == 0))
135139 then throw("you try replansish with very small amount")
136- else [Reissue(e, K, true), ScriptTransfer(p.caller, K, e), IntegerEntry("share_token_supply", (f + K)), IntegerEntry("amountTokenA", (H + t)), IntegerEntry("amountTokenB", (I + v))]
140+ else [Reissue(e, M, true), ScriptTransfer(r.caller, M, e), IntegerEntry("share_token_supply", (f + M)), IntegerEntry("amountTokenA", (J + v)), IntegerEntry("amountTokenB", (K + x))]
137141 }
138142 }
139143 }
140144
141145
142146
143-@Callable(p)
147+@Callable(r)
148+func replanishmentWithOneToken () = {
149+ let N = value(r.payments[0])
150+ let O = N.assetId
151+ let P = N.amount
152+ if ((O == p))
153+ then {
154+ let Q = (d + P)
155+ let R = fraction(Q, j, c)
156+ let S = pow(fraction(d, c, R), 0, 5, 1, 0, HALFDOWN)
157+ let T = fraction(c, f, S)
158+ let M = (T - f)
159+[Reissue(e, M, true), ScriptTransfer(r.caller, M, e), IntegerEntry("share_token_supply", (f + M)), IntegerEntry("amountTokenA", Q)]
160+ }
161+ else if ((O == q))
162+ then {
163+ let U = (c + P)
164+ let R = fraction(d, j, U)
165+ let S = pow(fraction(d, c, R), 0, 5, 1, 0, HALFDOWN)
166+ let T = fraction(c, f, S)
167+ let M = (T - f)
168+[Reissue(e, M, true), ScriptTransfer(r.caller, M, e), IntegerEntry("share_token_supply", (f + M)), IntegerEntry("amountTokenB", U)]
169+ }
170+ else throw("incorrect assets in payment")
171+ }
172+
173+
174+
175+@Callable(r)
144176 func withdraw () = {
145- let H = getIntegerValue(this, "amountTokenA")
146- let I = getIntegerValue(this, "amountTokenB")
147- let L = value(p.payments[0])
148- let M = L.assetId
149- let N = L.amount
150- if ((e != M))
177+ let J = getIntegerValue(this, "amountTokenA")
178+ let K = getIntegerValue(this, "amountTokenB")
179+ let N = value(r.payments[0])
180+ let O = N.assetId
181+ let P = N.amount
182+ if ((e != O))
151183 then throw(("you need to attach share token for this dApp " + toBase58String(e)))
152184 else {
153- let O = fraction(N, H, f)
154- let P = fraction(N, I, f)
155-[ScriptTransfer(p.caller, O, n), ScriptTransfer(p.caller, P, o), IntegerEntry("amountTokenA", (H - O)), IntegerEntry("amountTokenB", (I - P)), IntegerEntry("share_token_supply", (f - N)), Burn(e, N)]
185+ let V = fraction(P, J, f)
186+ let W = fraction(P, K, f)
187+[ScriptTransfer(r.caller, V, p), ScriptTransfer(r.caller, W, q), IntegerEntry("amountTokenA", (J - V)), IntegerEntry("amountTokenB", (K - W)), IntegerEntry("share_token_supply", (f - P)), Burn(e, P)]
156188 }
157189 }
158190
159191
160192
161-@Callable(p)
162-func exchanger (Q) = {
163- let L = value(p.payments[0])
164- let M = L.assetId
165- let N = L.amount
166- let R = value(getInteger(this, "exchange_count"))
167- if ((M == o))
193+@Callable(r)
194+func exchanger (X) = {
195+ let N = value(r.payments[0])
196+ let O = N.assetId
197+ let P = N.amount
198+ let Y = value(getInteger(this, "exchange_count"))
199+ if ((O == q))
168200 then {
169- let S = ((fraction(d, N, (N + c)) * (h - g)) / h)
170- if ((Q > S))
201+ let Z = ((fraction(d, P, (P + c)) * (h - g)) / h)
202+ if ((X > Z))
171203 then throw("Price has changed dramaticaly. Receiving token amount don't satisfy specified price level")
172204 else {
173- let T = n
174-[IntegerEntry("amountTokenA", (d - S)), IntegerEntry("amountTokenB", (c + N)), IntegerEntry("exchange_count", (R + 1)), ScriptTransfer(p.caller, S, T)]
205+ let aa = p
206+[IntegerEntry("amountTokenA", (d - Z)), IntegerEntry("amountTokenB", (c + P)), IntegerEntry("exchange_count", (Y + 1)), ScriptTransfer(r.caller, Z, aa)]
175207 }
176208 }
177- else if ((M == n))
209+ else if ((O == p))
178210 then {
179- let S = ((fraction(c, N, (N + d)) * (h - g)) / h)
180- if ((Q > S))
211+ let Z = ((fraction(c, P, (P + d)) * (h - g)) / h)
212+ if ((X > Z))
181213 then throw("Price has changed dramaticaly. Receiving token amount don't satisfy specified price level")
182214 else {
183- let T = o
184-[IntegerEntry("amountTokenA", (d + N)), IntegerEntry("amountTokenB", (c - S)), IntegerEntry("exchange_count", (R + 1)), ScriptTransfer(p.caller, S, T)]
215+ let aa = q
216+[IntegerEntry("amountTokenA", (d + P)), IntegerEntry("amountTokenB", (c - Z)), IntegerEntry("exchange_count", (Y + 1)), ScriptTransfer(r.caller, Z, aa)]
185217 }
186218 }
187219 else throw("Asset is not allowed")
188220 }
189221
190222

github/deemru/w8io/6500d08 
102.42 ms