tx · Gd7qzpRVHbLGtyKCtSN1QGngkAxbgjKL2B2op3zofogh 3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU: -0.02000000 Waves 2023.10.10 13:36 [3858293] smart account 3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU > SELF 0.00000000 Waves
{ "type": 13, "id": "Gd7qzpRVHbLGtyKCtSN1QGngkAxbgjKL2B2op3zofogh", "fee": 2000000, "feeAssetId": null, "timestamp": 1696934262367, "version": 2, "chainId": 87, "sender": "3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU", "senderPublicKey": "Dmn1fWHxpwN789LPfoMHFj7uSYKSsb5VFfyNQyQ629f9", "proofs": [ "3Y7mxFgdLAsh1LeuyNgbCDq9ePYgK4tLurgtSZCVXPgoNF5g4uhaD7s5HZzdYEbAFJmG9tMVQBzUY3kiiYRpMMiW" ], "script": "base64:BgIaCAISBAoCCAESBQoDCAEIEgQKAggIEgMKAQQNAAl1c2RuSWRTdHICLERHMnhGa1BkRHdLVW9Ca3pHQWhRdExwU0d6ZlhMaUNZUEV6ZUtIMkFkMjRwAAZ1c2RuSWQBILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRAA1saW1pdENvbnRyYWN0AiMzUEZCNkxKeVNoc0NLRUExQVUxVTFXTGJEYXpxeWo2Wkw5YgALdHNuQ29udHJhY3QCIzNQS3o1am5KTG9oRjJHalNoUTdiRzVINEJlYmRvQTk4eloyABFsZW5kUHJveHlDb250cmFjdAIjM1BHeE1adE1uTlQ5cEpDdlh4WFY0THpLcVhzanZROVhwZlIBDHRyeUdldFN0cmluZwEDa2V5BAckbWF0Y2gwCQCdCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWIFByRtYXRjaDAFAWICAAEOZ2V0QXNzZXRTdHJpbmcBB2Fzc2V0SWQEByRtYXRjaDAFB2Fzc2V0SWQDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBYgUHJG1hdGNoMAkA2AQBBQFiAgVXQVZFUwENZ2V0QXNzZXRCeXRlcwEKYXNzZXRJZFN0cgMJAAACBQphc3NldElkU3RyAgVXQVZFUwUEdW5pdAkA2QQBBQphc3NldElkU3RyAQpnZXRCYWxhbmNlAQdhc3NldElkBAckbWF0Y2gwBQdhc3NldElkAwkAAQIFByRtYXRjaDACBFVuaXQEAXgFByRtYXRjaDAICQDvBwEFBHRoaXMJYXZhaWxhYmxlCQDwBwIFBHRoaXMJAQV2YWx1ZQEFB2Fzc2V0SWQBBnN3YXBXWAMGYXNzZXQwBmFzc2V0MQdhbW91bnQwBBNhc3NldDFCYWxhbmNlQmVmb3JlCQEKZ2V0QmFsYW5jZQEJAQ1nZXRBc3NldEJ5dGVzAQUGYXNzZXQxAwkAAAIFE2Fzc2V0MUJhbGFuY2VCZWZvcmUFE2Fzc2V0MUJhbGFuY2VCZWZvcmUEBGludjEJAPwHBAkBB0FkZHJlc3MBARoBVy4qNTWxDbfxeT7ht0bQnnRSTXsx0IOuBgIEc3dhcAkAzAgCAAEJAMwIAgUGYXNzZXQxCQDMCAIJAKUIAQUEdGhpcwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQENZ2V0QXNzZXRCeXRlcwEFBmFzc2V0MAUHYW1vdW50MAUDbmlsAwkAAAIFBGludjEFBGludjEEB2Ftb3VudDEJAGUCCQEKZ2V0QmFsYW5jZQEJAQ1nZXRBc3NldEJ5dGVzAQUGYXNzZXQxBRNhc3NldDFCYWxhbmNlQmVmb3JlAwkAAAIFB2Ftb3VudDEFB2Ftb3VudDEFB2Ftb3VudDEJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BCXN3YXBMaW1pdAMGcGFyYW1zBXQwU3RyBXQxU3RyCgEHZG9MaW1pdAIFYXNzZXQLb3JkZXJQYXJhbXMEA29yZAkAtQkCBQtvcmRlclBhcmFtcwIBPgQLJHQwMzMwMzMzNDgJAJQKAgkAkQMCBQNvcmQAAAkAkQMCBQNvcmQAAQQHb3JkZXJJZAgFCyR0MDMzMDMzMzQ4Al8xBAtvcmRlckFtb3VudAgFCyR0MDMzMDMzMzQ4Al8yBANpbnYJAPwHBAkBB0FkZHJlc3MBCQDZBAEFDWxpbWl0Q29udHJhY3QCDGZ1bGZpbGxPcmRlcgkAzAgCBQdvcmRlcklkBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBWFzc2V0CQENcGFyc2VJbnRWYWx1ZQEFC29yZGVyQW1vdW50BQNuaWwDCQAAAgUDaW52BQNpbnYFBWFzc2V0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAhvcmRlcnNMaQkAtQkCBQZwYXJhbXMCAToEAnQwCQENZ2V0QXNzZXRCeXRlcwEFBXQwU3RyBAZyZXN1bHQKAAIkbAUIb3JkZXJzTGkKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQJ0MAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEHZG9MaW1pdAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgMJAAACBQZyZXN1bHQFBnJlc3VsdAAACQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQhzd2FwTGVuZAQGcGFyYW1zBXQwU3RyBXQxU3RyBmFtb3VudAQDYXJyCQC1CQIFBnBhcmFtcwIBLQQLJHQwMzc2NTM4MjIJAJUKAwkAkQMCBQNhcnIAAAkAkQMCBQNhcnIAAQkAkQMCBQNhcnIAAgQMcG9vbF9hZGRyZXNzCAULJHQwMzc2NTM4MjICXzEEBWFzc2V0CAULJHQwMzc2NTM4MjICXzIEA2RpcggFCyR0MDM3NjUzODIyAl8zBAhwcm94eUFkcgkBB0FkZHJlc3MBCQDZBAEFEWxlbmRQcm94eUNvbnRyYWN0BAxmdW5jdGlvbk5hbWUDCQAAAgUDZGlyAgEwAgZtaW50UEwCCHJlZGVlbVBMCQD8BwQFCHByb3h5QWRyBQxmdW5jdGlvbk5hbWUJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJAQ1nZXRBc3NldEJ5dGVzAQUFdDBTdHIFBmFtb3VudAUDbmlsAQxzd2FwSW50ZXJuYWwEAWkJcm91dGVzU3RyDG1pblRvUmVjZWl2ZQZyZWZLZXkECHNodXRkb3duCQELdmFsdWVPckVsc2UCCQCgCAECCHNodXRkb3duBwMFCHNodXRkb3duCQACAQIIc2h1dGRvd24KAQZkb1N3YXACBmFtb3VudARzd2FwBAZzd2FwTGkJALUJAgUEc3dhcAIBLAQLJHQwNDM2NTQ0NDYJAJYKBAkAkQMCBQZzd2FwTGkAAAkAkQMCBQZzd2FwTGkAAQkAkQMCBQZzd2FwTGkAAgkAkQMCBQZzd2FwTGkAAwQEZEFwcAgFCyR0MDQzNjU0NDQ2Al8xBAhkQXBwVHlwZQgFCyR0MDQzNjU0NDQ2Al8yBAV0MFN0cggFCyR0MDQzNjU0NDQ2Al8zBAV0MVN0cggFCyR0MDQzNjU0NDQ2Al80BAJ0MAkBDWdldEFzc2V0Qnl0ZXMBBQV0MFN0cgQHYW1vdW50MAMJAQIhPQIFBmFtb3VudAAABQZhbW91bnQJAQpnZXRCYWxhbmNlAQUCdDAEAmkxAwkAAAIFCGRBcHBUeXBlAgZzd29wZmkJAPwHBAkBB0FkZHJlc3MBCQDZBAEFBGRBcHACCGV4Y2hhbmdlCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQJ0MAUHYW1vdW50MAUDbmlsAwkAAAIFCGRBcHBUeXBlAgZwdXp6bGUJAPwHBAkBB0FkZHJlc3MBCQDZBAEFBGRBcHACBHN3YXAJAMwIAgUFdDFTdHIJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFAnQwBQdhbW91bnQwBQNuaWwDCQAAAgUIZEFwcFR5cGUCAnd4CQEGc3dhcFdYAwUFdDBTdHIFBXQxU3RyBQdhbW91bnQwAwkAAAIFCGRBcHBUeXBlAgVsaW1pdAkBCXN3YXBMaW1pdAMFBGRBcHAFBXQwU3RyBQV0MVN0cgMJAAACBQhkQXBwVHlwZQIHdHN1bmFtaQkA/AcECQEHQWRkcmVzcwEJANkEAQULdHNuQ29udHJhY3QCBHN3YXAJAMwIAgUFdDFTdHIJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFAnQwBQdhbW91bnQwBQNuaWwDCQAAAgUIZEFwcFR5cGUCBGxlbmQJAQhzd2FwTGVuZAQFBGRBcHAFBXQwU3RyBQV0MVN0cgUHYW1vdW50MAkAAgECK2ludGVybmFsIGFnZ3JlZ2F0b3IgaXNzdWU6IHVua25vdyBwb29sIHR5cGUDCQAAAgUCaTEFAmkxAAAJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4KAQdkb1JvdXRlAgVhY2N1bQVyb3V0ZQQIYW1vdW50SW4JAQ1wYXJzZUludFZhbHVlAQkAkQMCCQC1CQIFBXJvdXRlAgEvAAAEBXN3YXBzCQC1CQIJAJEDAgkAtQkCBQVyb3V0ZQIBLwABAgE7BAtzd2Fwc1Jlc3VsdAoAAiRsBQVzd2FwcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFCGFtb3VudEluCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQZkb1N3YXACBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDMJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMDCQAAAgULc3dhcHNSZXN1bHQFC3N3YXBzUmVzdWx0CQBkAgUFYWNjdW0FC3N3YXBzUmVzdWx0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBA1zcGxpdHRlZFJvdXRlCQC1CQIJALICAgUJcm91dGVzU3RyADICASwECWFzc2V0MVN0cgkAkQMCBQ1zcGxpdHRlZFJvdXRlCQBlAgkAkAMBBQ1zcGxpdHRlZFJvdXRlAAEEBmFzc2V0MQkBDWdldEFzc2V0Qnl0ZXMBBQlhc3NldDFTdHIEBnJvdXRlcwkAvAkCBQlyb3V0ZXNTdHICAXwEBXN3YXBzCgACJGwFBnJvdXRlcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEHZG9Sb3V0ZQIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAwkAAAIFBXN3YXBzBQVzd2FwcwQIdG90YWxPdXQJAQpnZXRCYWxhbmNlAQUGYXNzZXQxBAlmZWVBbW91bnQJAGsDBQh0b3RhbE91dAAdAJBOBBBjbGVhblRvdGFsQW1vdW50CQBlAgUIdG90YWxPdXQFCWZlZUFtb3VudAMJAGYCBQxtaW5Ub1JlY2VpdmUFEGNsZWFuVG90YWxBbW91bnQJAAIBCQCsAgIJAKwCAgkArAICAl9hbW91bnQgdG8gcmVjZWl2ZSBpcyB0b28gbG93LiBwbGVhc2UgdHJ5IGFnYWluIHdpdGggYW5vdGhlciBhbW91bnQgb3Igd2FpdCAxIG1pbnV0ZS4gZXhwZWN0ZWQ6IAkApAMBBQxtaW5Ub1JlY2VpdmUCBywgcmVhbCAJAKQDAQUQY2xlYW5Ub3RhbEFtb3VudAQHdXNkbkZlZQMJAAACBQZhc3NldDEFBnVzZG5JZAUJZmVlQW1vdW50BA5wb29sQWRkcmVzc1N0cgkBDHRyeUdldFN0cmluZwEJAKwCAgkArAICAg1zdGF0aWNfYXNzZXRfBQlhc3NldDFTdHICC19wdXp6bGVQb29sAwkAAAIFDnBvb2xBZGRyZXNzU3RyAgAAAAQRdXNkbkJhbGFuY2VCZWZvcmUJAQpnZXRCYWxhbmNlAQUGdXNkbklkAwkAAAIFEXVzZG5CYWxhbmNlQmVmb3JlBRF1c2RuQmFsYW5jZUJlZm9yZQQMY29udmVydGVkRmVlCQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDnBvb2xBZGRyZXNzU3RyAgRzd2FwCQDMCAIFCXVzZG5JZFN0cgkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUGYXNzZXQxBQlmZWVBbW91bnQFA25pbAMJAAACBQxjb252ZXJ0ZWRGZWUFDGNvbnZlcnRlZEZlZQQQdXNkbkJhbGFuY2VBZnRlcgkBCmdldEJhbGFuY2UBBQZ1c2RuSWQDCQAAAgUQdXNkbkJhbGFuY2VBZnRlcgUQdXNkbkJhbGFuY2VBZnRlcgkAZQIFEHVzZG5CYWxhbmNlQWZ0ZXIFEXVzZG5CYWxhbmNlQmVmb3JlCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAAIFB3VzZG5GZWUFB3VzZG5GZWUED3JlZmVycmFsQWRkcmVzcwMJAAACBQZyZWZLZXkCBG11bmEJAQdBZGRyZXNzAQEaAVedDKrGE1GpbsuA92N9wWR44u9yTagMutMDCQAAAgUGcmVmS2V5AgZrZWVwZXIJAQdBZGRyZXNzAQEaAVfjtsoSNO5vRm/wyqiA44uvcU3xXpmsO/YDCQAAAgUGcmVmS2V5AgN0Y2kJAQdBZGRyZXNzAQEaAVdOBKn1coze5/nSUkrduGtTRYx6p5o4fZwJAQdBZGRyZXNzAQEaAVf8mgdw4W/e0ZQhIW16to1Y0kJYeywHJhIEDHJlZlVzZG5TaGFyZQMJAAACBQZyZWZLZXkCBW5vcmVmAAAJAGsDBQd1c2RuRmVlAAIACgQFdG9wVXADCQECIT0CBQd1c2RuRmVlAAAJAPwHBAkBB0FkZHJlc3MBARoBV8CKrXOUITO9sBhWDyi1uT5Bd86/b/L+1wILdG9wVXBSZXdhcmQFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUGdXNkbklkCQBlAgUHdXNkbkZlZQUMcmVmVXNkblNoYXJlBQNuaWwFBHVuaXQDCQAAAgUFdG9wVXAFBXRvcFVwBAZhc3NldDAICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAQHYW1vdW50MAkAZQIJAQpnZXRCYWxhbmNlAQUGYXNzZXQwAwkAAAIFBmFzc2V0MAUGdXNkbklkBQxyZWZVc2RuU2hhcmUAAAQHYW1vdW50MQkAZQIFEGNsZWFuVG90YWxBbW91bnQDCQAAAgUGYXNzZXQxBQZ1c2RuSWQFDHJlZlVzZG5TaGFyZQAACQDOCAIJAM4IAgkAzggCCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUHYW1vdW50MQUGYXNzZXQxBQNuaWwDCQECIT0CBQxyZWZVc2RuU2hhcmUAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQ9yZWZlcnJhbEFkZHJlc3MFDHJlZlVzZG5TaGFyZQUGdXNkbklkBQNuaWwFA25pbAMJAQIhPQIFB2Ftb3VudDAAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFB2Ftb3VudDAFBmFzc2V0MAUDbmlsBQNuaWwDCQAAAgUHdXNkbkZlZQAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQEaAVce4ftAMWuB5uxLVhsFLFGhk27fCbE80sEFCWZlZUFtb3VudAUGYXNzZXQxBQNuaWwFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQBaQEEc3dhcAIJcm91dGVzU3RyDG1pblRvUmVjZWl2ZQkBDHN3YXBJbnRlcm5hbAQFAWkFCXJvdXRlc1N0cgUMbWluVG9SZWNlaXZlAgVub3JlZgFpARBzd2FwV2l0aFJlZmVycmFsAwlyb3V0ZXNTdHIMbWluVG9SZWNlaXZlBnJlZktleQkBDHN3YXBJbnRlcm5hbAQFAWkFCXJvdXRlc1N0cgUMbWluVG9SZWNlaXZlBQZyZWZLZXkBaQESYWRkVG9rZW5QdXp6bGVQb29sAgphc3NldElkU3RyDnBvb2xBZGRyZXNzU3RyAwkBAiE9AggFAWkGY2FsbGVyCQEHQWRkcmVzcwEBGgFX1+EjUY58q4ha1dcol3XYiHXTj64jBabhCQACAQIKYWRtaW4gb25seQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgINc3RhdGljX2Fzc2V0XwUKYXNzZXRJZFN0cgILX3B1enpsZVBvb2wFDnBvb2xBZGRyZXNzU3RyBQNuaWwBaQEIc2h1dGRvd24BA3ZhbAMJAQIhPQIIBQFpBmNhbGxlcgkBB0FkZHJlc3MBARoBV9fhI1GOfKuIWtXXKJd12Ih104+uIwWm4QkAAgECB3dsIG9ubHkJAMwIAgkBDEJvb2xlYW5FbnRyeQICCHNodXRkb3duBQN2YWwFA25pbAECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkvxts0", "height": 3858293, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AY2vwMdQqi5qqhZMeV6nFoNmmG2hxDHkg1y7SLaXE163 Next: FfVPhQKrN9W3igyvDDFLwgHwbJab5yK8cqNwBsrmWSxs Diff:
Old | New | Differences | |
---|---|---|---|
9 | 9 | ||
10 | 10 | let d = "3PKz5jnJLohF2GjShQ7bG5H4BebdoA98zZ2" | |
11 | 11 | ||
12 | - | func e (f) = { | |
13 | - | let g = getString(this, f) | |
14 | - | if ($isInstanceOf(g, "String")) | |
12 | + | let e = "3PGxMZtMnNT9pJCvXxXV4LzKqXsjvQ9XpfR" | |
13 | + | ||
14 | + | func f (g) = { | |
15 | + | let h = getString(this, g) | |
16 | + | if ($isInstanceOf(h, "String")) | |
15 | 17 | then { | |
16 | - | let | |
17 | - | | |
18 | + | let i = h | |
19 | + | i | |
18 | 20 | } | |
19 | 21 | else "" | |
20 | 22 | } | |
21 | 23 | ||
22 | 24 | ||
23 | - | func | |
24 | - | let | |
25 | - | if ($isInstanceOf( | |
25 | + | func j (k) = { | |
26 | + | let h = k | |
27 | + | if ($isInstanceOf(h, "ByteVector")) | |
26 | 28 | then { | |
27 | - | let | |
28 | - | toBase58String( | |
29 | + | let i = h | |
30 | + | toBase58String(i) | |
29 | 31 | } | |
30 | 32 | else "WAVES" | |
31 | 33 | } | |
32 | 34 | ||
33 | 35 | ||
34 | - | func | |
36 | + | func l (m) = if ((m == "WAVES")) | |
35 | 37 | then unit | |
36 | - | else fromBase58String( | |
38 | + | else fromBase58String(m) | |
37 | 39 | ||
38 | 40 | ||
39 | - | func | |
40 | - | let | |
41 | - | if ($isInstanceOf( | |
41 | + | func n (k) = { | |
42 | + | let h = k | |
43 | + | if ($isInstanceOf(h, "Unit")) | |
42 | 44 | then { | |
43 | - | let | |
45 | + | let o = h | |
44 | 46 | wavesBalance(this).available | |
45 | 47 | } | |
46 | - | else assetBalance(this, value( | |
48 | + | else assetBalance(this, value(k)) | |
47 | 49 | } | |
48 | 50 | ||
49 | 51 | ||
50 | - | func | |
51 | - | let | |
52 | - | if (( | |
52 | + | func p (q,r,s) = { | |
53 | + | let t = n(l(r)) | |
54 | + | if ((t == t)) | |
53 | 55 | then { | |
54 | - | let | |
55 | - | if (( | |
56 | + | let u = invoke(Address(base58'3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93'), "swap", [1, r, toString(this)], [AttachedPayment(l(q), s)]) | |
57 | + | if ((u == u)) | |
56 | 58 | then { | |
57 | - | let | |
58 | - | if (( | |
59 | - | then | |
59 | + | let v = (n(l(r)) - t) | |
60 | + | if ((v == v)) | |
61 | + | then v | |
60 | 62 | else throw("Strict value is not equal to itself.") | |
61 | 63 | } | |
62 | 64 | else throw("Strict value is not equal to itself.") | |
65 | 67 | } | |
66 | 68 | ||
67 | 69 | ||
68 | - | func | |
69 | - | func | |
70 | - | let | |
71 | - | let | |
72 | - | let | |
73 | - | let | |
74 | - | let | |
75 | - | if (( | |
76 | - | then | |
70 | + | func w (x,y,z) = { | |
71 | + | func A (B,C) = { | |
72 | + | let D = split(C, ">") | |
73 | + | let E = $Tuple2(D[0], D[1]) | |
74 | + | let F = E._1 | |
75 | + | let G = E._2 | |
76 | + | let H = invoke(Address(fromBase58String(c)), "fulfillOrder", [F], [AttachedPayment(B, parseIntValue(G))]) | |
77 | + | if ((H == H)) | |
78 | + | then B | |
77 | 79 | else throw("Strict value is not equal to itself.") | |
78 | 80 | } | |
79 | 81 | ||
80 | - | let | |
81 | - | let | |
82 | - | let | |
83 | - | let | |
84 | - | let | |
85 | - | let | |
86 | - | func | |
87 | - | then | |
88 | - | else | |
82 | + | let I = split(x, ":") | |
83 | + | let J = l(y) | |
84 | + | let K = { | |
85 | + | let L = I | |
86 | + | let M = size(L) | |
87 | + | let N = J | |
88 | + | func O (P,Q) = if ((Q >= M)) | |
89 | + | then P | |
90 | + | else A(P, L[Q]) | |
89 | 91 | ||
90 | - | func | |
91 | - | then | |
92 | + | func R (P,Q) = if ((Q >= M)) | |
93 | + | then P | |
92 | 94 | else throw("List size exceeds 10") | |
93 | 95 | ||
94 | - | | |
96 | + | R(O(O(O(O(O(O(O(O(O(O(N, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
95 | 97 | } | |
96 | - | if (( | |
98 | + | if ((K == K)) | |
97 | 99 | then 0 | |
98 | 100 | else throw("Strict value is not equal to itself.") | |
99 | 101 | } | |
100 | 102 | ||
101 | 103 | ||
102 | - | func R (S,T,U,V) = { | |
103 | - | let W = valueOrElse(getBoolean("shutdown"), false) | |
104 | - | if (W) | |
104 | + | func S (x,y,z,T) = { | |
105 | + | let U = split(x, "-") | |
106 | + | let V = $Tuple3(U[0], U[1], U[2]) | |
107 | + | let W = V._1 | |
108 | + | let B = V._2 | |
109 | + | let X = V._3 | |
110 | + | let Y = Address(fromBase58String(e)) | |
111 | + | let Z = if ((X == "0")) | |
112 | + | then "mintPL" | |
113 | + | else "redeemPL" | |
114 | + | invoke(Y, Z, [0], [AttachedPayment(l(y), T)]) | |
115 | + | } | |
116 | + | ||
117 | + | ||
118 | + | func aa (ab,ac,ad,ae) = { | |
119 | + | let af = valueOrElse(getBoolean("shutdown"), false) | |
120 | + | if (af) | |
105 | 121 | then throw("shutdown") | |
106 | 122 | else { | |
107 | - | func X (Y,Z) = { | |
108 | - | let aa = split(Z, ",") | |
109 | - | let ab = $Tuple4(aa[0], aa[1], aa[2], aa[3]) | |
110 | - | let ac = ab._1 | |
111 | - | let ad = ab._2 | |
112 | - | let x = ab._3 | |
113 | - | let y = ab._4 | |
114 | - | let I = k(x) | |
115 | - | let r = if ((Y != 0)) | |
116 | - | then Y | |
117 | - | else m(I) | |
118 | - | let ae = if ((ad == "swopfi")) | |
119 | - | then invoke(Address(fromBase58String(ac)), "exchange", [1], [AttachedPayment(I, r)]) | |
120 | - | else if ((ad == "puzzle")) | |
121 | - | then invoke(Address(fromBase58String(ac)), "swap", [y, 0], [AttachedPayment(I, r)]) | |
122 | - | else if ((ad == "wx")) | |
123 | - | then o(x, y, r) | |
124 | - | else if ((ad == "limit")) | |
125 | - | then v(ac, x, y) | |
126 | - | else if ((ad == "tsunami")) | |
127 | - | then invoke(Address(fromBase58String(d)), "swap", [y, 0], [AttachedPayment(I, r)]) | |
128 | - | else throw("internal aggregator issue: unknow pool type") | |
129 | - | if ((ae == ae)) | |
123 | + | func ag (T,ah) = { | |
124 | + | let ai = split(ah, ",") | |
125 | + | let aj = $Tuple4(ai[0], ai[1], ai[2], ai[3]) | |
126 | + | let ak = aj._1 | |
127 | + | let al = aj._2 | |
128 | + | let y = aj._3 | |
129 | + | let z = aj._4 | |
130 | + | let J = l(y) | |
131 | + | let s = if ((T != 0)) | |
132 | + | then T | |
133 | + | else n(J) | |
134 | + | let am = if ((al == "swopfi")) | |
135 | + | then invoke(Address(fromBase58String(ak)), "exchange", [1], [AttachedPayment(J, s)]) | |
136 | + | else if ((al == "puzzle")) | |
137 | + | then invoke(Address(fromBase58String(ak)), "swap", [z, 0], [AttachedPayment(J, s)]) | |
138 | + | else if ((al == "wx")) | |
139 | + | then p(y, z, s) | |
140 | + | else if ((al == "limit")) | |
141 | + | then w(ak, y, z) | |
142 | + | else if ((al == "tsunami")) | |
143 | + | then invoke(Address(fromBase58String(d)), "swap", [z, 0], [AttachedPayment(J, s)]) | |
144 | + | else if ((al == "lend")) | |
145 | + | then S(ak, y, z, s) | |
146 | + | else throw("internal aggregator issue: unknow pool type") | |
147 | + | if ((am == am)) | |
130 | 148 | then 0 | |
131 | 149 | else throw("Strict value is not equal to itself.") | |
132 | 150 | } | |
133 | 151 | ||
134 | - | func | |
135 | - | let | |
136 | - | let | |
137 | - | let | |
138 | - | let | |
139 | - | let | |
140 | - | let | |
141 | - | func | |
142 | - | then | |
143 | - | else | |
152 | + | func an (ao,ap) = { | |
153 | + | let aq = parseIntValue(split(ap, "/")[0]) | |
154 | + | let ar = split(split(ap, "/")[1], ";") | |
155 | + | let as = { | |
156 | + | let L = ar | |
157 | + | let M = size(L) | |
158 | + | let N = aq | |
159 | + | func O (P,Q) = if ((Q >= M)) | |
160 | + | then P | |
161 | + | else ag(P, L[Q]) | |
144 | 162 | ||
145 | - | func | |
146 | - | then | |
163 | + | func R (P,Q) = if ((Q >= M)) | |
164 | + | then P | |
147 | 165 | else throw("List size exceeds 3") | |
148 | 166 | ||
149 | - | | |
167 | + | R(O(O(O(N, 0), 1), 2), 3) | |
150 | 168 | } | |
151 | - | if (( | |
152 | - | then ( | |
169 | + | if ((as == as)) | |
170 | + | then (ao + as) | |
153 | 171 | else throw("Strict value is not equal to itself.") | |
154 | 172 | } | |
155 | 173 | ||
156 | - | let | |
157 | - | let | |
158 | - | let | |
159 | - | let | |
160 | - | let | |
161 | - | let | |
162 | - | let | |
163 | - | let | |
164 | - | func | |
165 | - | then | |
166 | - | else | |
174 | + | let at = split(takeRight(ac, 50), ",") | |
175 | + | let au = at[(size(at) - 1)] | |
176 | + | let r = l(au) | |
177 | + | let av = split_4C(ac, "|") | |
178 | + | let ar = { | |
179 | + | let L = av | |
180 | + | let M = size(L) | |
181 | + | let N = 0 | |
182 | + | func O (P,Q) = if ((Q >= M)) | |
183 | + | then P | |
184 | + | else an(P, L[Q]) | |
167 | 185 | ||
168 | - | func | |
169 | - | then | |
186 | + | func R (P,Q) = if ((Q >= M)) | |
187 | + | then P | |
170 | 188 | else throw("List size exceeds 4") | |
171 | 189 | ||
172 | - | | |
190 | + | R(O(O(O(O(N, 0), 1), 2), 3), 4) | |
173 | 191 | } | |
174 | - | if (( | |
192 | + | if ((ar == ar)) | |
175 | 193 | then { | |
176 | - | let | |
177 | - | let | |
178 | - | let | |
179 | - | if (( | |
180 | - | then throw(((("amount to receive is too low. please try again with another amount or wait 1 minute. expected: " + toString( | |
194 | + | let aw = n(r) | |
195 | + | let ax = fraction(aw, 29, 10000) | |
196 | + | let ay = (aw - ax) | |
197 | + | if ((ad > ay)) | |
198 | + | then throw(((("amount to receive is too low. please try again with another amount or wait 1 minute. expected: " + toString(ad)) + ", real ") + toString(ay))) | |
181 | 199 | else { | |
182 | - | let | |
183 | - | then | |
200 | + | let az = if ((r == b)) | |
201 | + | then ax | |
184 | 202 | else { | |
185 | - | let | |
186 | - | if (( | |
203 | + | let aA = f((("static_asset_" + au) + "_puzzlePool")) | |
204 | + | if ((aA == "")) | |
187 | 205 | then 0 | |
188 | 206 | else { | |
189 | - | let | |
190 | - | if (( | |
207 | + | let aB = n(b) | |
208 | + | if ((aB == aB)) | |
191 | 209 | then { | |
192 | - | let | |
193 | - | if (( | |
210 | + | let aC = invoke(addressFromStringValue(aA), "swap", [a, 0], [AttachedPayment(r, ax)]) | |
211 | + | if ((aC == aC)) | |
194 | 212 | then { | |
195 | - | let | |
196 | - | if (( | |
197 | - | then ( | |
213 | + | let aD = n(b) | |
214 | + | if ((aD == aD)) | |
215 | + | then (aD - aB) | |
198 | 216 | else throw("Strict value is not equal to itself.") | |
199 | 217 | } | |
200 | 218 | else throw("Strict value is not equal to itself.") | |
202 | 220 | else throw("Strict value is not equal to itself.") | |
203 | 221 | } | |
204 | 222 | } | |
205 | - | if (( | |
223 | + | if ((az == az)) | |
206 | 224 | then { | |
207 | - | let | |
225 | + | let aE = if ((ae == "muna")) | |
208 | 226 | then Address(base58'3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU') | |
209 | - | else if (( | |
227 | + | else if ((ae == "keeper")) | |
210 | 228 | then Address(base58'3PNgw6Db2TGUQbjnV7ekve6q126xBC1e7eM') | |
211 | - | else if (( | |
229 | + | else if ((ae == "tci")) | |
212 | 230 | then Address(base58'3P93R2GBkTGVehRPhytHr7sdxYww93jkbhm') | |
213 | 231 | else Address(base58'3PQxXXiQXpWsjDwQLYxyuoPiaLnVHjJguFo') | |
214 | - | let | |
232 | + | let aF = if ((ae == "noref")) | |
215 | 233 | then 0 | |
216 | - | else fraction( | |
217 | - | let | |
218 | - | then invoke(Address(base58'3PKUxbZaSYfsR7wu2HaAgiirHYwAMupDrYW'), "topUpReward", nil, [AttachedPayment(b, ( | |
234 | + | else fraction(az, 2, 10) | |
235 | + | let aG = if ((az != 0)) | |
236 | + | then invoke(Address(base58'3PKUxbZaSYfsR7wu2HaAgiirHYwAMupDrYW'), "topUpReward", nil, [AttachedPayment(b, (az - aF))]) | |
219 | 237 | else unit | |
220 | - | if (( | |
238 | + | if ((aG == aG)) | |
221 | 239 | then { | |
222 | - | let | |
223 | - | let | |
224 | - | then | |
240 | + | let q = ab.payments[0].assetId | |
241 | + | let s = (n(q) - (if ((q == b)) | |
242 | + | then aF | |
225 | 243 | else 0)) | |
226 | - | let | |
227 | - | then | |
244 | + | let v = (ay - (if ((r == b)) | |
245 | + | then aF | |
228 | 246 | else 0)) | |
229 | - | ((([ScriptTransfer( | |
230 | - | then [ScriptTransfer( | |
231 | - | else nil)) ++ (if (( | |
232 | - | then [ScriptTransfer( | |
233 | - | else nil)) ++ (if (( | |
234 | - | then [ScriptTransfer(Address(base58'3P4kBiU4wr2yV1S5gMfu3MdkVvy7kxXHsKe'), | |
247 | + | ((([ScriptTransfer(ab.caller, v, r)] ++ (if ((aF != 0)) | |
248 | + | then [ScriptTransfer(aE, aF, b)] | |
249 | + | else nil)) ++ (if ((s != 0)) | |
250 | + | then [ScriptTransfer(ab.caller, s, q)] | |
251 | + | else nil)) ++ (if ((az == 0)) | |
252 | + | then [ScriptTransfer(Address(base58'3P4kBiU4wr2yV1S5gMfu3MdkVvy7kxXHsKe'), ax, r)] | |
235 | 253 | else nil)) | |
236 | 254 | } | |
237 | 255 | else throw("Strict value is not equal to itself.") | |
244 | 262 | } | |
245 | 263 | ||
246 | 264 | ||
247 | - | @Callable( | |
248 | - | func swap ( | |
265 | + | @Callable(ab) | |
266 | + | func swap (ac,ad) = aa(ab, ac, ad, "noref") | |
249 | 267 | ||
250 | 268 | ||
251 | 269 | ||
252 | - | @Callable( | |
253 | - | func swapWithReferral ( | |
270 | + | @Callable(ab) | |
271 | + | func swapWithReferral (ac,ad,ae) = aa(ab, ac, ad, ae) | |
254 | 272 | ||
255 | 273 | ||
256 | 274 | ||
257 | - | @Callable( | |
258 | - | func addTokenPuzzlePool ( | |
275 | + | @Callable(ab) | |
276 | + | func addTokenPuzzlePool (m,aA) = if ((ab.caller != Address(base58'3PMcMiMEs6w56NRGacksXtFG5zS7doE9fpL'))) | |
259 | 277 | then throw("admin only") | |
260 | - | else [StringEntry((("static_asset_" + | |
278 | + | else [StringEntry((("static_asset_" + m) + "_puzzlePool"), aA)] | |
261 | 279 | ||
262 | 280 | ||
263 | 281 | ||
264 | - | @Callable( | |
265 | - | func shutdown ( | |
282 | + | @Callable(ab) | |
283 | + | func shutdown (aH) = if ((ab.caller != Address(base58'3PMcMiMEs6w56NRGacksXtFG5zS7doE9fpL'))) | |
266 | 284 | then throw("wl only") | |
267 | - | else [BooleanEntry("shutdown", | |
285 | + | else [BooleanEntry("shutdown", aH)] | |
268 | 286 | ||
269 | 287 | ||
270 | - | @Verifier( | |
271 | - | func | |
288 | + | @Verifier(aI) | |
289 | + | func aJ () = sigVerify(aI.bodyBytes, aI.proofs[0], aI.senderPublicKey) | |
272 | 290 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" | |
5 | 5 | ||
6 | 6 | let b = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p' | |
7 | 7 | ||
8 | 8 | let c = "3PFB6LJyShsCKEA1AU1U1WLbDazqyj6ZL9b" | |
9 | 9 | ||
10 | 10 | let d = "3PKz5jnJLohF2GjShQ7bG5H4BebdoA98zZ2" | |
11 | 11 | ||
12 | - | func e (f) = { | |
13 | - | let g = getString(this, f) | |
14 | - | if ($isInstanceOf(g, "String")) | |
12 | + | let e = "3PGxMZtMnNT9pJCvXxXV4LzKqXsjvQ9XpfR" | |
13 | + | ||
14 | + | func f (g) = { | |
15 | + | let h = getString(this, g) | |
16 | + | if ($isInstanceOf(h, "String")) | |
15 | 17 | then { | |
16 | - | let | |
17 | - | | |
18 | + | let i = h | |
19 | + | i | |
18 | 20 | } | |
19 | 21 | else "" | |
20 | 22 | } | |
21 | 23 | ||
22 | 24 | ||
23 | - | func | |
24 | - | let | |
25 | - | if ($isInstanceOf( | |
25 | + | func j (k) = { | |
26 | + | let h = k | |
27 | + | if ($isInstanceOf(h, "ByteVector")) | |
26 | 28 | then { | |
27 | - | let | |
28 | - | toBase58String( | |
29 | + | let i = h | |
30 | + | toBase58String(i) | |
29 | 31 | } | |
30 | 32 | else "WAVES" | |
31 | 33 | } | |
32 | 34 | ||
33 | 35 | ||
34 | - | func | |
36 | + | func l (m) = if ((m == "WAVES")) | |
35 | 37 | then unit | |
36 | - | else fromBase58String( | |
38 | + | else fromBase58String(m) | |
37 | 39 | ||
38 | 40 | ||
39 | - | func | |
40 | - | let | |
41 | - | if ($isInstanceOf( | |
41 | + | func n (k) = { | |
42 | + | let h = k | |
43 | + | if ($isInstanceOf(h, "Unit")) | |
42 | 44 | then { | |
43 | - | let | |
45 | + | let o = h | |
44 | 46 | wavesBalance(this).available | |
45 | 47 | } | |
46 | - | else assetBalance(this, value( | |
48 | + | else assetBalance(this, value(k)) | |
47 | 49 | } | |
48 | 50 | ||
49 | 51 | ||
50 | - | func | |
51 | - | let | |
52 | - | if (( | |
52 | + | func p (q,r,s) = { | |
53 | + | let t = n(l(r)) | |
54 | + | if ((t == t)) | |
53 | 55 | then { | |
54 | - | let | |
55 | - | if (( | |
56 | + | let u = invoke(Address(base58'3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93'), "swap", [1, r, toString(this)], [AttachedPayment(l(q), s)]) | |
57 | + | if ((u == u)) | |
56 | 58 | then { | |
57 | - | let | |
58 | - | if (( | |
59 | - | then | |
59 | + | let v = (n(l(r)) - t) | |
60 | + | if ((v == v)) | |
61 | + | then v | |
60 | 62 | else throw("Strict value is not equal to itself.") | |
61 | 63 | } | |
62 | 64 | else throw("Strict value is not equal to itself.") | |
63 | 65 | } | |
64 | 66 | else throw("Strict value is not equal to itself.") | |
65 | 67 | } | |
66 | 68 | ||
67 | 69 | ||
68 | - | func | |
69 | - | func | |
70 | - | let | |
71 | - | let | |
72 | - | let | |
73 | - | let | |
74 | - | let | |
75 | - | if (( | |
76 | - | then | |
70 | + | func w (x,y,z) = { | |
71 | + | func A (B,C) = { | |
72 | + | let D = split(C, ">") | |
73 | + | let E = $Tuple2(D[0], D[1]) | |
74 | + | let F = E._1 | |
75 | + | let G = E._2 | |
76 | + | let H = invoke(Address(fromBase58String(c)), "fulfillOrder", [F], [AttachedPayment(B, parseIntValue(G))]) | |
77 | + | if ((H == H)) | |
78 | + | then B | |
77 | 79 | else throw("Strict value is not equal to itself.") | |
78 | 80 | } | |
79 | 81 | ||
80 | - | let | |
81 | - | let | |
82 | - | let | |
83 | - | let | |
84 | - | let | |
85 | - | let | |
86 | - | func | |
87 | - | then | |
88 | - | else | |
82 | + | let I = split(x, ":") | |
83 | + | let J = l(y) | |
84 | + | let K = { | |
85 | + | let L = I | |
86 | + | let M = size(L) | |
87 | + | let N = J | |
88 | + | func O (P,Q) = if ((Q >= M)) | |
89 | + | then P | |
90 | + | else A(P, L[Q]) | |
89 | 91 | ||
90 | - | func | |
91 | - | then | |
92 | + | func R (P,Q) = if ((Q >= M)) | |
93 | + | then P | |
92 | 94 | else throw("List size exceeds 10") | |
93 | 95 | ||
94 | - | | |
96 | + | R(O(O(O(O(O(O(O(O(O(O(N, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
95 | 97 | } | |
96 | - | if (( | |
98 | + | if ((K == K)) | |
97 | 99 | then 0 | |
98 | 100 | else throw("Strict value is not equal to itself.") | |
99 | 101 | } | |
100 | 102 | ||
101 | 103 | ||
102 | - | func R (S,T,U,V) = { | |
103 | - | let W = valueOrElse(getBoolean("shutdown"), false) | |
104 | - | if (W) | |
104 | + | func S (x,y,z,T) = { | |
105 | + | let U = split(x, "-") | |
106 | + | let V = $Tuple3(U[0], U[1], U[2]) | |
107 | + | let W = V._1 | |
108 | + | let B = V._2 | |
109 | + | let X = V._3 | |
110 | + | let Y = Address(fromBase58String(e)) | |
111 | + | let Z = if ((X == "0")) | |
112 | + | then "mintPL" | |
113 | + | else "redeemPL" | |
114 | + | invoke(Y, Z, [0], [AttachedPayment(l(y), T)]) | |
115 | + | } | |
116 | + | ||
117 | + | ||
118 | + | func aa (ab,ac,ad,ae) = { | |
119 | + | let af = valueOrElse(getBoolean("shutdown"), false) | |
120 | + | if (af) | |
105 | 121 | then throw("shutdown") | |
106 | 122 | else { | |
107 | - | func X (Y,Z) = { | |
108 | - | let aa = split(Z, ",") | |
109 | - | let ab = $Tuple4(aa[0], aa[1], aa[2], aa[3]) | |
110 | - | let ac = ab._1 | |
111 | - | let ad = ab._2 | |
112 | - | let x = ab._3 | |
113 | - | let y = ab._4 | |
114 | - | let I = k(x) | |
115 | - | let r = if ((Y != 0)) | |
116 | - | then Y | |
117 | - | else m(I) | |
118 | - | let ae = if ((ad == "swopfi")) | |
119 | - | then invoke(Address(fromBase58String(ac)), "exchange", [1], [AttachedPayment(I, r)]) | |
120 | - | else if ((ad == "puzzle")) | |
121 | - | then invoke(Address(fromBase58String(ac)), "swap", [y, 0], [AttachedPayment(I, r)]) | |
122 | - | else if ((ad == "wx")) | |
123 | - | then o(x, y, r) | |
124 | - | else if ((ad == "limit")) | |
125 | - | then v(ac, x, y) | |
126 | - | else if ((ad == "tsunami")) | |
127 | - | then invoke(Address(fromBase58String(d)), "swap", [y, 0], [AttachedPayment(I, r)]) | |
128 | - | else throw("internal aggregator issue: unknow pool type") | |
129 | - | if ((ae == ae)) | |
123 | + | func ag (T,ah) = { | |
124 | + | let ai = split(ah, ",") | |
125 | + | let aj = $Tuple4(ai[0], ai[1], ai[2], ai[3]) | |
126 | + | let ak = aj._1 | |
127 | + | let al = aj._2 | |
128 | + | let y = aj._3 | |
129 | + | let z = aj._4 | |
130 | + | let J = l(y) | |
131 | + | let s = if ((T != 0)) | |
132 | + | then T | |
133 | + | else n(J) | |
134 | + | let am = if ((al == "swopfi")) | |
135 | + | then invoke(Address(fromBase58String(ak)), "exchange", [1], [AttachedPayment(J, s)]) | |
136 | + | else if ((al == "puzzle")) | |
137 | + | then invoke(Address(fromBase58String(ak)), "swap", [z, 0], [AttachedPayment(J, s)]) | |
138 | + | else if ((al == "wx")) | |
139 | + | then p(y, z, s) | |
140 | + | else if ((al == "limit")) | |
141 | + | then w(ak, y, z) | |
142 | + | else if ((al == "tsunami")) | |
143 | + | then invoke(Address(fromBase58String(d)), "swap", [z, 0], [AttachedPayment(J, s)]) | |
144 | + | else if ((al == "lend")) | |
145 | + | then S(ak, y, z, s) | |
146 | + | else throw("internal aggregator issue: unknow pool type") | |
147 | + | if ((am == am)) | |
130 | 148 | then 0 | |
131 | 149 | else throw("Strict value is not equal to itself.") | |
132 | 150 | } | |
133 | 151 | ||
134 | - | func | |
135 | - | let | |
136 | - | let | |
137 | - | let | |
138 | - | let | |
139 | - | let | |
140 | - | let | |
141 | - | func | |
142 | - | then | |
143 | - | else | |
152 | + | func an (ao,ap) = { | |
153 | + | let aq = parseIntValue(split(ap, "/")[0]) | |
154 | + | let ar = split(split(ap, "/")[1], ";") | |
155 | + | let as = { | |
156 | + | let L = ar | |
157 | + | let M = size(L) | |
158 | + | let N = aq | |
159 | + | func O (P,Q) = if ((Q >= M)) | |
160 | + | then P | |
161 | + | else ag(P, L[Q]) | |
144 | 162 | ||
145 | - | func | |
146 | - | then | |
163 | + | func R (P,Q) = if ((Q >= M)) | |
164 | + | then P | |
147 | 165 | else throw("List size exceeds 3") | |
148 | 166 | ||
149 | - | | |
167 | + | R(O(O(O(N, 0), 1), 2), 3) | |
150 | 168 | } | |
151 | - | if (( | |
152 | - | then ( | |
169 | + | if ((as == as)) | |
170 | + | then (ao + as) | |
153 | 171 | else throw("Strict value is not equal to itself.") | |
154 | 172 | } | |
155 | 173 | ||
156 | - | let | |
157 | - | let | |
158 | - | let | |
159 | - | let | |
160 | - | let | |
161 | - | let | |
162 | - | let | |
163 | - | let | |
164 | - | func | |
165 | - | then | |
166 | - | else | |
174 | + | let at = split(takeRight(ac, 50), ",") | |
175 | + | let au = at[(size(at) - 1)] | |
176 | + | let r = l(au) | |
177 | + | let av = split_4C(ac, "|") | |
178 | + | let ar = { | |
179 | + | let L = av | |
180 | + | let M = size(L) | |
181 | + | let N = 0 | |
182 | + | func O (P,Q) = if ((Q >= M)) | |
183 | + | then P | |
184 | + | else an(P, L[Q]) | |
167 | 185 | ||
168 | - | func | |
169 | - | then | |
186 | + | func R (P,Q) = if ((Q >= M)) | |
187 | + | then P | |
170 | 188 | else throw("List size exceeds 4") | |
171 | 189 | ||
172 | - | | |
190 | + | R(O(O(O(O(N, 0), 1), 2), 3), 4) | |
173 | 191 | } | |
174 | - | if (( | |
192 | + | if ((ar == ar)) | |
175 | 193 | then { | |
176 | - | let | |
177 | - | let | |
178 | - | let | |
179 | - | if (( | |
180 | - | then throw(((("amount to receive is too low. please try again with another amount or wait 1 minute. expected: " + toString( | |
194 | + | let aw = n(r) | |
195 | + | let ax = fraction(aw, 29, 10000) | |
196 | + | let ay = (aw - ax) | |
197 | + | if ((ad > ay)) | |
198 | + | then throw(((("amount to receive is too low. please try again with another amount or wait 1 minute. expected: " + toString(ad)) + ", real ") + toString(ay))) | |
181 | 199 | else { | |
182 | - | let | |
183 | - | then | |
200 | + | let az = if ((r == b)) | |
201 | + | then ax | |
184 | 202 | else { | |
185 | - | let | |
186 | - | if (( | |
203 | + | let aA = f((("static_asset_" + au) + "_puzzlePool")) | |
204 | + | if ((aA == "")) | |
187 | 205 | then 0 | |
188 | 206 | else { | |
189 | - | let | |
190 | - | if (( | |
207 | + | let aB = n(b) | |
208 | + | if ((aB == aB)) | |
191 | 209 | then { | |
192 | - | let | |
193 | - | if (( | |
210 | + | let aC = invoke(addressFromStringValue(aA), "swap", [a, 0], [AttachedPayment(r, ax)]) | |
211 | + | if ((aC == aC)) | |
194 | 212 | then { | |
195 | - | let | |
196 | - | if (( | |
197 | - | then ( | |
213 | + | let aD = n(b) | |
214 | + | if ((aD == aD)) | |
215 | + | then (aD - aB) | |
198 | 216 | else throw("Strict value is not equal to itself.") | |
199 | 217 | } | |
200 | 218 | else throw("Strict value is not equal to itself.") | |
201 | 219 | } | |
202 | 220 | else throw("Strict value is not equal to itself.") | |
203 | 221 | } | |
204 | 222 | } | |
205 | - | if (( | |
223 | + | if ((az == az)) | |
206 | 224 | then { | |
207 | - | let | |
225 | + | let aE = if ((ae == "muna")) | |
208 | 226 | then Address(base58'3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU') | |
209 | - | else if (( | |
227 | + | else if ((ae == "keeper")) | |
210 | 228 | then Address(base58'3PNgw6Db2TGUQbjnV7ekve6q126xBC1e7eM') | |
211 | - | else if (( | |
229 | + | else if ((ae == "tci")) | |
212 | 230 | then Address(base58'3P93R2GBkTGVehRPhytHr7sdxYww93jkbhm') | |
213 | 231 | else Address(base58'3PQxXXiQXpWsjDwQLYxyuoPiaLnVHjJguFo') | |
214 | - | let | |
232 | + | let aF = if ((ae == "noref")) | |
215 | 233 | then 0 | |
216 | - | else fraction( | |
217 | - | let | |
218 | - | then invoke(Address(base58'3PKUxbZaSYfsR7wu2HaAgiirHYwAMupDrYW'), "topUpReward", nil, [AttachedPayment(b, ( | |
234 | + | else fraction(az, 2, 10) | |
235 | + | let aG = if ((az != 0)) | |
236 | + | then invoke(Address(base58'3PKUxbZaSYfsR7wu2HaAgiirHYwAMupDrYW'), "topUpReward", nil, [AttachedPayment(b, (az - aF))]) | |
219 | 237 | else unit | |
220 | - | if (( | |
238 | + | if ((aG == aG)) | |
221 | 239 | then { | |
222 | - | let | |
223 | - | let | |
224 | - | then | |
240 | + | let q = ab.payments[0].assetId | |
241 | + | let s = (n(q) - (if ((q == b)) | |
242 | + | then aF | |
225 | 243 | else 0)) | |
226 | - | let | |
227 | - | then | |
244 | + | let v = (ay - (if ((r == b)) | |
245 | + | then aF | |
228 | 246 | else 0)) | |
229 | - | ((([ScriptTransfer( | |
230 | - | then [ScriptTransfer( | |
231 | - | else nil)) ++ (if (( | |
232 | - | then [ScriptTransfer( | |
233 | - | else nil)) ++ (if (( | |
234 | - | then [ScriptTransfer(Address(base58'3P4kBiU4wr2yV1S5gMfu3MdkVvy7kxXHsKe'), | |
247 | + | ((([ScriptTransfer(ab.caller, v, r)] ++ (if ((aF != 0)) | |
248 | + | then [ScriptTransfer(aE, aF, b)] | |
249 | + | else nil)) ++ (if ((s != 0)) | |
250 | + | then [ScriptTransfer(ab.caller, s, q)] | |
251 | + | else nil)) ++ (if ((az == 0)) | |
252 | + | then [ScriptTransfer(Address(base58'3P4kBiU4wr2yV1S5gMfu3MdkVvy7kxXHsKe'), ax, r)] | |
235 | 253 | else nil)) | |
236 | 254 | } | |
237 | 255 | else throw("Strict value is not equal to itself.") | |
238 | 256 | } | |
239 | 257 | else throw("Strict value is not equal to itself.") | |
240 | 258 | } | |
241 | 259 | } | |
242 | 260 | else throw("Strict value is not equal to itself.") | |
243 | 261 | } | |
244 | 262 | } | |
245 | 263 | ||
246 | 264 | ||
247 | - | @Callable( | |
248 | - | func swap ( | |
265 | + | @Callable(ab) | |
266 | + | func swap (ac,ad) = aa(ab, ac, ad, "noref") | |
249 | 267 | ||
250 | 268 | ||
251 | 269 | ||
252 | - | @Callable( | |
253 | - | func swapWithReferral ( | |
270 | + | @Callable(ab) | |
271 | + | func swapWithReferral (ac,ad,ae) = aa(ab, ac, ad, ae) | |
254 | 272 | ||
255 | 273 | ||
256 | 274 | ||
257 | - | @Callable( | |
258 | - | func addTokenPuzzlePool ( | |
275 | + | @Callable(ab) | |
276 | + | func addTokenPuzzlePool (m,aA) = if ((ab.caller != Address(base58'3PMcMiMEs6w56NRGacksXtFG5zS7doE9fpL'))) | |
259 | 277 | then throw("admin only") | |
260 | - | else [StringEntry((("static_asset_" + | |
278 | + | else [StringEntry((("static_asset_" + m) + "_puzzlePool"), aA)] | |
261 | 279 | ||
262 | 280 | ||
263 | 281 | ||
264 | - | @Callable( | |
265 | - | func shutdown ( | |
282 | + | @Callable(ab) | |
283 | + | func shutdown (aH) = if ((ab.caller != Address(base58'3PMcMiMEs6w56NRGacksXtFG5zS7doE9fpL'))) | |
266 | 284 | then throw("wl only") | |
267 | - | else [BooleanEntry("shutdown", | |
285 | + | else [BooleanEntry("shutdown", aH)] | |
268 | 286 | ||
269 | 287 | ||
270 | - | @Verifier( | |
271 | - | func | |
288 | + | @Verifier(aI) | |
289 | + | func aJ () = sigVerify(aI.bodyBytes, aI.proofs[0], aI.senderPublicKey) | |
272 | 290 |
github/deemru/w8io/6500d08 112.29 ms ◑