tx · 92ZvaNfqKk6jm1wn8KqRxUre58aNt4y2EBUNQ9PWArpA

3MwgDbpnUQcr7MiFVQ1NcNgTBvkRytdGd2R:  -0.01400000 Waves

2025.01.15 15:17 [3460210] smart account 3MwgDbpnUQcr7MiFVQ1NcNgTBvkRytdGd2R > SELF 0.00000000 Waves

{ "type": 13, "id": "92ZvaNfqKk6jm1wn8KqRxUre58aNt4y2EBUNQ9PWArpA", "fee": 1400000, "feeAssetId": null, "timestamp": 1736943454216, "version": 2, "chainId": 84, "sender": "3MwgDbpnUQcr7MiFVQ1NcNgTBvkRytdGd2R", "senderPublicKey": "6kGDUcAPHWXGnMU89GNpRLQT8qawCijYhNB4zF8EV6kK", "proofs": [ "4faxQpdn43zGguZ8Dz1pjB3osAJtnWjswFtwppfJkj5h2SepJtf8yaGfB7YSt8b4e5uKcx9yb6NQkUxVkeCVZAVJ" ], "script": "base64:BgI0CAISAwoBCBIDCgEIEgMKAQgSAwoBARIAEgASAwoBCBIDCgEIEgMKAQgSBAoCCAESAwoBCB0ACVNFUEFSQVRPUgICX18ACEtFWV9JTklUAgRJTklUAAxLRVlfTVVMVElTSUcCCE1VTFRJU0lHAApLRVlfU1RBVFVTAgZTVEFUVVMAC0tFWV9DTEFJTUVSAgdDTEFJTUVSABBLRVlfTEFTVF9TV0FQX0FUAgxMQVNUX1NXQVBfQVQAFktFWV9XQVZFU19EQU9fQ09OVFJBQ1QCEldBVkVTX0RBT19DT05UUkFDVAARS0VZX1NXQVBfQ09OVFJBQ1QCDVNXQVBfQ09OVFJBQ1QADktFWV9TV0FQX0xJTUlUAgpTV0FQX0xJTUlUABhLRVlfVU5JVFNfQ0hBSU5fQ09OVFJBQ1QCFFVOSVRTX0NIQUlOX0NPTlRSQUNUAA1GVU5DX0NMQUlNX0xQAgdjbGFpbUxQAAlGVU5DX1NXQVACBHN3YXAAEk9ORV9IT1VSX0lOX0JMT0NLUwA8AAxDT01QRU5TQVRJT04AoMIeARBfdmFsaWRhdGVBZGRyZXNzAQhhZGRyZXNzXwQHJG1hdGNoMAkApggBBQhhZGRyZXNzXwMJAAECBQckbWF0Y2gwAgdBZGRyZXNzBAFhBQckbWF0Y2gwBgcBDl92YWxpZGF0ZUFzc2V0Aghhc3NldElkXwRlcnJfBAckbWF0Y2gwCQDsBwEJANkEAQUIYXNzZXRJZF8DCQABAgUHJG1hdGNoMAIFQXNzZXQGAwkAAQIFByRtYXRjaDACBFVuaXQJAAIBBQRlcnJfCQACAQILTWF0Y2ggZXJyb3IBDF92YWxpZGF0ZUludAQEdmFsXw5sb3dlckJvdW5kYXJ5Xw51cHBlckJvdW5kYXJ5XwRlcnJfAwMJAGYCBQ5sb3dlckJvdW5kYXJ5XwUEdmFsXwYJAGYCBQR2YWxfBQ51cHBlckJvdW5kYXJ5XwkAAgEFBGVycl8GARVfbG9hZFdhdmVzREFPQ29udHJhY3QABAckbWF0Y2gwCQCiCAEFFktFWV9XQVZFU19EQU9fQ09OVFJBQ1QDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA2MikBBQFhCQEHQWRkcmVzcwEBAAEVX3NhdmVXYXZlc0RBT0NvbnRyYWN0AQR2YWxfCQDMCAIJAQtTdHJpbmdFbnRyeQIFFktFWV9XQVZFU19EQU9fQ09OVFJBQ1QJAKUIAQUEdmFsXwUDbmlsARFfbG9hZFN3YXBDb250cmFjdAAEByRtYXRjaDAJAKIIAQURS0VZX1NXQVBfQ09OVFJBQ1QDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA2MikBBQFhCQEHQWRkcmVzcwEBAAERX3NhdmVTd2FwQ29udHJhY3QBBHZhbF8JAMwIAgkBC1N0cmluZ0VudHJ5AgURS0VZX1NXQVBfQ09OVFJBQ1QJAKUIAQUEdmFsXwUDbmlsAQ9fbG9hZExhc3RTd2FwQXQBBmFzc2V0XwQHJG1hdGNoMAkAnwgBCQC5CQIJAMwIAgUQS0VZX0xBU1RfU1dBUF9BVAkAzAgCBQZhc3NldF8FA25pbAUJU0VQQVJBVE9SAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAAQ9fc2F2ZUxhc3RTd2FwQXQCBmFzc2V0XwR2YWxfCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQC5CQIJAMwIAgUQS0VZX0xBU1RfU1dBUF9BVAkAzAgCBQZhc3NldF8FA25pbAUJU0VQQVJBVE9SBQR2YWxfBQNuaWwBDl9sb2FkU3dhcExpbWl0AQZhc3NldF8EByRtYXRjaDAJAJ8IAQkAuQkCCQDMCAIFDktFWV9TV0FQX0xJTUlUCQDMCAIFBmFzc2V0XwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABDl9zYXZlU3dhcExpbWl0AgZhc3NldF8EdmFsXwkAzAgCCQEMSW50ZWdlckVudHJ5AgkAuQkCCQDMCAIFDktFWV9TV0FQX0xJTUlUCQDMCAIFBmFzc2V0XwUDbmlsBQlTRVBBUkFUT1IFBHZhbF8FA25pbAEXX2xvYWRVbml0c0NoYWluQ29udHJhY3QABAckbWF0Y2gwCQCiCAEFGEtFWV9VTklUU19DSEFJTl9DT05UUkFDVAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEJAQdBZGRyZXNzAQEAARdfc2F2ZVVuaXRzQ2hhaW5Db250cmFjdAEEdmFsXwkAzAgCCQELU3RyaW5nRW50cnkCBRhLRVlfVU5JVFNfQ0hBSU5fQ09OVFJBQ1QJAKUIAQUEdmFsXwUDbmlsARFfZ2V0V0FWRVNETFBBc3NldAAEByRtYXRjaDAJAJ0IAgkBFV9sb2FkV2F2ZXNEQU9Db250cmFjdAACDSVzX19scEFzc2V0SWQDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQDZBAEFAWEJAAIBAhlfZ2V0V0FWRVNETFBBc3NldDogcmV2ZXJ0ARVfZ2V0QXZhaWxhYmxlV0FWRVNETFAABAckbWF0Y2gwCQCaCAIJARVfbG9hZFdhdmVzREFPQ29udHJhY3QACQCsAgICESVzJXNfX2F2YWlsYWJsZV9fCQClCAEFBHRoaXMDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAALAWkBBGluaXQBCGNsYWltZXJfBAhtdWx0aXNpZwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCiCAEFDEtFWV9NVUxUSVNJRwIVaW5pdDogbm8gbXVsdGlzaWcgc2V0AwkAAAIFCG11bHRpc2lnBQhtdWx0aXNpZwQEaW5pdAkBC3ZhbHVlT3JFbHNlAgkAoAgBBQhLRVlfSU5JVAcEA2VycgMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECF2luaXQ6IHBlcm1pc3Npb24gZGVuaWVkAwUEaW5pdAkAAgECGWluaXQ6IGFscmVhZHkgaW5pdGlhbGl6ZWQDCQEBIQEJARBfdmFsaWRhdGVBZGRyZXNzAQUIY2xhaW1lcl8JAAIBAh1pbml0OiBpbnZhbGlkIGNsYWltZXIgYWRkcmVzcwUEdW5pdAMJAAACBQNlcnIFA2VycgkAlAoCCQDMCAIJAQxCb29sZWFuRW50cnkCBQhLRVlfSU5JVAYJAMwIAgkBC1N0cmluZ0VudHJ5AgULS0VZX0NMQUlNRVIFCGNsYWltZXJfBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQELc2V0TXVsdGlzaWcBCW11bHRpc2lnXwQDZXJyAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIec2V0TXVsdGlzaWc6IHBlcm1pc3Npb24gZGVuaWVkAwkBASEBCQEQX3ZhbGlkYXRlQWRkcmVzcwEFCW11bHRpc2lnXwkAAgECJXNldE11bHRpc2lnOiBpbnZhbGlkIG11bHRpc2lnIGFkZHJlc3MFBHVuaXQDCQAAAgUDZXJyBQNlcnIJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQxLRVlfTVVMVElTSUcFCW11bHRpc2lnXwUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCnNldENsYWltZXIBCGNsYWltZXJfBANlcnIDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAh1zZXRDbGFpbWVyOiBwZXJtaXNzaW9uIGRlbmllZAMJAQEhAQkBEF92YWxpZGF0ZUFkZHJlc3MBBQhjbGFpbWVyXwkAAgECI3NldENsYWltZXI6IGludmFsaWQgY2xhaW1lciBhZGRyZXNzBQR1bml0AwkAAAIFA2VycgUDZXJyCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgULS0VZX0NMQUlNRVIFCGNsYWltZXJfBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEFY2xhaW0BB2Ftb3VudF8DCQECIT0CCAUBaQZjYWxsZXIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARFAZXh0ck5hdGl2ZSgxMDU4KQEFC0tFWV9DTEFJTUVSCQACAQIYY2xhaW06IHBlcm1pc3Npb24gZGVuaWVkAwMJAGcCAAAFB2Ftb3VudF8GCQBmAgUHYW1vdW50XwgJAO8HAQUEdGhpcwdyZWd1bGFyCQACAQIVY2xhaW06IGludmFsaWQgYW1vdW50CQCUCgIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQdhbW91bnRfBQR1bml0BQNuaWwFBHVuaXQBaQEUZ2V0QXZhaWxhYmxlV0FWRVNETFAACQCUCgIFA25pbAkBFV9nZXRBdmFpbGFibGVXQVZFU0RMUAABaQEUY2xhaW1BbmRTd2FwV0FWRVNETFAABAVhc3NldAkBEV9nZXRXQVZFU0RMUEFzc2V0AAQIYXNzZXRTdHIJANgEAQUFYXNzZXQECmludm9jYXRpb24JAPwHBAkBFV9sb2FkV2F2ZXNEQU9Db250cmFjdAAFDUZVTkNfQ0xBSU1fTFAFA25pbAUDbmlsAwkAAAIFCmludm9jYXRpb24FCmludm9jYXRpb24EC3RvdGFsQW1vdW50CQDwBwIFBHRoaXMFBWFzc2V0AwkAAAIFC3RvdGFsQW1vdW50BQt0b3RhbEFtb3VudAQJc3dhcExpbWl0CQEOX2xvYWRTd2FwTGltaXQBBQhhc3NldFN0cgQMYW1vdW50VG9Td2FwAwkAZgIFC3RvdGFsQW1vdW50BQlzd2FwTGltaXQFCXN3YXBMaW1pdAULdG90YWxBbW91bnQEBnJlc3VsdAMJAGYCBQZoZWlnaHQJAGQCCQEPX2xvYWRMYXN0U3dhcEF0AQUIYXNzZXRTdHIFEk9ORV9IT1VSX0lOX0JMT0NLUwkA/AcECQERX2xvYWRTd2FwQ29udHJhY3QABQlGVU5DX1NXQVAJAMwIAgABCQDMCAICAAkAzAgCCQClCAEFBHRoaXMFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUFYXNzZXQFDGFtb3VudFRvU3dhcAUDbmlsCQACAQIfY2xhaW1BbmRTd2FwV0FWRVNETFA6IHRvbyBvZnRlbgMJAAACBQZyZXN1bHQFBnJlc3VsdAQHJG1hdGNoMAUGcmVzdWx0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAMJAGYCBQFhBQxDT01QRU5TQVRJT04JAJQKAgkAzggCCQEPX3NhdmVMYXN0U3dhcEF0AgUIYXNzZXRTdHIFBmhlaWdodAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFDENPTVBFTlNBVElPTgUEdW5pdAUDbmlsBQR1bml0CQACAQIrY2xhaW1BbmRTd2FwV0FWRVNETFA6IHRvbyBsaXR0bGUgYW1vdW50IGdvdAkAAgECIWNsYWltQW5kU3dhcFdBVkVTRExQOiBzd2FwIHJldmVydAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQlzd2FwQXNzZXQBCGFzc2V0SWRfBANlcnIJAQ5fdmFsaWRhdGVBc3NldAIFCGFzc2V0SWRfAhhzd2FwQXNzZXQ6IGludmFsaWQgYXNzZXQDCQAAAgUDZXJyBQNlcnIEBWFzc2V0CQDZBAEFCGFzc2V0SWRfBAt0b3RhbEFtb3VudAkA8AcCBQR0aGlzBQVhc3NldAMJAAACBQt0b3RhbEFtb3VudAULdG90YWxBbW91bnQECXN3YXBMaW1pdAkBDl9sb2FkU3dhcExpbWl0AQUIYXNzZXRJZF8EDGFtb3VudFRvU3dhcAMJAGYCBQt0b3RhbEFtb3VudAUJc3dhcExpbWl0BQlzd2FwTGltaXQFC3RvdGFsQW1vdW50BAZyZXN1bHQDCQBmAgUGaGVpZ2h0CQBkAgkBD19sb2FkTGFzdFN3YXBBdAEFCGFzc2V0SWRfBRJPTkVfSE9VUl9JTl9CTE9DS1MJAPwHBAkBEV9sb2FkU3dhcENvbnRyYWN0AAUJRlVOQ19TV0FQCQDMCAIAAQkAzAgCAgAJAMwIAgkApQgBBQR0aGlzBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBWFzc2V0BQxhbW91bnRUb1N3YXAFA25pbAkAAgECFHN3YXBBc3NldDogdG9vIG9mdGVuAwkAAAIFBnJlc3VsdAUGcmVzdWx0BAckbWF0Y2gwBQZyZXN1bHQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwAwkAZgIFAWEFDENPTVBFTlNBVElPTgkAlAoCCQDOCAIJAQ9fc2F2ZUxhc3RTd2FwQXQCBQhhc3NldElkXwUGaGVpZ2h0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUMQ09NUEVOU0FUSU9OBQR1bml0BQNuaWwFBHVuaXQJAAIBAiBzd2FwQXNzZXQ6IHRvbyBsaXR0bGUgYW1vdW50IGdvdAkAAgECFnN3YXBBc3NldDogc3dhcCByZXZlcnQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQETc2V0V2F2ZXNEQU9Db250cmFjdAEIYWRkcmVzc18EA2VycgMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECJnNldFdhdmVzREFPQ29udHJhY3Q6IHBlcm1pc3Npb24gZGVuaWVkAwkBASEBCQEQX3ZhbGlkYXRlQWRkcmVzcwEFCGFkZHJlc3NfCQACAQIkc2V0V2F2ZXNEQU9Db250cmFjdDogaW52YWxpZCBhZGRyZXNzBQR1bml0AwkAAAIFA2VycgUDZXJyCQCUCgIJARVfc2F2ZVdhdmVzREFPQ29udHJhY3QBCQERQGV4dHJOYXRpdmUoMTA2MikBBQhhZGRyZXNzXwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ9zZXRTd2FwQ29udHJhY3QBCGFkZHJlc3NfBANlcnIDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAiJzZXRTd2FwQ29udHJhY3Q6IHBlcm1pc3Npb24gZGVuaWVkAwkBASEBCQEQX3ZhbGlkYXRlQWRkcmVzcwEFCGFkZHJlc3NfCQACAQIgc2V0U3dhcENvbnRyYWN0OiBpbnZhbGlkIGFkZHJlc3MFBHVuaXQDCQAAAgUDZXJyBQNlcnIJAJQKAgkBEV9zYXZlU3dhcENvbnRyYWN0AQkBEUBleHRyTmF0aXZlKDEwNjIpAQUIYWRkcmVzc18FBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEMc2V0U3dhcExpbWl0Aghhc3NldElkXwZsaW1pdF8EA2VycgMJAQ5fdmFsaWRhdGVBc3NldAIFCGFzc2V0SWRfAhtzZXRTd2FwTGltaXQ6IGludmFsaWQgYXNzZXQDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAh9zZXRTd2FwTGltaXQ6IHBlcm1pc3Npb24gZGVuaWVkAwkAZwIAAAUGbGltaXRfCQACAQIbc2V0U3dhcExpbWl0OiBpbnZhbGlkIGxpbWl0BQR1bml0BwMJAAACBQNlcnIFA2VycgkAlAoCCQEOX3NhdmVTd2FwTGltaXQCBQhhc3NldElkXwUGbGltaXRfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBFXNldFVuaXRzQ2hhaW5Db250cmFjdAEIYWRkcmVzc18EA2VycgMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECKHNldFVuaXRzQ2hhaW5Db250cmFjdDogcGVybWlzc2lvbiBkZW5pZWQDCQEBIQEJARBfdmFsaWRhdGVBZGRyZXNzAQUIYWRkcmVzc18JAAIBAiZzZXRVbml0c0NoYWluQ29udHJhY3Q6IGludmFsaWQgYWRkcmVzcwUEdW5pdAMJAAACBQNlcnIFA2VycgkAlAoCCQEXX3NhdmVVbml0c0NoYWluQ29udHJhY3QBCQERQGV4dHJOYXRpdmUoMTA2MikBBQhhZGRyZXNzXwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAEByRtYXRjaDAJAKIIAQUMS0VZX01VTFRJU0lHAwkAAQIFByRtYXRjaDACBlN0cmluZwQIbXVsdGlzaWcFByRtYXRjaDAEByRtYXRjaDEFAnR4AwkAAQIFByRtYXRjaDECF0ludm9rZVNjcmlwdFRyYW5zYWN0aW9uBAJ0eAUHJG1hdGNoMQMJAAACCAUCdHgEZEFwcAkBF19sb2FkVW5pdHNDaGFpbkNvbnRyYWN0AAkAyBMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleQkBC3ZhbHVlT3JFbHNlAgkAmwgCCQERQGV4dHJOYXRpdmUoMTA2MikBBQhtdWx0aXNpZwkAuQkCCQDMCAIFCktFWV9TVEFUVVMJAMwIAgkApQgBBQR0aGlzCQDMCAIJANgEAQgFAnR4AmlkBQNuaWwFCVNFUEFSQVRPUgcJAQt2YWx1ZU9yRWxzZQIJAJsIAgkBEUBleHRyTmF0aXZlKDEwNjIpAQUIbXVsdGlzaWcJALkJAgkAzAgCBQpLRVlfU1RBVFVTCQDMCAIJAKUIAQUEdGhpcwkAzAgCCQDYBAEIBQJ0eAJpZAUDbmlsBQlTRVBBUkFUT1IHCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5nPeY9Q==", "height": 3460210, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: F7xwzz2MDq1ZmHRnQcSVhfm56NA9znQiaXMSGJzCPPXx Next: none Diff:
OldNewDifferences
1111
1212 let e = "CLAIMER"
1313
14-func f (g) = {
15- let h = addressFromString(g)
16- if ($isInstanceOf(h, "Address"))
14+let f = "LAST_SWAP_AT"
15+
16+let g = "WAVES_DAO_CONTRACT"
17+
18+let h = "SWAP_CONTRACT"
19+
20+let i = "SWAP_LIMIT"
21+
22+let j = "UNITS_CHAIN_CONTRACT"
23+
24+let k = "claimLP"
25+
26+let l = "swap"
27+
28+let m = 60
29+
30+let n = 500000
31+
32+func o (p) = {
33+ let q = addressFromString(p)
34+ if ($isInstanceOf(q, "Address"))
1735 then {
18- let i = h
36+ let r = q
1937 true
2038 }
2139 else false
2240 }
2341
2442
25-@Callable(j)
26-func init (k) = {
27- let l = valueOrErrorMessage(getString(c), "init: no multisig set")
28- let m = valueOrElse(getBoolean(b), false)
29- let n = if ((j.caller != this))
30- then throw("init: permission denied")
31- else if (m)
32- then throw("init: already initialized")
33- else if (!(f(k)))
34- then throw("init: invalid claimer address")
35- else unit
36- if ((n == n))
37- then $Tuple2([BooleanEntry(b, true), StringEntry(e, k)], unit)
43+func s (t,u) = {
44+ let q = assetInfo(fromBase58String(t))
45+ if ($isInstanceOf(q, "Asset"))
46+ then true
47+ else if ($isInstanceOf(q, "Unit"))
48+ then throw(u)
49+ else throw("Match error")
50+ }
51+
52+
53+func v (w,x,y,u) = if (if ((x > w))
54+ then true
55+ else (w > y))
56+ then throw(u)
57+ else true
58+
59+
60+func z () = {
61+ let q = getString(g)
62+ if ($isInstanceOf(q, "String"))
63+ then {
64+ let r = q
65+ addressFromStringValue(r)
66+ }
67+ else Address(base58'')
68+ }
69+
70+
71+func A (w) = [StringEntry(g, toString(w))]
72+
73+
74+func B () = {
75+ let q = getString(h)
76+ if ($isInstanceOf(q, "String"))
77+ then {
78+ let r = q
79+ addressFromStringValue(r)
80+ }
81+ else Address(base58'')
82+ }
83+
84+
85+func C (w) = [StringEntry(h, toString(w))]
86+
87+
88+func D (E) = {
89+ let q = getInteger(makeString([f, E], a))
90+ if ($isInstanceOf(q, "Int"))
91+ then {
92+ let r = q
93+ r
94+ }
95+ else 0
96+ }
97+
98+
99+func F (E,w) = [IntegerEntry(makeString([f, E], a), w)]
100+
101+
102+func G (E) = {
103+ let q = getInteger(makeString([i, E], a))
104+ if ($isInstanceOf(q, "Int"))
105+ then {
106+ let r = q
107+ r
108+ }
109+ else 0
110+ }
111+
112+
113+func H (E,w) = [IntegerEntry(makeString([i, E], a), w)]
114+
115+
116+func I () = {
117+ let q = getString(j)
118+ if ($isInstanceOf(q, "String"))
119+ then {
120+ let r = q
121+ addressFromStringValue(r)
122+ }
123+ else Address(base58'')
124+ }
125+
126+
127+func J (w) = [StringEntry(j, toString(w))]
128+
129+
130+func K () = {
131+ let q = getString(z(), "%s__lpAssetId")
132+ if ($isInstanceOf(q, "String"))
133+ then {
134+ let r = q
135+ fromBase58String(r)
136+ }
137+ else throw("_getWAVESDLPAsset: revert")
138+ }
139+
140+
141+func L () = {
142+ let q = getInteger(z(), ("%s%s__available__" + toString(this)))
143+ if ($isInstanceOf(q, "Int"))
144+ then {
145+ let r = q
146+ r
147+ }
148+ else 0
149+ }
150+
151+
152+@Callable(M)
153+func init (N) = {
154+ let O = valueOrErrorMessage(getString(c), "init: no multisig set")
155+ if ((O == O))
156+ then {
157+ let P = valueOrElse(getBoolean(b), false)
158+ let Q = if ((M.caller != this))
159+ then throw("init: permission denied")
160+ else if (P)
161+ then throw("init: already initialized")
162+ else if (!(o(N)))
163+ then throw("init: invalid claimer address")
164+ else unit
165+ if ((Q == Q))
166+ then $Tuple2([BooleanEntry(b, true), StringEntry(e, N)], unit)
167+ else throw("Strict value is not equal to itself.")
168+ }
38169 else throw("Strict value is not equal to itself.")
39170 }
40171
41172
42173
43-@Callable(j)
44-func setMultisig (o) = {
45- let n = if ((j.caller != this))
174+@Callable(M)
175+func setMultisig (R) = {
176+ let Q = if ((M.caller != this))
46177 then throw("setMultisig: permission denied")
47- else if (!(f(o)))
178+ else if (!(o(R)))
48179 then throw("setMultisig: invalid multisig address")
49180 else unit
50- if ((n == n))
51- then $Tuple2([StringEntry(c, o)], unit)
181+ if ((Q == Q))
182+ then $Tuple2([StringEntry(c, R)], unit)
52183 else throw("Strict value is not equal to itself.")
53184 }
54185
55186
56187
57-@Callable(j)
58-func setClaimer (k) = {
59- let n = if ((j.caller != this))
188+@Callable(M)
189+func setClaimer (N) = {
190+ let Q = if ((M.caller != this))
60191 then throw("setClaimer: permission denied")
61- else if (!(f(k)))
192+ else if (!(o(N)))
62193 then throw("setClaimer: invalid claimer address")
63194 else unit
64- if ((n == n))
65- then $Tuple2([StringEntry(e, k)], unit)
195+ if ((Q == Q))
196+ then $Tuple2([StringEntry(e, N)], unit)
66197 else throw("Strict value is not equal to itself.")
67198 }
68199
69200
70201
71-@Callable(j)
72-func claim (p) = if ((j.caller != addressFromStringValue(getStringValue(e))))
202+@Callable(M)
203+func claim (S) = if ((M.caller != addressFromStringValue(getStringValue(e))))
73204 then throw("claim: permission denied")
74- else if (if ((0 >= p))
205+ else if (if ((0 >= S))
75206 then true
76- else (p > wavesBalance(this).regular))
207+ else (S > wavesBalance(this).regular))
77208 then throw("claim: invalid amount")
78- else $Tuple2([ScriptTransfer(j.caller, p, unit)], unit)
209+ else $Tuple2([ScriptTransfer(M.caller, S, unit)], unit)
79210
80211
81-@Verifier(q)
82-func r () = {
83- let h = getString(c)
84- if ($isInstanceOf(h, "String"))
212+
213+@Callable(M)
214+func getAvailableWAVESDLP () = $Tuple2(nil, L())
215+
216+
217+
218+@Callable(M)
219+func claimAndSwapWAVESDLP () = {
220+ let T = K()
221+ let U = toBase58String(T)
222+ let V = invoke(z(), k, nil, nil)
223+ if ((V == V))
85224 then {
86- let l = h
87- valueOrElse(getBoolean(addressFromStringValue(l), makeString([d, toString(this), toBase58String(q.id)], a)), false)
225+ let W = assetBalance(this, T)
226+ if ((W == W))
227+ then {
228+ let X = G(U)
229+ let Y = if ((W > X))
230+ then X
231+ else W
232+ let Z = if ((height > (D(U) + m)))
233+ then invoke(B(), l, [1, "", toString(this)], [AttachedPayment(T, Y)])
234+ else throw("claimAndSwapWAVESDLP: too often")
235+ if ((Z == Z))
236+ then {
237+ let q = Z
238+ if ($isInstanceOf(q, "Int"))
239+ then {
240+ let r = q
241+ if ((r > n))
242+ then $Tuple2((F(U, height) ++ [ScriptTransfer(M.caller, n, unit)]), unit)
243+ else throw("claimAndSwapWAVESDLP: too little amount got")
244+ }
245+ else throw("claimAndSwapWAVESDLP: swap revert")
246+ }
247+ else throw("Strict value is not equal to itself.")
248+ }
249+ else throw("Strict value is not equal to itself.")
88250 }
89- else sigVerify(q.bodyBytes, q.proofs[0], q.senderPublicKey)
251+ else throw("Strict value is not equal to itself.")
252+ }
253+
254+
255+
256+@Callable(M)
257+func swapAsset (t) = {
258+ let Q = s(t, "swapAsset: invalid asset")
259+ if ((Q == Q))
260+ then {
261+ let T = fromBase58String(t)
262+ let W = assetBalance(this, T)
263+ if ((W == W))
264+ then {
265+ let X = G(t)
266+ let Y = if ((W > X))
267+ then X
268+ else W
269+ let Z = if ((height > (D(t) + m)))
270+ then invoke(B(), l, [1, "", toString(this)], [AttachedPayment(T, Y)])
271+ else throw("swapAsset: too often")
272+ if ((Z == Z))
273+ then {
274+ let q = Z
275+ if ($isInstanceOf(q, "Int"))
276+ then {
277+ let r = q
278+ if ((r > n))
279+ then $Tuple2((F(t, height) ++ [ScriptTransfer(M.caller, n, unit)]), unit)
280+ else throw("swapAsset: too little amount got")
281+ }
282+ else throw("swapAsset: swap revert")
283+ }
284+ else throw("Strict value is not equal to itself.")
285+ }
286+ else throw("Strict value is not equal to itself.")
287+ }
288+ else throw("Strict value is not equal to itself.")
289+ }
290+
291+
292+
293+@Callable(M)
294+func setWavesDAOContract (p) = {
295+ let Q = if ((M.caller != this))
296+ then throw("setWavesDAOContract: permission denied")
297+ else if (!(o(p)))
298+ then throw("setWavesDAOContract: invalid address")
299+ else unit
300+ if ((Q == Q))
301+ then $Tuple2(A(addressFromStringValue(p)), unit)
302+ else throw("Strict value is not equal to itself.")
303+ }
304+
305+
306+
307+@Callable(M)
308+func setSwapContract (p) = {
309+ let Q = if ((M.caller != this))
310+ then throw("setSwapContract: permission denied")
311+ else if (!(o(p)))
312+ then throw("setSwapContract: invalid address")
313+ else unit
314+ if ((Q == Q))
315+ then $Tuple2(C(addressFromStringValue(p)), unit)
316+ else throw("Strict value is not equal to itself.")
317+ }
318+
319+
320+
321+@Callable(M)
322+func setSwapLimit (t,aa) = {
323+ let Q = if (s(t, "setSwapLimit: invalid asset"))
324+ then if ((M.caller != this))
325+ then throw("setSwapLimit: permission denied")
326+ else if ((0 >= aa))
327+ then throw("setSwapLimit: invalid limit")
328+ else unit
329+ else false
330+ if ((Q == Q))
331+ then $Tuple2(H(t, aa), unit)
332+ else throw("Strict value is not equal to itself.")
333+ }
334+
335+
336+
337+@Callable(M)
338+func setUnitsChainContract (p) = {
339+ let Q = if ((M.caller != this))
340+ then throw("setUnitsChainContract: permission denied")
341+ else if (!(o(p)))
342+ then throw("setUnitsChainContract: invalid address")
343+ else unit
344+ if ((Q == Q))
345+ then $Tuple2(J(addressFromStringValue(p)), unit)
346+ else throw("Strict value is not equal to itself.")
347+ }
348+
349+
350+@Verifier(ab)
351+func ac () = {
352+ let q = getString(c)
353+ if ($isInstanceOf(q, "String"))
354+ then {
355+ let O = q
356+ let ad = ab
357+ if ($isInstanceOf(ad, "InvokeScriptTransaction"))
358+ then {
359+ let ab = ad
360+ if ((ab.dApp == I()))
361+ then sigVerify_128Kb(ab.bodyBytes, ab.proofs[0], ab.senderPublicKey)
362+ else valueOrElse(getBoolean(addressFromStringValue(O), makeString([d, toString(this), toBase58String(ab.id)], a)), false)
363+ }
364+ else valueOrElse(getBoolean(addressFromStringValue(O), makeString([d, toString(this), toBase58String(ab.id)], a)), false)
365+ }
366+ else sigVerify(ab.bodyBytes, ab.proofs[0], ab.senderPublicKey)
90367 }
91368
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = "INIT"
77
88 let c = "MULTISIG"
99
1010 let d = "STATUS"
1111
1212 let e = "CLAIMER"
1313
14-func f (g) = {
15- let h = addressFromString(g)
16- if ($isInstanceOf(h, "Address"))
14+let f = "LAST_SWAP_AT"
15+
16+let g = "WAVES_DAO_CONTRACT"
17+
18+let h = "SWAP_CONTRACT"
19+
20+let i = "SWAP_LIMIT"
21+
22+let j = "UNITS_CHAIN_CONTRACT"
23+
24+let k = "claimLP"
25+
26+let l = "swap"
27+
28+let m = 60
29+
30+let n = 500000
31+
32+func o (p) = {
33+ let q = addressFromString(p)
34+ if ($isInstanceOf(q, "Address"))
1735 then {
18- let i = h
36+ let r = q
1937 true
2038 }
2139 else false
2240 }
2341
2442
25-@Callable(j)
26-func init (k) = {
27- let l = valueOrErrorMessage(getString(c), "init: no multisig set")
28- let m = valueOrElse(getBoolean(b), false)
29- let n = if ((j.caller != this))
30- then throw("init: permission denied")
31- else if (m)
32- then throw("init: already initialized")
33- else if (!(f(k)))
34- then throw("init: invalid claimer address")
35- else unit
36- if ((n == n))
37- then $Tuple2([BooleanEntry(b, true), StringEntry(e, k)], unit)
43+func s (t,u) = {
44+ let q = assetInfo(fromBase58String(t))
45+ if ($isInstanceOf(q, "Asset"))
46+ then true
47+ else if ($isInstanceOf(q, "Unit"))
48+ then throw(u)
49+ else throw("Match error")
50+ }
51+
52+
53+func v (w,x,y,u) = if (if ((x > w))
54+ then true
55+ else (w > y))
56+ then throw(u)
57+ else true
58+
59+
60+func z () = {
61+ let q = getString(g)
62+ if ($isInstanceOf(q, "String"))
63+ then {
64+ let r = q
65+ addressFromStringValue(r)
66+ }
67+ else Address(base58'')
68+ }
69+
70+
71+func A (w) = [StringEntry(g, toString(w))]
72+
73+
74+func B () = {
75+ let q = getString(h)
76+ if ($isInstanceOf(q, "String"))
77+ then {
78+ let r = q
79+ addressFromStringValue(r)
80+ }
81+ else Address(base58'')
82+ }
83+
84+
85+func C (w) = [StringEntry(h, toString(w))]
86+
87+
88+func D (E) = {
89+ let q = getInteger(makeString([f, E], a))
90+ if ($isInstanceOf(q, "Int"))
91+ then {
92+ let r = q
93+ r
94+ }
95+ else 0
96+ }
97+
98+
99+func F (E,w) = [IntegerEntry(makeString([f, E], a), w)]
100+
101+
102+func G (E) = {
103+ let q = getInteger(makeString([i, E], a))
104+ if ($isInstanceOf(q, "Int"))
105+ then {
106+ let r = q
107+ r
108+ }
109+ else 0
110+ }
111+
112+
113+func H (E,w) = [IntegerEntry(makeString([i, E], a), w)]
114+
115+
116+func I () = {
117+ let q = getString(j)
118+ if ($isInstanceOf(q, "String"))
119+ then {
120+ let r = q
121+ addressFromStringValue(r)
122+ }
123+ else Address(base58'')
124+ }
125+
126+
127+func J (w) = [StringEntry(j, toString(w))]
128+
129+
130+func K () = {
131+ let q = getString(z(), "%s__lpAssetId")
132+ if ($isInstanceOf(q, "String"))
133+ then {
134+ let r = q
135+ fromBase58String(r)
136+ }
137+ else throw("_getWAVESDLPAsset: revert")
138+ }
139+
140+
141+func L () = {
142+ let q = getInteger(z(), ("%s%s__available__" + toString(this)))
143+ if ($isInstanceOf(q, "Int"))
144+ then {
145+ let r = q
146+ r
147+ }
148+ else 0
149+ }
150+
151+
152+@Callable(M)
153+func init (N) = {
154+ let O = valueOrErrorMessage(getString(c), "init: no multisig set")
155+ if ((O == O))
156+ then {
157+ let P = valueOrElse(getBoolean(b), false)
158+ let Q = if ((M.caller != this))
159+ then throw("init: permission denied")
160+ else if (P)
161+ then throw("init: already initialized")
162+ else if (!(o(N)))
163+ then throw("init: invalid claimer address")
164+ else unit
165+ if ((Q == Q))
166+ then $Tuple2([BooleanEntry(b, true), StringEntry(e, N)], unit)
167+ else throw("Strict value is not equal to itself.")
168+ }
38169 else throw("Strict value is not equal to itself.")
39170 }
40171
41172
42173
43-@Callable(j)
44-func setMultisig (o) = {
45- let n = if ((j.caller != this))
174+@Callable(M)
175+func setMultisig (R) = {
176+ let Q = if ((M.caller != this))
46177 then throw("setMultisig: permission denied")
47- else if (!(f(o)))
178+ else if (!(o(R)))
48179 then throw("setMultisig: invalid multisig address")
49180 else unit
50- if ((n == n))
51- then $Tuple2([StringEntry(c, o)], unit)
181+ if ((Q == Q))
182+ then $Tuple2([StringEntry(c, R)], unit)
52183 else throw("Strict value is not equal to itself.")
53184 }
54185
55186
56187
57-@Callable(j)
58-func setClaimer (k) = {
59- let n = if ((j.caller != this))
188+@Callable(M)
189+func setClaimer (N) = {
190+ let Q = if ((M.caller != this))
60191 then throw("setClaimer: permission denied")
61- else if (!(f(k)))
192+ else if (!(o(N)))
62193 then throw("setClaimer: invalid claimer address")
63194 else unit
64- if ((n == n))
65- then $Tuple2([StringEntry(e, k)], unit)
195+ if ((Q == Q))
196+ then $Tuple2([StringEntry(e, N)], unit)
66197 else throw("Strict value is not equal to itself.")
67198 }
68199
69200
70201
71-@Callable(j)
72-func claim (p) = if ((j.caller != addressFromStringValue(getStringValue(e))))
202+@Callable(M)
203+func claim (S) = if ((M.caller != addressFromStringValue(getStringValue(e))))
73204 then throw("claim: permission denied")
74- else if (if ((0 >= p))
205+ else if (if ((0 >= S))
75206 then true
76- else (p > wavesBalance(this).regular))
207+ else (S > wavesBalance(this).regular))
77208 then throw("claim: invalid amount")
78- else $Tuple2([ScriptTransfer(j.caller, p, unit)], unit)
209+ else $Tuple2([ScriptTransfer(M.caller, S, unit)], unit)
79210
80211
81-@Verifier(q)
82-func r () = {
83- let h = getString(c)
84- if ($isInstanceOf(h, "String"))
212+
213+@Callable(M)
214+func getAvailableWAVESDLP () = $Tuple2(nil, L())
215+
216+
217+
218+@Callable(M)
219+func claimAndSwapWAVESDLP () = {
220+ let T = K()
221+ let U = toBase58String(T)
222+ let V = invoke(z(), k, nil, nil)
223+ if ((V == V))
85224 then {
86- let l = h
87- valueOrElse(getBoolean(addressFromStringValue(l), makeString([d, toString(this), toBase58String(q.id)], a)), false)
225+ let W = assetBalance(this, T)
226+ if ((W == W))
227+ then {
228+ let X = G(U)
229+ let Y = if ((W > X))
230+ then X
231+ else W
232+ let Z = if ((height > (D(U) + m)))
233+ then invoke(B(), l, [1, "", toString(this)], [AttachedPayment(T, Y)])
234+ else throw("claimAndSwapWAVESDLP: too often")
235+ if ((Z == Z))
236+ then {
237+ let q = Z
238+ if ($isInstanceOf(q, "Int"))
239+ then {
240+ let r = q
241+ if ((r > n))
242+ then $Tuple2((F(U, height) ++ [ScriptTransfer(M.caller, n, unit)]), unit)
243+ else throw("claimAndSwapWAVESDLP: too little amount got")
244+ }
245+ else throw("claimAndSwapWAVESDLP: swap revert")
246+ }
247+ else throw("Strict value is not equal to itself.")
248+ }
249+ else throw("Strict value is not equal to itself.")
88250 }
89- else sigVerify(q.bodyBytes, q.proofs[0], q.senderPublicKey)
251+ else throw("Strict value is not equal to itself.")
252+ }
253+
254+
255+
256+@Callable(M)
257+func swapAsset (t) = {
258+ let Q = s(t, "swapAsset: invalid asset")
259+ if ((Q == Q))
260+ then {
261+ let T = fromBase58String(t)
262+ let W = assetBalance(this, T)
263+ if ((W == W))
264+ then {
265+ let X = G(t)
266+ let Y = if ((W > X))
267+ then X
268+ else W
269+ let Z = if ((height > (D(t) + m)))
270+ then invoke(B(), l, [1, "", toString(this)], [AttachedPayment(T, Y)])
271+ else throw("swapAsset: too often")
272+ if ((Z == Z))
273+ then {
274+ let q = Z
275+ if ($isInstanceOf(q, "Int"))
276+ then {
277+ let r = q
278+ if ((r > n))
279+ then $Tuple2((F(t, height) ++ [ScriptTransfer(M.caller, n, unit)]), unit)
280+ else throw("swapAsset: too little amount got")
281+ }
282+ else throw("swapAsset: swap revert")
283+ }
284+ else throw("Strict value is not equal to itself.")
285+ }
286+ else throw("Strict value is not equal to itself.")
287+ }
288+ else throw("Strict value is not equal to itself.")
289+ }
290+
291+
292+
293+@Callable(M)
294+func setWavesDAOContract (p) = {
295+ let Q = if ((M.caller != this))
296+ then throw("setWavesDAOContract: permission denied")
297+ else if (!(o(p)))
298+ then throw("setWavesDAOContract: invalid address")
299+ else unit
300+ if ((Q == Q))
301+ then $Tuple2(A(addressFromStringValue(p)), unit)
302+ else throw("Strict value is not equal to itself.")
303+ }
304+
305+
306+
307+@Callable(M)
308+func setSwapContract (p) = {
309+ let Q = if ((M.caller != this))
310+ then throw("setSwapContract: permission denied")
311+ else if (!(o(p)))
312+ then throw("setSwapContract: invalid address")
313+ else unit
314+ if ((Q == Q))
315+ then $Tuple2(C(addressFromStringValue(p)), unit)
316+ else throw("Strict value is not equal to itself.")
317+ }
318+
319+
320+
321+@Callable(M)
322+func setSwapLimit (t,aa) = {
323+ let Q = if (s(t, "setSwapLimit: invalid asset"))
324+ then if ((M.caller != this))
325+ then throw("setSwapLimit: permission denied")
326+ else if ((0 >= aa))
327+ then throw("setSwapLimit: invalid limit")
328+ else unit
329+ else false
330+ if ((Q == Q))
331+ then $Tuple2(H(t, aa), unit)
332+ else throw("Strict value is not equal to itself.")
333+ }
334+
335+
336+
337+@Callable(M)
338+func setUnitsChainContract (p) = {
339+ let Q = if ((M.caller != this))
340+ then throw("setUnitsChainContract: permission denied")
341+ else if (!(o(p)))
342+ then throw("setUnitsChainContract: invalid address")
343+ else unit
344+ if ((Q == Q))
345+ then $Tuple2(J(addressFromStringValue(p)), unit)
346+ else throw("Strict value is not equal to itself.")
347+ }
348+
349+
350+@Verifier(ab)
351+func ac () = {
352+ let q = getString(c)
353+ if ($isInstanceOf(q, "String"))
354+ then {
355+ let O = q
356+ let ad = ab
357+ if ($isInstanceOf(ad, "InvokeScriptTransaction"))
358+ then {
359+ let ab = ad
360+ if ((ab.dApp == I()))
361+ then sigVerify_128Kb(ab.bodyBytes, ab.proofs[0], ab.senderPublicKey)
362+ else valueOrElse(getBoolean(addressFromStringValue(O), makeString([d, toString(this), toBase58String(ab.id)], a)), false)
363+ }
364+ else valueOrElse(getBoolean(addressFromStringValue(O), makeString([d, toString(this), toBase58String(ab.id)], a)), false)
365+ }
366+ else sigVerify(ab.bodyBytes, ab.proofs[0], ab.senderPublicKey)
90367 }
91368

github/deemru/w8io/169f3d6 
57.57 ms