tx · GsS7t7aBcAqRaMLwTKj3TdyDCzqF3Suqix8h4bMpN1LZ

3NAsFvuLwxz1iUtZ9fmhfmSN16r9NEsPqsh:  -0.01700000 Waves

2022.08.03 12:46 [2168143] smart account 3NAsFvuLwxz1iUtZ9fmhfmSN16r9NEsPqsh > SELF 0.00000000 Waves

{ "type": 13, "id": "GsS7t7aBcAqRaMLwTKj3TdyDCzqF3Suqix8h4bMpN1LZ", "fee": 1700000, "feeAssetId": null, "timestamp": 1659520018820, "version": 1, "sender": "3NAsFvuLwxz1iUtZ9fmhfmSN16r9NEsPqsh", "senderPublicKey": "33fpjdpM9FMu87RZKePniPardKqQXM96sm7VhAk3JEVQ", "proofs": [ "4TWGVrUGxfd2QPbdi7rxxTyrfaff5FkSWQREbrHRskCVoL9sPpM7J3Xg2rDD9Re2f2WPJchAMmutEd5m7F6hbmG1" ], "script": "base64:BgIzCAISBgoECAgICBIGCgQICAgCEgUKAwgIBBIGCgQICAEBEgMKAQgSBAoCCAgSAwoBCBIAGQAJc2VwYXJhdG9yAgJfXwATa2V5QmFja2VuZFB1YmxpY0tleQkAuQkCCQDMCAICAiVzCQDMCAICEGJhY2tlbmRQdWJsaWNLZXkFA25pbAUJc2VwYXJhdG9yARtrZXlFeGlzdHNSZWZlcnJlclRvUmVmZXJyYWwDC3Byb2dyYW1OYW1lD3JlZmVycmVyQWRkcmVzcw9yZWZlcnJhbEFkZHJlc3MJALkJAgkAzAgCAgglcyVzJXMlcwkAzAgCAhhleGlzdHNSZWZlcnJlclRvUmVmZXJyYWwJAMwIAgULcHJvZ3JhbU5hbWUJAMwIAgUPcmVmZXJyZXJBZGRyZXNzCQDMCAIFD3JlZmVycmFsQWRkcmVzcwUDbmlsBQlzZXBhcmF0b3IBEmtleUNsYWltZWRSZWZlcnJlcgILcHJvZ3JhbU5hbWUOY2xhaW1lckFkZHJlc3MJALkJAgkAzAgCAgglcyVzJXMlcwkAzAgCAg9jbGFpbWVkUmVmZXJyZXIJAMwIAgULcHJvZ3JhbU5hbWUJAMwIAgUOY2xhaW1lckFkZHJlc3MFA25pbAUJc2VwYXJhdG9yARJrZXlDbGFpbWVkUmVmZXJyYWwCC3Byb2dyYW1OYW1lDmNsYWltZXJBZGRyZXNzCQC5CQIJAMwIAgIIJXMlcyVzJXMJAMwIAgIPY2xhaW1lZFJlZmVycmFsCQDMCAIFC3Byb2dyYW1OYW1lCQDMCAIFDmNsYWltZXJBZGRyZXNzBQNuaWwFCXNlcGFyYXRvcgEUa2V5VW5jbGFpbWVkUmVmZXJyZXICC3Byb2dyYW1OYW1lDmNsYWltZXJBZGRyZXNzCQC5CQIJAMwIAgIIJXMlcyVzJXMJAMwIAgIRdW5jbGFpbWVkUmVmZXJyZXIJAMwIAgULcHJvZ3JhbU5hbWUJAMwIAgUOY2xhaW1lckFkZHJlc3MFA25pbAUJc2VwYXJhdG9yARRrZXlVbmNsYWltZWRSZWZlcnJhbAILcHJvZ3JhbU5hbWUOY2xhaW1lckFkZHJlc3MJALkJAgkAzAgCAgglcyVzJXMlcwkAzAgCAhF1bmNsYWltZWRSZWZlcnJhbAkAzAgCBQtwcm9ncmFtTmFtZQkAzAgCBQ5jbGFpbWVyQWRkcmVzcwUDbmlsBQlzZXBhcmF0b3IBC2tleVJlZmVycmVyAgtwcm9ncmFtTmFtZQ9yZWZlcnJhbEFkZHJlc3MJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIIcmVmZXJyZXIJAMwIAgULcHJvZ3JhbU5hbWUJAMwIAgUPcmVmZXJyYWxBZGRyZXNzBQNuaWwFCXNlcGFyYXRvcgEOa2V5UHJvZ3JhbU5hbWUBC3Byb2dyYW1OYW1lCQC5CQIJAMwIAgIEJXMlcwkAzAgCAgtwcm9ncmFtTmFtZQkAzAgCBQtwcm9ncmFtTmFtZQUDbmlsBQlzZXBhcmF0b3IBFWtleVRvdGFsUmVmZXJyYWxDb3VudAILcHJvZ3JhbU5hbWUPcmVmZXJyZXJBZGRyZXNzCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICEnRvdGFsUmVmZXJyYWxDb3VudAkAzAgCBQtwcm9ncmFtTmFtZQkAzAgCBQ9yZWZlcnJlckFkZHJlc3MFA25pbAUJc2VwYXJhdG9yARZrZXlBY3RpdmVSZWZlcnJhbENvdW50Agtwcm9ncmFtTmFtZQ9yZWZlcnJlckFkZHJlc3MJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgITYWN0aXZlUmVmZXJyYWxDb3VudAkAzAgCBQtwcm9ncmFtTmFtZQkAzAgCBQ9yZWZlcnJlckFkZHJlc3MFA25pbAUJc2VwYXJhdG9yARNrZXlJc1JlZmVycmFsQWN0aXZlAgtwcm9ncmFtTmFtZQ9yZWZlcnJhbEFkZHJlc3MJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIOYWN0aXZlUmVmZXJyYWwJAMwIAgULcHJvZ3JhbU5hbWUJAMwIAgUPcmVmZXJyYWxBZGRyZXNzBQNuaWwFCXNlcGFyYXRvcgEPa2V5Q2xhaW1lZFRvdGFsAQtwcm9ncmFtTmFtZQkAuQkCCQDMCAICBCVzJXMJAMwIAgIMY2xhaW1lZFRvdGFsCQDMCAIFC3Byb2dyYW1OYW1lBQNuaWwFCXNlcGFyYXRvcgEPa2V5UmV3YXJkc1RvdGFsAQtwcm9ncmFtTmFtZQkAuQkCCQDMCAICBCVzJXMJAMwIAgIMcmV3YXJkc1RvdGFsCQDMCAIFC3Byb2dyYW1OYW1lBQNuaWwFCXNlcGFyYXRvcgEQa2V5UmV3YXJkQXNzZXRJZAELcHJvZ3JhbU5hbWUJALkJAgkAzAgCAgQlcyVzCQDMCAICDXJld2FyZEFzc2V0SWQJAMwIAgULcHJvZ3JhbU5hbWUFA25pbAUJc2VwYXJhdG9yARNrZXlUcmVhc3VyeUNvbnRyYWN0AQtwcm9ncmFtTmFtZQkAuQkCCQDMCAICBCVzJXMJAMwIAgIQdHJlYXN1cnlDb250cmFjdAkAzAgCBQtwcm9ncmFtTmFtZQUDbmlsBQlzZXBhcmF0b3IBGWtleUltcGxlbWVudGF0aW9uQ29udHJhY3QBC3Byb2dyYW1OYW1lCQC5CQIJAMwIAgIEJXMlcwkAzAgCAhZpbXBsZW1lbnRhdGlvbkNvbnRyYWN0CQDMCAIFC3Byb2dyYW1OYW1lBQNuaWwFCXNlcGFyYXRvcgETa2V5TWFuYWdlclB1YmxpY0tleQACFCVzX19tYW5hZ2VyUHVibGljS2V5ARprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQACGyVzX19wZW5kaW5nTWFuYWdlclB1YmxpY0tleQEPa2V5Q2xhaW1IaXN0b3J5Awtwcm9ncmFtTmFtZQt1c2VyQWRkcmVzcw10cmFuc2FjdGlvbklkCQC5CQIJAMwIAgIKJXMlcyVzJXMlcwkAzAgCAgdoaXN0b3J5CQDMCAICBWNsYWltCQDMCAIFC3Byb2dyYW1OYW1lCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSWQFA25pbAUJc2VwYXJhdG9yARJmb3JtYXRDbGFpbUhpc3RvcnkBBmFtb3VudAkAuQkCCQDMCAICBiVkJWQlZAkAzAgCCQCkAwEIBQlsYXN0QmxvY2sGaGVpZ2h0CQDMCAIJAKQDAQgFCWxhc3RCbG9jawl0aW1lc3RhbXAJAMwIAgkApAMBBQZhbW91bnQFA25pbAUJc2VwYXJhdG9yAQh0aHJvd0VycgEDbXNnCQACAQkAuQkCCQDMCAICDnJlZmVycmFsLnJpZGU6CQDMCAIFA21zZwUDbmlsAgEgARZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAQHJG1hdGNoMAkAoggBCQETa2V5TWFuYWdlclB1YmxpY0tleQADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQDZBAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAR1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdAAEByRtYXRjaDAJAKIIAQkBGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJANkEAQUBcwMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IBC211c3RNYW5hZ2VyAQFpBAJwZAkBCHRocm93RXJyAQIRcGVybWlzc2lvbiBkZW5pZWQEByRtYXRjaDAJARZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAJwawUHJG1hdGNoMAMJAAACCAUBaQ9jYWxsZXJQdWJsaWNLZXkFAnBrBgUCcGQDCQABAgUHJG1hdGNoMAIEVW5pdAMJAAACCAUBaQZjYWxsZXIFBHRoaXMGBQJwZAkAAgECC01hdGNoIGVycm9yCAFpARVjcmVhdGVSZWZlcnJhbFByb2dyYW0EC3Byb2dyYW1OYW1lEHRyZWFzdXJ5Q29udHJhY3QWaW1wbGVtZW50YXRpb25Db250cmFjdA1yZXdhcmRBc3NldElkBAtjaGVja0NhbGxlcgkBC211c3RNYW5hZ2VyAQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIEEGNoZWNrUHJvZ3JhbU5hbWUDCQAAAgkAoAgBCQEOa2V5UHJvZ3JhbU5hbWUBBQtwcm9ncmFtTmFtZQUEdW5pdAYJAQh0aHJvd0VycgECG3Byb2dyYW0gbmFtZSBhbHJlYWR5IGV4aXN0cwMJAAACBRBjaGVja1Byb2dyYW1OYW1lBRBjaGVja1Byb2dyYW1OYW1lBBJwcm9ncmFtTmFtZUlzVmFsaWQDCQEBIQEJAQhjb250YWlucwIFC3Byb2dyYW1OYW1lBQlzZXBhcmF0b3IJAQEhAQkBCGNvbnRhaW5zAgULcHJvZ3JhbU5hbWUCASAHBBJjaGVja1Byb2dyYW1FeGlzdHMDBRJwcm9ncmFtTmFtZUlzVmFsaWQGCQEIdGhyb3dFcnIBAhRpbnZhbGlkIHByb2dyYW0gbmFtZQMJAAACBRJjaGVja1Byb2dyYW1FeGlzdHMFEmNoZWNrUHJvZ3JhbUV4aXN0cwQQY2hlY2tSZXdhcmRBc3NldAMJAQIhPQIJAOwHAQkA2QQBBQ1yZXdhcmRBc3NldElkBQR1bml0BgkBCHRocm93RXJyAQIXaW52YWxpZCByZXdhcmQgYXNzZXQgaWQDCQAAAgUQY2hlY2tSZXdhcmRBc3NldAUQY2hlY2tSZXdhcmRBc3NldAkAlAoCCQDMCAIJAQxCb29sZWFuRW50cnkCCQEOa2V5UHJvZ3JhbU5hbWUBBQtwcm9ncmFtTmFtZQYJAMwIAgkBC1N0cmluZ0VudHJ5AgkBE2tleVRyZWFzdXJ5Q29udHJhY3QBBQtwcm9ncmFtTmFtZQUQdHJlYXN1cnlDb250cmFjdAkAzAgCCQELU3RyaW5nRW50cnkCCQEZa2V5SW1wbGVtZW50YXRpb25Db250cmFjdAEFC3Byb2dyYW1OYW1lBRZpbXBsZW1lbnRhdGlvbkNvbnRyYWN0CQDMCAIJAQtTdHJpbmdFbnRyeQIJARBrZXlSZXdhcmRBc3NldElkAQULcHJvZ3JhbU5hbWUFDXJld2FyZEFzc2V0SWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ9rZXlSZXdhcmRzVG90YWwBBQtwcm9ncmFtTmFtZQAABQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKY3JlYXRlUGFpcgQLcHJvZ3JhbU5hbWUPcmVmZXJyZXJBZGRyZXNzD3JlZmVycmFsQWRkcmVzcwlzaWduYXR1cmUEEmNoZWNrUHJvZ3JhbUV4aXN0cwMJAQt2YWx1ZU9yRWxzZQIJAKAIAQkBDmtleVByb2dyYW1OYW1lAQULcHJvZ3JhbU5hbWUHBgkBCHRocm93RXJyAQIWcHJvZ3JhbSBkb2VzIG5vdCBleGlzdAMJAAACBRJjaGVja1Byb2dyYW1FeGlzdHMFEmNoZWNrUHJvZ3JhbUV4aXN0cwQgcGFpclJlZmVycmVyVG9SZWZlcnJhbEV4aXN0Q2hlY2sDCQAAAgkAoAgBCQEba2V5RXhpc3RzUmVmZXJyZXJUb1JlZmVycmFsAwULcHJvZ3JhbU5hbWUFD3JlZmVycmVyQWRkcmVzcwUPcmVmZXJyYWxBZGRyZXNzBQR1bml0BgkBCHRocm93RXJyAQITcGFpciBhbHJlYWR5IGV4aXN0cwMJAAACBSBwYWlyUmVmZXJyZXJUb1JlZmVycmFsRXhpc3RDaGVjawUgcGFpclJlZmVycmVyVG9SZWZlcnJhbEV4aXN0Q2hlY2sECW5vUmVmU2VsZgMJAQIhPQIFD3JlZmVycmVyQWRkcmVzcwUPcmVmZXJyYWxBZGRyZXNzBgkBCHRocm93RXJyAQIUY2Fubm90IHJlZmVyIHRvIHNlbGYDCQAAAgUJbm9SZWZTZWxmBQlub1JlZlNlbGYEBHBhaXIJAJsDAQkAuQkCCQDMCAIFC3Byb2dyYW1OYW1lCQDMCAIFD3JlZmVycmVyQWRkcmVzcwkAzAgCBQ9yZWZlcnJhbEFkZHJlc3MFA25pbAIBOgQQYmFja2VuZFB1YmxpY0tleQkA2QQBCQEFdmFsdWUBCQCiCAEFE2tleUJhY2tlbmRQdWJsaWNLZXkEEXZhbGlkYXRlU2lnbmF0dXJlAwkA9AMDBQRwYWlyBQlzaWduYXR1cmUFEGJhY2tlbmRQdWJsaWNLZXkGCQEIdGhyb3dFcnIBAg1iYWQgc2lnbmF0dXJlAwkAAAIFEXZhbGlkYXRlU2lnbmF0dXJlBRF2YWxpZGF0ZVNpZ25hdHVyZQQSdG90YWxSZWZlcnJhbENvdW50CQELdmFsdWVPckVsc2UCCQCfCAEJARVrZXlUb3RhbFJlZmVycmFsQ291bnQCBQtwcm9ncmFtTmFtZQUPcmVmZXJyZXJBZGRyZXNzAAAEFW5ld1RvdGFsUmVmZXJyYWxDb3VudAkAZAIFEnRvdGFsUmVmZXJyYWxDb3VudAABCQCUCgIJAMwIAgkBDEJvb2xlYW5FbnRyeQIJARtrZXlFeGlzdHNSZWZlcnJlclRvUmVmZXJyYWwDBQtwcm9ncmFtTmFtZQUPcmVmZXJyZXJBZGRyZXNzBQ9yZWZlcnJhbEFkZHJlc3MGCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEVa2V5VG90YWxSZWZlcnJhbENvdW50AgULcHJvZ3JhbU5hbWUFD3JlZmVycmVyQWRkcmVzcwUVbmV3VG90YWxSZWZlcnJhbENvdW50CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQtrZXlSZWZlcnJlcgIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJhbEFkZHJlc3MFD3JlZmVycmVyQWRkcmVzcwUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBFnVwZGF0ZVJlZmVycmFsQWN0aXZpdHkDC3Byb2dyYW1OYW1lD3JlZmVycmFsQWRkcmVzcwhpc0FjdGl2ZQQWaW1wbGVtZW50YXRpb25Db250cmFjdAkBBXZhbHVlAQkAoggBCQEZa2V5SW1wbGVtZW50YXRpb25Db250cmFjdAEFC3Byb2dyYW1OYW1lBBBpc1JlZmVycmFsQWN0aXZlCQECIT0CCQCgCAEJARNrZXlJc1JlZmVycmFsQWN0aXZlAgULcHJvZ3JhbU5hbWUFD3JlZmVycmFsQWRkcmVzcwUEdW5pdAQPcmVmZXJyZXJBZGRyZXNzCQEFdmFsdWUBCQCiCAEJAQtrZXlSZWZlcnJlcgIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJhbEFkZHJlc3MEC2NoZWNrQ2FsbGVyAwkAAAIJAKUIAQgFAWkGY2FsbGVyBRZpbXBsZW1lbnRhdGlvbkNvbnRyYWN0BgkBCHRocm93RXJyAQIRcGVybWlzc2lvbiBkZW5pZWQDCQAAAgULY2hlY2tDYWxsZXIFC2NoZWNrQ2FsbGVyBAZ1cGRhdGUDCQAAAgUQaXNSZWZlcnJhbEFjdGl2ZQUIaXNBY3RpdmUJAJQKAgUDbmlsBQR1bml0BAZ1cGRhdGUDCQAAAgUIaXNBY3RpdmUGBBZuZXdBY3RpdmVSZWZlcnJhbENvdW50CQBkAgkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEWa2V5QWN0aXZlUmVmZXJyYWxDb3VudAIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJlckFkZHJlc3MAAAABCQCUCgIJAMwIAgkBDEJvb2xlYW5FbnRyeQIJARNrZXlJc1JlZmVycmFsQWN0aXZlAgULcHJvZ3JhbU5hbWUFD3JlZmVycmFsQWRkcmVzcwYJAMwIAgkBDEludGVnZXJFbnRyeQIJARZrZXlBY3RpdmVSZWZlcnJhbENvdW50AgULcHJvZ3JhbU5hbWUFD3JlZmVycmVyQWRkcmVzcwUWbmV3QWN0aXZlUmVmZXJyYWxDb3VudAUDbmlsBQR1bml0BBZuZXdBY3RpdmVSZWZlcnJhbENvdW50CQBlAgkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEWa2V5QWN0aXZlUmVmZXJyYWxDb3VudAIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJlckFkZHJlc3MAAAABCQCUCgIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBE2tleUlzUmVmZXJyYWxBY3RpdmUCBQtwcm9ncmFtTmFtZQUPcmVmZXJyYWxBZGRyZXNzCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEWa2V5QWN0aXZlUmVmZXJyYWxDb3VudAIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJlckFkZHJlc3MFFm5ld0FjdGl2ZVJlZmVycmFsQ291bnQFA25pbAUEdW5pdAUGdXBkYXRlBQZ1cGRhdGUJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEMaW5jVW5jbGFpbWVkBAtwcm9ncmFtTmFtZQ9yZWZlcnJhbEFkZHJlc3MOcmVmZXJyZXJSZXdhcmQOcmVmZXJyYWxSZXdhcmQEFmltcGxlbWVudGF0aW9uQ29udHJhY3QJAQV2YWx1ZQEJAKIIAQkBGWtleUltcGxlbWVudGF0aW9uQ29udHJhY3QBBQtwcm9ncmFtTmFtZQQLY2hlY2tDYWxsZXIDCQAAAgkApQgBCAUBaQZjYWxsZXIFFmltcGxlbWVudGF0aW9uQ29udHJhY3QGCQEIdGhyb3dFcnIBAhFwZXJtaXNzaW9uIGRlbmllZAMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIED3JlZmVycmVyQWRkcmVzcwkBBXZhbHVlAQkAoggBCQELa2V5UmVmZXJyZXICBQtwcm9ncmFtTmFtZQUPcmVmZXJyYWxBZGRyZXNzBBFyZWZlcnJlclVuY2xhaW1lZAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEUa2V5VW5jbGFpbWVkUmVmZXJyZXICBQtwcm9ncmFtTmFtZQUPcmVmZXJyZXJBZGRyZXNzAAAEEXJlZmVycmFsVW5jbGFpbWVkCQELdmFsdWVPckVsc2UCCQCfCAEJARRrZXlVbmNsYWltZWRSZWZlcnJhbAIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJhbEFkZHJlc3MAAAQMcmV3YXJkc1RvdGFsCQELdmFsdWVPckVsc2UCCQCfCAEJAQ9rZXlSZXdhcmRzVG90YWwBBQtwcm9ncmFtTmFtZQAABBRuZXdSZWZlcnJlclVuY2xhaW1lZAkAZAIFEXJlZmVycmVyVW5jbGFpbWVkBQ5yZWZlcnJlclJld2FyZAQUbmV3UmVmZXJyYWxVbmNsYWltZWQJAGQCBRFyZWZlcnJhbFVuY2xhaW1lZAUOcmVmZXJyYWxSZXdhcmQJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFGtleVVuY2xhaW1lZFJlZmVycmVyAgULcHJvZ3JhbU5hbWUFD3JlZmVycmVyQWRkcmVzcwUUbmV3UmVmZXJyZXJVbmNsYWltZWQJAMwIAgkBDEludGVnZXJFbnRyeQIJARRrZXlVbmNsYWltZWRSZWZlcnJhbAIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJhbEFkZHJlc3MFFG5ld1JlZmVycmFsVW5jbGFpbWVkCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEPa2V5UmV3YXJkc1RvdGFsAQULcHJvZ3JhbU5hbWUJAGQCCQBkAgUMcmV3YXJkc1RvdGFsBQ5yZWZlcnJlclJld2FyZAUOcmVmZXJyYWxSZXdhcmQFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVjbGFpbQELcHJvZ3JhbU5hbWUEEmNoZWNrUHJvZ3JhbUV4aXN0cwMJAQt2YWx1ZU9yRWxzZQIJAKAIAQkBDmtleVByb2dyYW1OYW1lAQULcHJvZ3JhbU5hbWUHBgkBCHRocm93RXJyAQIWcHJvZ3JhbSBkb2VzIG5vdCBleGlzdAMJAAACBRJjaGVja1Byb2dyYW1FeGlzdHMFEmNoZWNrUHJvZ3JhbUV4aXN0cwQYaXNJbXBsZW1lbnRhdGlvbkNvbnRyYWN0CQAAAgkApQgBCAUBaQZjYWxsZXIJAQV2YWx1ZQEJAKIIAQkBGWtleUltcGxlbWVudGF0aW9uQ29udHJhY3QBBQtwcm9ncmFtTmFtZQQLJHQwODQwNDkxMzIDBRhpc0ltcGxlbWVudGF0aW9uQ29udHJhY3QEBHVzZXIJAKUIAQgFAWkMb3JpZ2luQ2FsbGVyCQCXCgUFBHVzZXIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBEmtleUNsYWltZWRSZWZlcnJhbAIFC3Byb2dyYW1OYW1lBQR1c2VyAAAJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBFGtleVVuY2xhaW1lZFJlZmVycmFsAgULcHJvZ3JhbU5hbWUFBHVzZXIAAAkBEmtleUNsYWltZWRSZWZlcnJhbAIFC3Byb2dyYW1OYW1lBQR1c2VyCQEUa2V5VW5jbGFpbWVkUmVmZXJyYWwCBQtwcm9ncmFtTmFtZQUEdXNlcgQEdXNlcgkApQgBCAUBaQZjYWxsZXIJAJcKBQUEdXNlcgkBC3ZhbHVlT3JFbHNlAgkAnwgBCQESa2V5Q2xhaW1lZFJlZmVycmVyAgULcHJvZ3JhbU5hbWUFBHVzZXIAAAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEUa2V5VW5jbGFpbWVkUmVmZXJyZXICBQtwcm9ncmFtTmFtZQUEdXNlcgAACQESa2V5Q2xhaW1lZFJlZmVycmFsAgULcHJvZ3JhbU5hbWUFBHVzZXIJARRrZXlVbmNsYWltZWRSZWZlcnJhbAIFC3Byb2dyYW1OYW1lBQR1c2VyBA51c2VyQWRkcmVzc1N0cggFCyR0MDg0MDQ5MTMyAl8xBA5jbGFpbWVyQ2xhaW1lZAgFCyR0MDg0MDQ5MTMyAl8yBBBjbGFpbWVyVW5jbGFpbWVkCAULJHQwODQwNDkxMzICXzMECmtleUNsYWltZWQIBQskdDA4NDA0OTEzMgJfNAQMa2V5VW5jbGFpbWVkCAULJHQwODQwNDkxMzICXzUEDGNsYWltZWRUb3RhbAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEPa2V5Q2xhaW1lZFRvdGFsAQULcHJvZ3JhbU5hbWUAAAQQdHJlYXN1cnlDb250cmFjdAkBBXZhbHVlAQkApggBCQEFdmFsdWUBCQCiCAEJARNrZXlUcmVhc3VyeUNvbnRyYWN0AQULcHJvZ3JhbU5hbWUEDXJld2FyZEFzc2V0SWQJANkEAQkBBXZhbHVlAQkAoggBCQEQa2V5UmV3YXJkQXNzZXRJZAEFC3Byb2dyYW1OYW1lAwMFGGlzSW1wbGVtZW50YXRpb25Db250cmFjdAkAAAIFEGNsYWltZXJVbmNsYWltZWQAAAcJAJQKAgUDbmlsAAAEDWNoZWNrQ2FuQ2xhaW0DCQBmAgUQY2xhaW1lclVuY2xhaW1lZAAABgkBCHRocm93RXJyAQIQbm90aGluZyB0byBjbGFpbQMJAAACBQ1jaGVja0NhbkNsYWltBQ1jaGVja0NhbkNsYWltBBFuZXdDbGFpbWVyQ2xhaW1lZAkAZAIFDmNsYWltZXJDbGFpbWVkBRBjbGFpbWVyVW5jbGFpbWVkBA9uZXdDbGFpbWVkVG90YWwJAGQCBQxjbGFpbWVkVG90YWwFEGNsYWltZXJVbmNsYWltZWQEDWJhbGFuY2VCZWZvcmUJAQV2YWx1ZQEJAPAHAgUEdGhpcwUNcmV3YXJkQXNzZXRJZAMJAAACBQ1iYWxhbmNlQmVmb3JlBQ1iYWxhbmNlQmVmb3JlBANyZXMJAPwHBAUQdHJlYXN1cnlDb250cmFjdAIWd2l0aGRyYXdSZWZlcnJhbFJld2FyZAkAzAgCBRBjbGFpbWVyVW5jbGFpbWVkBQNuaWwFA25pbAMJAAACBQNyZXMFA3JlcwQMYmFsYW5jZUFmdGVyCQEFdmFsdWUBCQDwBwIFBHRoaXMFDXJld2FyZEFzc2V0SWQDCQAAAgUMYmFsYW5jZUFmdGVyBQxiYWxhbmNlQWZ0ZXIEC2JhbGFuY2VEaWZmCQBlAgUMYmFsYW5jZUFmdGVyBQ1iYWxhbmNlQmVmb3JlAwkAAAIFC2JhbGFuY2VEaWZmBQtiYWxhbmNlRGlmZgQMY2hlY2tCYWxhbmNlAwkAAAIFC2JhbGFuY2VEaWZmBRBjbGFpbWVyVW5jbGFpbWVkBgkBCHRocm93RXJyAQIpaW5zdWZmaWNpZW50IGJhbGFuY2Ugb24gcmVmZXJyYWwgY29udHJhY3QDCQAAAgUMY2hlY2tCYWxhbmNlBQxjaGVja0JhbGFuY2UJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUKa2V5Q2xhaW1lZAURbmV3Q2xhaW1lckNsYWltZWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ9rZXlDbGFpbWVkVG90YWwBBQtwcm9ncmFtTmFtZQUPbmV3Q2xhaW1lZFRvdGFsCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQxrZXlVbmNsYWltZWQAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQ51c2VyQWRkcmVzc1N0cgUQY2xhaW1lclVuY2xhaW1lZAUNcmV3YXJkQXNzZXRJZAkAzAgCCQELU3RyaW5nRW50cnkCCQEPa2V5Q2xhaW1IaXN0b3J5AwULcHJvZ3JhbU5hbWUFDnVzZXJBZGRyZXNzU3RyCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQJARJmb3JtYXRDbGFpbUhpc3RvcnkBBRBjbGFpbWVyVW5jbGFpbWVkBQNuaWwFEGNsYWltZXJVbmNsYWltZWQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQENY2xhaW1SRUFET05MWQILcHJvZ3JhbU5hbWULdXNlckFkZHJlc3MEDmNsYWltZXJDbGFpbWVkCQELdmFsdWVPckVsc2UCCQCfCAEJARJrZXlDbGFpbWVkUmVmZXJyZXICBQtwcm9ncmFtTmFtZQULdXNlckFkZHJlc3MAAAQQY2xhaW1lclVuY2xhaW1lZAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEUa2V5VW5jbGFpbWVkUmVmZXJyZXICBQtwcm9ncmFtTmFtZQULdXNlckFkZHJlc3MAAAkAlAoCBQNuaWwJAMwIAgUQY2xhaW1lclVuY2xhaW1lZAkAzAgCBQ5jbGFpbWVyQ2xhaW1lZAUDbmlsAWkBCnNldE1hbmFnZXIBF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5BAtjaGVja0NhbGxlcgkBC211c3RNYW5hZ2VyAQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIEFWNoZWNrTWFuYWdlclB1YmxpY0tleQkA2QQBBRdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQMJAAACBRVjaGVja01hbmFnZXJQdWJsaWNLZXkFFWNoZWNrTWFuYWdlclB1YmxpY0tleQkAzAgCCQELU3RyaW5nRW50cnkCCQEaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkABRdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDmNvbmZpcm1NYW5hZ2VyAAQCcG0JAR1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdAAEBWhhc1BNAwkBCWlzRGVmaW5lZAEFAnBtBgkBCHRocm93RXJyAQISbm8gcGVuZGluZyBtYW5hZ2VyAwkAAAIFBWhhc1BNBQVoYXNQTQQHY2hlY2tQTQMJAAACCAUBaQ9jYWxsZXJQdWJsaWNLZXkJAQV2YWx1ZQEFAnBtBgkBCHRocm93RXJyAQIbeW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFB2NoZWNrUE0FB2NoZWNrUE0JAMwIAgkBC1N0cmluZ0VudHJ5AgkBE2tleU1hbmFnZXJQdWJsaWNLZXkACQDYBAEJAQV2YWx1ZQEFAnBtCQDMCAIJAQtEZWxldGVFbnRyeQEJARprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQAFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAED3RhcmdldFB1YmxpY0tleQQHJG1hdGNoMAkBFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAnBrBQckbWF0Y2gwBQJwawMJAAECBQckbWF0Y2gwAgRVbml0CAUCdHgPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFD3RhcmdldFB1YmxpY0tleVt9SxI=", "chainId": 84, "height": 2168143, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3YzZr6vnD6D7LZ1t4ih11zb7Q8h7BMZRAea5C9Rs68PJ Next: 42MY5jDK7rB1bFkLEwFHS96wAWDxMhKMpqEfGZKLS7BT Diff:
OldNewDifferences
88 func c (d,e,f) = makeString(["%s%s%s%s", "existsReferrerToReferral", d, e, f], a)
99
1010
11-func g (d,h) = makeString(["%s%s%s%s", "claimed", d, h], a)
11+func g (d,h) = makeString(["%s%s%s%s", "claimedReferrer", d, h], a)
1212
1313
14-func i (d,h) = makeString(["%s%s%s%s", "unclaimed", d, h], a)
14+func i (d,h) = makeString(["%s%s%s%s", "claimedReferral", d, h], a)
1515
1616
17-func j (d,f) = makeString(["%s%s%s", "referrer", d, f], a)
17+func j (d,h) = makeString(["%s%s%s%s", "unclaimedReferrer", d, h], a)
1818
1919
20-func k (d) = makeString(["%s%s", "programName", d], a)
20+func k (d,h) = makeString(["%s%s%s%s", "unclaimedReferral", d, h], a)
2121
2222
23-func l (d,e) = makeString(["%s%s%s", "totalReferralCount", d, e], a)
23+func l (d,f) = makeString(["%s%s%s", "referrer", d, f], a)
2424
2525
26-func m (d,e) = makeString(["%s%s%s", "activeReferralCount", d, e], a)
26+func m (d) = makeString(["%s%s", "programName", d], a)
2727
2828
29-func n (d,f) = makeString(["%s%s%s", "activeReferral", d, f], a)
29+func n (d,e) = makeString(["%s%s%s", "totalReferralCount", d, e], a)
3030
3131
32-func o (d) = makeString(["%s%s", "claimedTotal", d], a)
32+func o (d,e) = makeString(["%s%s%s", "activeReferralCount", d, e], a)
3333
3434
35-func p (d) = makeString(["%s%s", "rewardsTotal", d], a)
35+func p (d,f) = makeString(["%s%s%s", "activeReferral", d, f], a)
3636
3737
38-func q (d) = makeString(["%s%s", "rewardAssetId", d], a)
38+func q (d) = makeString(["%s%s", "claimedTotal", d], a)
3939
4040
41-func r (d) = makeString(["%s%s", "treasuryContract", d], a)
41+func r (d) = makeString(["%s%s", "rewardsTotal", d], a)
4242
4343
44-func s (d) = makeString(["%s%s", "implementationContract", d], a)
44+func s (d) = makeString(["%s%s", "rewardAssetId", d], a)
4545
4646
47-func t () = "%s__managerPublicKey"
47+func t (d) = makeString(["%s%s", "treasuryContract", d], a)
4848
4949
50-func u () = "%s__pendingManagerPublicKey"
50+func u (d) = makeString(["%s%s", "implementationContract", d], a)
5151
5252
53-func v (d,w,x) = makeString(["%s%s%s%s%s", "history", "claim", d, w, x], a)
53+func v () = "%s__managerPublicKey"
5454
5555
56-func y (z) = makeString(["%d%d%d", toString(lastBlock.height), toString(lastBlock.timestamp), toString(z)], a)
56+func w () = "%s__pendingManagerPublicKey"
5757
5858
59-func A (B) = throw(makeString(["referral.ride:", B], " "))
59+func x (d,y,z) = makeString(["%s%s%s%s%s", "history", "claim", d, y, z], a)
6060
6161
62-func C () = {
63- let D = getString(t())
64- if ($isInstanceOf(D, "String"))
62+func A (B) = makeString(["%d%d%d", toString(lastBlock.height), toString(lastBlock.timestamp), toString(B)], a)
63+
64+
65+func C (D) = throw(makeString(["referral.ride:", D], " "))
66+
67+
68+func E () = {
69+ let F = getString(v())
70+ if ($isInstanceOf(F, "String"))
6571 then {
66- let E = D
67- fromBase58String(E)
72+ let G = F
73+ fromBase58String(G)
6874 }
69- else if ($isInstanceOf(D, "Unit"))
75+ else if ($isInstanceOf(F, "Unit"))
7076 then unit
7177 else throw("Match error")
7278 }
7379
7480
75-func F () = {
76- let D = getString(u())
77- if ($isInstanceOf(D, "String"))
81+func H () = {
82+ let F = getString(w())
83+ if ($isInstanceOf(F, "String"))
7884 then {
79- let E = D
80- fromBase58String(E)
85+ let G = F
86+ fromBase58String(G)
8187 }
82- else if ($isInstanceOf(D, "Unit"))
88+ else if ($isInstanceOf(F, "Unit"))
8389 then unit
8490 else throw("Match error")
8591 }
8692
8793
88-func G (H) = {
89- let I = A("permission denied")
90- let D = C()
91- if ($isInstanceOf(D, "ByteVector"))
94+func I (J) = {
95+ let K = C("permission denied")
96+ let F = E()
97+ if ($isInstanceOf(F, "ByteVector"))
9298 then {
93- let J = D
94- if ((H.callerPublicKey == J))
99+ let L = F
100+ if ((J.callerPublicKey == L))
95101 then true
96- else I
102+ else K
97103 }
98- else if ($isInstanceOf(D, "Unit"))
99- then if ((H.caller == this))
104+ else if ($isInstanceOf(F, "Unit"))
105+ then if ((J.caller == this))
100106 then true
101- else I
107+ else K
102108 else throw("Match error")
103109 }
104110
105111
106-@Callable(H)
107-func createReferralProgram (d,K,L,M) = {
108- let N = G(H)
109- if ((N == N))
112+@Callable(J)
113+func createReferralProgram (d,M,N,O) = {
114+ let P = I(J)
115+ if ((P == P))
110116 then {
111- let O = if ((getBoolean(k(d)) == unit))
117+ let Q = if ((getBoolean(m(d)) == unit))
112118 then true
113- else A("program name already exists")
114- if ((O == O))
119+ else C("program name already exists")
120+ if ((Q == Q))
115121 then {
116- let P = if (!(contains(d, a)))
122+ let R = if (!(contains(d, a)))
117123 then !(contains(d, " "))
118124 else false
119- let Q = if (P)
125+ let S = if (R)
120126 then true
121- else A("invalid program name")
122- if ((Q == Q))
127+ else C("invalid program name")
128+ if ((S == S))
123129 then {
124- let R = if ((assetInfo(fromBase58String(M)) != unit))
130+ let T = if ((assetInfo(fromBase58String(O)) != unit))
125131 then true
126- else A("invalid reward asset id")
127- if ((R == R))
128- then $Tuple2([BooleanEntry(k(d), true), StringEntry(r(d), K), StringEntry(s(d), L), StringEntry(q(d), M), IntegerEntry(p(d), 0)], unit)
132+ else C("invalid reward asset id")
133+ if ((T == T))
134+ then $Tuple2([BooleanEntry(m(d), true), StringEntry(t(d), M), StringEntry(u(d), N), StringEntry(s(d), O), IntegerEntry(r(d), 0)], unit)
129135 else throw("Strict value is not equal to itself.")
130136 }
131137 else throw("Strict value is not equal to itself.")
137143
138144
139145
140-@Callable(H)
141-func createPair (d,e,f,S) = {
142- let Q = if (valueOrElse(getBoolean(k(d)), false))
146+@Callable(J)
147+func createPair (d,e,f,U) = {
148+ let S = if (valueOrElse(getBoolean(m(d)), false))
143149 then true
144- else A("program does not exist")
145- if ((Q == Q))
150+ else C("program does not exist")
151+ if ((S == S))
146152 then {
147- let T = if ((getBoolean(c(d, e, f)) == unit))
153+ let V = if ((getBoolean(c(d, e, f)) == unit))
148154 then true
149- else A("pair already exists")
150- if ((T == T))
155+ else C("pair already exists")
156+ if ((V == V))
151157 then {
152- let U = if ((e != f))
158+ let W = if ((e != f))
153159 then true
154- else A("cannot refer to self")
155- if ((U == U))
160+ else C("cannot refer to self")
161+ if ((W == W))
156162 then {
157- let V = toBytes(makeString([d, e, f], ":"))
158- let W = fromBase58String(value(getString(b)))
159- let X = if (sigVerify(V, S, W))
163+ let X = toBytes(makeString([d, e, f], ":"))
164+ let Y = fromBase58String(value(getString(b)))
165+ let Z = if (sigVerify(X, U, Y))
160166 then true
161- else A("bad signature")
162- if ((X == X))
167+ else C("bad signature")
168+ if ((Z == Z))
163169 then {
164- let Y = valueOrElse(getInteger(l(d, e)), 0)
165- let Z = (Y + 1)
166- $Tuple2([BooleanEntry(c(d, e, f), true), IntegerEntry(l(d, e), Z), StringEntry(j(d, f), e)], unit)
170+ let aa = valueOrElse(getInteger(n(d, e)), 0)
171+ let ab = (aa + 1)
172+ $Tuple2([BooleanEntry(c(d, e, f), true), IntegerEntry(n(d, e), ab), StringEntry(l(d, f), e)], unit)
167173 }
168174 else throw("Strict value is not equal to itself.")
169175 }
176182
177183
178184
179-@Callable(H)
180-func updateReferralActivity (d,f,aa) = {
181- let L = value(getString(s(d)))
182- let ab = (getBoolean(n(d, f)) != unit)
183- let e = value(getString(j(d, f)))
184- let N = if ((toString(H.caller) == L))
185+@Callable(J)
186+func updateReferralActivity (d,f,ac) = {
187+ let N = value(getString(u(d)))
188+ let ad = (getBoolean(p(d, f)) != unit)
189+ let e = value(getString(l(d, f)))
190+ let P = if ((toString(J.caller) == N))
185191 then true
186- else A("permission denied")
187- if ((N == N))
192+ else C("permission denied")
193+ if ((P == P))
188194 then {
189- let ac = if ((ab == aa))
195+ let ae = if ((ad == ac))
190196 then $Tuple2(nil, unit)
191197 else {
192- let ac = if ((aa == true))
198+ let ae = if ((ac == true))
193199 then {
194- let ad = (valueOrElse(getInteger(m(d, e)), 0) + 1)
195- $Tuple2([BooleanEntry(n(d, f), true), IntegerEntry(m(d, e), ad)], unit)
200+ let af = (valueOrElse(getInteger(o(d, e)), 0) + 1)
201+ $Tuple2([BooleanEntry(p(d, f), true), IntegerEntry(o(d, e), af)], unit)
196202 }
197203 else {
198- let ad = (valueOrElse(getInteger(m(d, e)), 0) - 1)
199- $Tuple2([DeleteEntry(n(d, f)), IntegerEntry(m(d, e), ad)], unit)
204+ let af = (valueOrElse(getInteger(o(d, e)), 0) - 1)
205+ $Tuple2([DeleteEntry(p(d, f)), IntegerEntry(o(d, e), af)], unit)
200206 }
201- ac
207+ ae
202208 }
203- ac
209+ ae
204210 }
205211 else throw("Strict value is not equal to itself.")
206212 }
207213
208214
209215
210-@Callable(H)
211-func incUnclaimed (d,f,ae,af) = {
212- let L = value(getString(s(d)))
213- let N = if ((toString(H.caller) == L))
216+@Callable(J)
217+func incUnclaimed (d,f,ag,ah) = {
218+ let N = value(getString(u(d)))
219+ let P = if ((toString(J.caller) == N))
214220 then true
215- else A("permission denied")
216- if ((N == N))
221+ else C("permission denied")
222+ if ((P == P))
217223 then {
218- let e = value(getString(j(d, f)))
219- let ag = valueOrElse(getInteger(i(d, e)), 0)
220- let ah = valueOrElse(getInteger(i(d, f)), 0)
221- let ai = valueOrElse(getInteger(p(d)), 0)
222- let aj = (ag + ae)
223- let ak = (ah + af)
224- $Tuple2([IntegerEntry(i(d, e), aj), IntegerEntry(i(d, f), ak), IntegerEntry(p(d), ((ai + ae) + af))], unit)
224+ let e = value(getString(l(d, f)))
225+ let ai = valueOrElse(getInteger(j(d, e)), 0)
226+ let aj = valueOrElse(getInteger(k(d, f)), 0)
227+ let ak = valueOrElse(getInteger(r(d)), 0)
228+ let al = (ai + ag)
229+ let am = (aj + ah)
230+ $Tuple2([IntegerEntry(j(d, e), al), IntegerEntry(k(d, f), am), IntegerEntry(r(d), ((ak + ag) + ah))], unit)
225231 }
226232 else throw("Strict value is not equal to itself.")
227233 }
228234
229235
230236
231-@Callable(H)
237+@Callable(J)
232238 func claim (d) = {
233- let Q = if (valueOrElse(getBoolean(k(d)), false))
239+ let S = if (valueOrElse(getBoolean(m(d)), false))
234240 then true
235- else A("program does not exist")
236- if ((Q == Q))
241+ else C("program does not exist")
242+ if ((S == S))
237243 then {
238- let al = toString(H.caller)
239- let am = valueOrElse(getInteger(o(d)), 0)
240- let an = valueOrElse(getInteger(g(d, al)), 0)
241- let ao = valueOrElse(getInteger(i(d, al)), 0)
242- let K = value(addressFromString(value(getString(r(d)))))
243- let M = fromBase58String(value(getString(q(d))))
244- let ap = if ((ao > 0))
245- then true
246- else A("nothing to claim")
247- if ((ap == ap))
244+ let an = (toString(J.caller) == value(getString(u(d))))
245+ let ao = if (an)
248246 then {
249- let aq = (an + ao)
250- let ar = (am + ao)
251- let as = value(assetBalance(this, M))
252- if ((as == as))
247+ let ap = toString(J.originCaller)
248+ $Tuple5(ap, valueOrElse(getInteger(i(d, ap)), 0), valueOrElse(getInteger(k(d, ap)), 0), i(d, ap), k(d, ap))
249+ }
250+ else {
251+ let ap = toString(J.caller)
252+ $Tuple5(ap, valueOrElse(getInteger(g(d, ap)), 0), valueOrElse(getInteger(j(d, ap)), 0), i(d, ap), k(d, ap))
253+ }
254+ let aq = ao._1
255+ let ar = ao._2
256+ let as = ao._3
257+ let at = ao._4
258+ let au = ao._5
259+ let av = valueOrElse(getInteger(q(d)), 0)
260+ let M = value(addressFromString(value(getString(t(d)))))
261+ let O = fromBase58String(value(getString(s(d))))
262+ if (if (an)
263+ then (as == 0)
264+ else false)
265+ then $Tuple2(nil, 0)
266+ else {
267+ let aw = if ((as > 0))
268+ then true
269+ else C("nothing to claim")
270+ if ((aw == aw))
253271 then {
254- let at = invoke(K, "withdrawReferralReward", [ao], nil)
255- if ((at == at))
272+ let ax = (ar + as)
273+ let ay = (av + as)
274+ let az = value(assetBalance(this, O))
275+ if ((az == az))
256276 then {
257- let au = value(assetBalance(this, M))
258- if ((au == au))
277+ let aA = invoke(M, "withdrawReferralReward", [as], nil)
278+ if ((aA == aA))
259279 then {
260- let av = (au - as)
261- if ((av == av))
280+ let aB = value(assetBalance(this, O))
281+ if ((aB == aB))
262282 then {
263- let aw = if ((av == ao))
264- then true
265- else A("insufficient balance on referral contract")
266- if ((aw == aw))
267- then $Tuple2([IntegerEntry(g(d, al), aq), IntegerEntry(o(d), ar), IntegerEntry(i(d, al), 0), ScriptTransfer(H.caller, ao, M), StringEntry(v(d, al, toBase58String(H.transactionId)), y(ao))], unit)
283+ let aC = (aB - az)
284+ if ((aC == aC))
285+ then {
286+ let aD = if ((aC == as))
287+ then true
288+ else C("insufficient balance on referral contract")
289+ if ((aD == aD))
290+ then $Tuple2([IntegerEntry(at, ax), IntegerEntry(q(d), ay), IntegerEntry(au, 0), ScriptTransfer(addressFromStringValue(aq), as, O), StringEntry(x(d, aq, toBase58String(J.transactionId)), A(as))], as)
291+ else throw("Strict value is not equal to itself.")
292+ }
268293 else throw("Strict value is not equal to itself.")
269294 }
270295 else throw("Strict value is not equal to itself.")
275300 }
276301 else throw("Strict value is not equal to itself.")
277302 }
303+ }
304+ else throw("Strict value is not equal to itself.")
305+ }
306+
307+
308+
309+@Callable(J)
310+func claimREADONLY (d,y) = {
311+ let ar = valueOrElse(getInteger(g(d, y)), 0)
312+ let as = valueOrElse(getInteger(j(d, y)), 0)
313+ $Tuple2(nil, [as, ar])
314+ }
315+
316+
317+
318+@Callable(J)
319+func setManager (aE) = {
320+ let P = I(J)
321+ if ((P == P))
322+ then {
323+ let aF = fromBase58String(aE)
324+ if ((aF == aF))
325+ then [StringEntry(w(), aE)]
278326 else throw("Strict value is not equal to itself.")
279327 }
280328 else throw("Strict value is not equal to itself.")
282330
283331
284332
285-@Callable(H)
286-func claimREADONLY (d,w) = {
287- let an = valueOrElse(getInteger(g(d, w)), 0)
288- let ao = valueOrElse(getInteger(i(d, w)), 0)
289- $Tuple2(nil, [ao, an])
290- }
291-
292-
293-
294-@Callable(H)
295-func setManager (ax) = {
296- let N = G(H)
297- if ((N == N))
333+@Callable(J)
334+func confirmManager () = {
335+ let aG = H()
336+ let aH = if (isDefined(aG))
337+ then true
338+ else C("no pending manager")
339+ if ((aH == aH))
298340 then {
299- let ay = fromBase58String(ax)
300- if ((ay == ay))
301- then [StringEntry(u(), ax)]
341+ let aI = if ((J.callerPublicKey == value(aG)))
342+ then true
343+ else C("you are not pending manager")
344+ if ((aI == aI))
345+ then [StringEntry(v(), toBase58String(value(aG))), DeleteEntry(w())]
302346 else throw("Strict value is not equal to itself.")
303347 }
304348 else throw("Strict value is not equal to itself.")
305349 }
306350
307351
308-
309-@Callable(H)
310-func confirmManager () = {
311- let az = F()
312- let aA = if (isDefined(az))
313- then true
314- else A("no pending manager")
315- if ((aA == aA))
316- then {
317- let aB = if ((H.callerPublicKey == value(az)))
318- then true
319- else A("you are not pending manager")
320- if ((aB == aB))
321- then [StringEntry(t(), toBase58String(value(az))), DeleteEntry(u())]
322- else throw("Strict value is not equal to itself.")
323- }
324- else throw("Strict value is not equal to itself.")
325- }
326-
327-
328-@Verifier(aC)
329-func aD () = {
330- let aE = {
331- let D = C()
332- if ($isInstanceOf(D, "ByteVector"))
352+@Verifier(aJ)
353+func aK () = {
354+ let aL = {
355+ let F = E()
356+ if ($isInstanceOf(F, "ByteVector"))
333357 then {
334- let J = D
335- J
358+ let L = F
359+ L
336360 }
337- else if ($isInstanceOf(D, "Unit"))
338- then aC.senderPublicKey
361+ else if ($isInstanceOf(F, "Unit"))
362+ then aJ.senderPublicKey
339363 else throw("Match error")
340364 }
341- sigVerify(aC.bodyBytes, aC.proofs[0], aE)
365+ sigVerify(aJ.bodyBytes, aJ.proofs[0], aL)
342366 }
343367
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = makeString(["%s", "backendPublicKey"], a)
77
88 func c (d,e,f) = makeString(["%s%s%s%s", "existsReferrerToReferral", d, e, f], a)
99
1010
11-func g (d,h) = makeString(["%s%s%s%s", "claimed", d, h], a)
11+func g (d,h) = makeString(["%s%s%s%s", "claimedReferrer", d, h], a)
1212
1313
14-func i (d,h) = makeString(["%s%s%s%s", "unclaimed", d, h], a)
14+func i (d,h) = makeString(["%s%s%s%s", "claimedReferral", d, h], a)
1515
1616
17-func j (d,f) = makeString(["%s%s%s", "referrer", d, f], a)
17+func j (d,h) = makeString(["%s%s%s%s", "unclaimedReferrer", d, h], a)
1818
1919
20-func k (d) = makeString(["%s%s", "programName", d], a)
20+func k (d,h) = makeString(["%s%s%s%s", "unclaimedReferral", d, h], a)
2121
2222
23-func l (d,e) = makeString(["%s%s%s", "totalReferralCount", d, e], a)
23+func l (d,f) = makeString(["%s%s%s", "referrer", d, f], a)
2424
2525
26-func m (d,e) = makeString(["%s%s%s", "activeReferralCount", d, e], a)
26+func m (d) = makeString(["%s%s", "programName", d], a)
2727
2828
29-func n (d,f) = makeString(["%s%s%s", "activeReferral", d, f], a)
29+func n (d,e) = makeString(["%s%s%s", "totalReferralCount", d, e], a)
3030
3131
32-func o (d) = makeString(["%s%s", "claimedTotal", d], a)
32+func o (d,e) = makeString(["%s%s%s", "activeReferralCount", d, e], a)
3333
3434
35-func p (d) = makeString(["%s%s", "rewardsTotal", d], a)
35+func p (d,f) = makeString(["%s%s%s", "activeReferral", d, f], a)
3636
3737
38-func q (d) = makeString(["%s%s", "rewardAssetId", d], a)
38+func q (d) = makeString(["%s%s", "claimedTotal", d], a)
3939
4040
41-func r (d) = makeString(["%s%s", "treasuryContract", d], a)
41+func r (d) = makeString(["%s%s", "rewardsTotal", d], a)
4242
4343
44-func s (d) = makeString(["%s%s", "implementationContract", d], a)
44+func s (d) = makeString(["%s%s", "rewardAssetId", d], a)
4545
4646
47-func t () = "%s__managerPublicKey"
47+func t (d) = makeString(["%s%s", "treasuryContract", d], a)
4848
4949
50-func u () = "%s__pendingManagerPublicKey"
50+func u (d) = makeString(["%s%s", "implementationContract", d], a)
5151
5252
53-func v (d,w,x) = makeString(["%s%s%s%s%s", "history", "claim", d, w, x], a)
53+func v () = "%s__managerPublicKey"
5454
5555
56-func y (z) = makeString(["%d%d%d", toString(lastBlock.height), toString(lastBlock.timestamp), toString(z)], a)
56+func w () = "%s__pendingManagerPublicKey"
5757
5858
59-func A (B) = throw(makeString(["referral.ride:", B], " "))
59+func x (d,y,z) = makeString(["%s%s%s%s%s", "history", "claim", d, y, z], a)
6060
6161
62-func C () = {
63- let D = getString(t())
64- if ($isInstanceOf(D, "String"))
62+func A (B) = makeString(["%d%d%d", toString(lastBlock.height), toString(lastBlock.timestamp), toString(B)], a)
63+
64+
65+func C (D) = throw(makeString(["referral.ride:", D], " "))
66+
67+
68+func E () = {
69+ let F = getString(v())
70+ if ($isInstanceOf(F, "String"))
6571 then {
66- let E = D
67- fromBase58String(E)
72+ let G = F
73+ fromBase58String(G)
6874 }
69- else if ($isInstanceOf(D, "Unit"))
75+ else if ($isInstanceOf(F, "Unit"))
7076 then unit
7177 else throw("Match error")
7278 }
7379
7480
75-func F () = {
76- let D = getString(u())
77- if ($isInstanceOf(D, "String"))
81+func H () = {
82+ let F = getString(w())
83+ if ($isInstanceOf(F, "String"))
7884 then {
79- let E = D
80- fromBase58String(E)
85+ let G = F
86+ fromBase58String(G)
8187 }
82- else if ($isInstanceOf(D, "Unit"))
88+ else if ($isInstanceOf(F, "Unit"))
8389 then unit
8490 else throw("Match error")
8591 }
8692
8793
88-func G (H) = {
89- let I = A("permission denied")
90- let D = C()
91- if ($isInstanceOf(D, "ByteVector"))
94+func I (J) = {
95+ let K = C("permission denied")
96+ let F = E()
97+ if ($isInstanceOf(F, "ByteVector"))
9298 then {
93- let J = D
94- if ((H.callerPublicKey == J))
99+ let L = F
100+ if ((J.callerPublicKey == L))
95101 then true
96- else I
102+ else K
97103 }
98- else if ($isInstanceOf(D, "Unit"))
99- then if ((H.caller == this))
104+ else if ($isInstanceOf(F, "Unit"))
105+ then if ((J.caller == this))
100106 then true
101- else I
107+ else K
102108 else throw("Match error")
103109 }
104110
105111
106-@Callable(H)
107-func createReferralProgram (d,K,L,M) = {
108- let N = G(H)
109- if ((N == N))
112+@Callable(J)
113+func createReferralProgram (d,M,N,O) = {
114+ let P = I(J)
115+ if ((P == P))
110116 then {
111- let O = if ((getBoolean(k(d)) == unit))
117+ let Q = if ((getBoolean(m(d)) == unit))
112118 then true
113- else A("program name already exists")
114- if ((O == O))
119+ else C("program name already exists")
120+ if ((Q == Q))
115121 then {
116- let P = if (!(contains(d, a)))
122+ let R = if (!(contains(d, a)))
117123 then !(contains(d, " "))
118124 else false
119- let Q = if (P)
125+ let S = if (R)
120126 then true
121- else A("invalid program name")
122- if ((Q == Q))
127+ else C("invalid program name")
128+ if ((S == S))
123129 then {
124- let R = if ((assetInfo(fromBase58String(M)) != unit))
130+ let T = if ((assetInfo(fromBase58String(O)) != unit))
125131 then true
126- else A("invalid reward asset id")
127- if ((R == R))
128- then $Tuple2([BooleanEntry(k(d), true), StringEntry(r(d), K), StringEntry(s(d), L), StringEntry(q(d), M), IntegerEntry(p(d), 0)], unit)
132+ else C("invalid reward asset id")
133+ if ((T == T))
134+ then $Tuple2([BooleanEntry(m(d), true), StringEntry(t(d), M), StringEntry(u(d), N), StringEntry(s(d), O), IntegerEntry(r(d), 0)], unit)
129135 else throw("Strict value is not equal to itself.")
130136 }
131137 else throw("Strict value is not equal to itself.")
132138 }
133139 else throw("Strict value is not equal to itself.")
134140 }
135141 else throw("Strict value is not equal to itself.")
136142 }
137143
138144
139145
140-@Callable(H)
141-func createPair (d,e,f,S) = {
142- let Q = if (valueOrElse(getBoolean(k(d)), false))
146+@Callable(J)
147+func createPair (d,e,f,U) = {
148+ let S = if (valueOrElse(getBoolean(m(d)), false))
143149 then true
144- else A("program does not exist")
145- if ((Q == Q))
150+ else C("program does not exist")
151+ if ((S == S))
146152 then {
147- let T = if ((getBoolean(c(d, e, f)) == unit))
153+ let V = if ((getBoolean(c(d, e, f)) == unit))
148154 then true
149- else A("pair already exists")
150- if ((T == T))
155+ else C("pair already exists")
156+ if ((V == V))
151157 then {
152- let U = if ((e != f))
158+ let W = if ((e != f))
153159 then true
154- else A("cannot refer to self")
155- if ((U == U))
160+ else C("cannot refer to self")
161+ if ((W == W))
156162 then {
157- let V = toBytes(makeString([d, e, f], ":"))
158- let W = fromBase58String(value(getString(b)))
159- let X = if (sigVerify(V, S, W))
163+ let X = toBytes(makeString([d, e, f], ":"))
164+ let Y = fromBase58String(value(getString(b)))
165+ let Z = if (sigVerify(X, U, Y))
160166 then true
161- else A("bad signature")
162- if ((X == X))
167+ else C("bad signature")
168+ if ((Z == Z))
163169 then {
164- let Y = valueOrElse(getInteger(l(d, e)), 0)
165- let Z = (Y + 1)
166- $Tuple2([BooleanEntry(c(d, e, f), true), IntegerEntry(l(d, e), Z), StringEntry(j(d, f), e)], unit)
170+ let aa = valueOrElse(getInteger(n(d, e)), 0)
171+ let ab = (aa + 1)
172+ $Tuple2([BooleanEntry(c(d, e, f), true), IntegerEntry(n(d, e), ab), StringEntry(l(d, f), e)], unit)
167173 }
168174 else throw("Strict value is not equal to itself.")
169175 }
170176 else throw("Strict value is not equal to itself.")
171177 }
172178 else throw("Strict value is not equal to itself.")
173179 }
174180 else throw("Strict value is not equal to itself.")
175181 }
176182
177183
178184
179-@Callable(H)
180-func updateReferralActivity (d,f,aa) = {
181- let L = value(getString(s(d)))
182- let ab = (getBoolean(n(d, f)) != unit)
183- let e = value(getString(j(d, f)))
184- let N = if ((toString(H.caller) == L))
185+@Callable(J)
186+func updateReferralActivity (d,f,ac) = {
187+ let N = value(getString(u(d)))
188+ let ad = (getBoolean(p(d, f)) != unit)
189+ let e = value(getString(l(d, f)))
190+ let P = if ((toString(J.caller) == N))
185191 then true
186- else A("permission denied")
187- if ((N == N))
192+ else C("permission denied")
193+ if ((P == P))
188194 then {
189- let ac = if ((ab == aa))
195+ let ae = if ((ad == ac))
190196 then $Tuple2(nil, unit)
191197 else {
192- let ac = if ((aa == true))
198+ let ae = if ((ac == true))
193199 then {
194- let ad = (valueOrElse(getInteger(m(d, e)), 0) + 1)
195- $Tuple2([BooleanEntry(n(d, f), true), IntegerEntry(m(d, e), ad)], unit)
200+ let af = (valueOrElse(getInteger(o(d, e)), 0) + 1)
201+ $Tuple2([BooleanEntry(p(d, f), true), IntegerEntry(o(d, e), af)], unit)
196202 }
197203 else {
198- let ad = (valueOrElse(getInteger(m(d, e)), 0) - 1)
199- $Tuple2([DeleteEntry(n(d, f)), IntegerEntry(m(d, e), ad)], unit)
204+ let af = (valueOrElse(getInteger(o(d, e)), 0) - 1)
205+ $Tuple2([DeleteEntry(p(d, f)), IntegerEntry(o(d, e), af)], unit)
200206 }
201- ac
207+ ae
202208 }
203- ac
209+ ae
204210 }
205211 else throw("Strict value is not equal to itself.")
206212 }
207213
208214
209215
210-@Callable(H)
211-func incUnclaimed (d,f,ae,af) = {
212- let L = value(getString(s(d)))
213- let N = if ((toString(H.caller) == L))
216+@Callable(J)
217+func incUnclaimed (d,f,ag,ah) = {
218+ let N = value(getString(u(d)))
219+ let P = if ((toString(J.caller) == N))
214220 then true
215- else A("permission denied")
216- if ((N == N))
221+ else C("permission denied")
222+ if ((P == P))
217223 then {
218- let e = value(getString(j(d, f)))
219- let ag = valueOrElse(getInteger(i(d, e)), 0)
220- let ah = valueOrElse(getInteger(i(d, f)), 0)
221- let ai = valueOrElse(getInteger(p(d)), 0)
222- let aj = (ag + ae)
223- let ak = (ah + af)
224- $Tuple2([IntegerEntry(i(d, e), aj), IntegerEntry(i(d, f), ak), IntegerEntry(p(d), ((ai + ae) + af))], unit)
224+ let e = value(getString(l(d, f)))
225+ let ai = valueOrElse(getInteger(j(d, e)), 0)
226+ let aj = valueOrElse(getInteger(k(d, f)), 0)
227+ let ak = valueOrElse(getInteger(r(d)), 0)
228+ let al = (ai + ag)
229+ let am = (aj + ah)
230+ $Tuple2([IntegerEntry(j(d, e), al), IntegerEntry(k(d, f), am), IntegerEntry(r(d), ((ak + ag) + ah))], unit)
225231 }
226232 else throw("Strict value is not equal to itself.")
227233 }
228234
229235
230236
231-@Callable(H)
237+@Callable(J)
232238 func claim (d) = {
233- let Q = if (valueOrElse(getBoolean(k(d)), false))
239+ let S = if (valueOrElse(getBoolean(m(d)), false))
234240 then true
235- else A("program does not exist")
236- if ((Q == Q))
241+ else C("program does not exist")
242+ if ((S == S))
237243 then {
238- let al = toString(H.caller)
239- let am = valueOrElse(getInteger(o(d)), 0)
240- let an = valueOrElse(getInteger(g(d, al)), 0)
241- let ao = valueOrElse(getInteger(i(d, al)), 0)
242- let K = value(addressFromString(value(getString(r(d)))))
243- let M = fromBase58String(value(getString(q(d))))
244- let ap = if ((ao > 0))
245- then true
246- else A("nothing to claim")
247- if ((ap == ap))
244+ let an = (toString(J.caller) == value(getString(u(d))))
245+ let ao = if (an)
248246 then {
249- let aq = (an + ao)
250- let ar = (am + ao)
251- let as = value(assetBalance(this, M))
252- if ((as == as))
247+ let ap = toString(J.originCaller)
248+ $Tuple5(ap, valueOrElse(getInteger(i(d, ap)), 0), valueOrElse(getInteger(k(d, ap)), 0), i(d, ap), k(d, ap))
249+ }
250+ else {
251+ let ap = toString(J.caller)
252+ $Tuple5(ap, valueOrElse(getInteger(g(d, ap)), 0), valueOrElse(getInteger(j(d, ap)), 0), i(d, ap), k(d, ap))
253+ }
254+ let aq = ao._1
255+ let ar = ao._2
256+ let as = ao._3
257+ let at = ao._4
258+ let au = ao._5
259+ let av = valueOrElse(getInteger(q(d)), 0)
260+ let M = value(addressFromString(value(getString(t(d)))))
261+ let O = fromBase58String(value(getString(s(d))))
262+ if (if (an)
263+ then (as == 0)
264+ else false)
265+ then $Tuple2(nil, 0)
266+ else {
267+ let aw = if ((as > 0))
268+ then true
269+ else C("nothing to claim")
270+ if ((aw == aw))
253271 then {
254- let at = invoke(K, "withdrawReferralReward", [ao], nil)
255- if ((at == at))
272+ let ax = (ar + as)
273+ let ay = (av + as)
274+ let az = value(assetBalance(this, O))
275+ if ((az == az))
256276 then {
257- let au = value(assetBalance(this, M))
258- if ((au == au))
277+ let aA = invoke(M, "withdrawReferralReward", [as], nil)
278+ if ((aA == aA))
259279 then {
260- let av = (au - as)
261- if ((av == av))
280+ let aB = value(assetBalance(this, O))
281+ if ((aB == aB))
262282 then {
263- let aw = if ((av == ao))
264- then true
265- else A("insufficient balance on referral contract")
266- if ((aw == aw))
267- then $Tuple2([IntegerEntry(g(d, al), aq), IntegerEntry(o(d), ar), IntegerEntry(i(d, al), 0), ScriptTransfer(H.caller, ao, M), StringEntry(v(d, al, toBase58String(H.transactionId)), y(ao))], unit)
283+ let aC = (aB - az)
284+ if ((aC == aC))
285+ then {
286+ let aD = if ((aC == as))
287+ then true
288+ else C("insufficient balance on referral contract")
289+ if ((aD == aD))
290+ then $Tuple2([IntegerEntry(at, ax), IntegerEntry(q(d), ay), IntegerEntry(au, 0), ScriptTransfer(addressFromStringValue(aq), as, O), StringEntry(x(d, aq, toBase58String(J.transactionId)), A(as))], as)
291+ else throw("Strict value is not equal to itself.")
292+ }
268293 else throw("Strict value is not equal to itself.")
269294 }
270295 else throw("Strict value is not equal to itself.")
271296 }
272297 else throw("Strict value is not equal to itself.")
273298 }
274299 else throw("Strict value is not equal to itself.")
275300 }
276301 else throw("Strict value is not equal to itself.")
277302 }
303+ }
304+ else throw("Strict value is not equal to itself.")
305+ }
306+
307+
308+
309+@Callable(J)
310+func claimREADONLY (d,y) = {
311+ let ar = valueOrElse(getInteger(g(d, y)), 0)
312+ let as = valueOrElse(getInteger(j(d, y)), 0)
313+ $Tuple2(nil, [as, ar])
314+ }
315+
316+
317+
318+@Callable(J)
319+func setManager (aE) = {
320+ let P = I(J)
321+ if ((P == P))
322+ then {
323+ let aF = fromBase58String(aE)
324+ if ((aF == aF))
325+ then [StringEntry(w(), aE)]
278326 else throw("Strict value is not equal to itself.")
279327 }
280328 else throw("Strict value is not equal to itself.")
281329 }
282330
283331
284332
285-@Callable(H)
286-func claimREADONLY (d,w) = {
287- let an = valueOrElse(getInteger(g(d, w)), 0)
288- let ao = valueOrElse(getInteger(i(d, w)), 0)
289- $Tuple2(nil, [ao, an])
290- }
291-
292-
293-
294-@Callable(H)
295-func setManager (ax) = {
296- let N = G(H)
297- if ((N == N))
333+@Callable(J)
334+func confirmManager () = {
335+ let aG = H()
336+ let aH = if (isDefined(aG))
337+ then true
338+ else C("no pending manager")
339+ if ((aH == aH))
298340 then {
299- let ay = fromBase58String(ax)
300- if ((ay == ay))
301- then [StringEntry(u(), ax)]
341+ let aI = if ((J.callerPublicKey == value(aG)))
342+ then true
343+ else C("you are not pending manager")
344+ if ((aI == aI))
345+ then [StringEntry(v(), toBase58String(value(aG))), DeleteEntry(w())]
302346 else throw("Strict value is not equal to itself.")
303347 }
304348 else throw("Strict value is not equal to itself.")
305349 }
306350
307351
308-
309-@Callable(H)
310-func confirmManager () = {
311- let az = F()
312- let aA = if (isDefined(az))
313- then true
314- else A("no pending manager")
315- if ((aA == aA))
316- then {
317- let aB = if ((H.callerPublicKey == value(az)))
318- then true
319- else A("you are not pending manager")
320- if ((aB == aB))
321- then [StringEntry(t(), toBase58String(value(az))), DeleteEntry(u())]
322- else throw("Strict value is not equal to itself.")
323- }
324- else throw("Strict value is not equal to itself.")
325- }
326-
327-
328-@Verifier(aC)
329-func aD () = {
330- let aE = {
331- let D = C()
332- if ($isInstanceOf(D, "ByteVector"))
352+@Verifier(aJ)
353+func aK () = {
354+ let aL = {
355+ let F = E()
356+ if ($isInstanceOf(F, "ByteVector"))
333357 then {
334- let J = D
335- J
358+ let L = F
359+ L
336360 }
337- else if ($isInstanceOf(D, "Unit"))
338- then aC.senderPublicKey
361+ else if ($isInstanceOf(F, "Unit"))
362+ then aJ.senderPublicKey
339363 else throw("Match error")
340364 }
341- sigVerify(aC.bodyBytes, aC.proofs[0], aE)
365+ sigVerify(aJ.bodyBytes, aJ.proofs[0], aL)
342366 }
343367

github/deemru/w8io/169f3d6 
93.66 ms