tx · BcSpEitptjueFL2gM1FA796wTpQMroztSG46yArVX2z5

3MuWBHccrEuDEvozJ8b7t5JdYrhqfyWePd6:  -0.02500000 Waves

2023.05.04 13:13 [2562879] smart account 3MuWBHccrEuDEvozJ8b7t5JdYrhqfyWePd6 > SELF 0.00000000 Waves

{ "type": 13, "id": "BcSpEitptjueFL2gM1FA796wTpQMroztSG46yArVX2z5", "fee": 2500000, "feeAssetId": null, "timestamp": 1683195179318, "version": 2, "chainId": 84, "sender": "3MuWBHccrEuDEvozJ8b7t5JdYrhqfyWePd6", "senderPublicKey": "9RHv7r4mz9AqLab5WvSMeJe5cgGJqeG45LC9KbMaGKia", "proofs": [ "KhgCzWBYtyV47xeuV5PT6vSbm8EyDhfVBsa1fVfhSSSMVi2YJJeHoNza95Dd2D1F5s31hvoFSfcGtLRpsYNE6cg" ], "script": "base64:BgJWCAISBQoDCAgEEgUKAwgYARIHCgURCBgBARIGCgQICAgIEgYKBAgICAISBQoDCAgEEgYKBAgIAQESBAoCCBgSAwoBCBIAEgQKAggIEgMKAQgSBAoCCAgeAAlzZXBhcmF0b3ICAl9fAQxrZXlXeEFzc2V0SWQACQC5CQIJAMwIAgICJXMJAMwIAgIJd3hBc3NldElkBQNuaWwFCXNlcGFyYXRvcgATa2V5QmFja2VuZFB1YmxpY0tleQkAuQkCCQDMCAICAiVzCQDMCAICEGJhY2tlbmRQdWJsaWNLZXkFA25pbAUJc2VwYXJhdG9yARtrZXlFeGlzdHNSZWZlcnJlclRvUmVmZXJyYWwDC3Byb2dyYW1OYW1lD3JlZmVycmVyQWRkcmVzcw9yZWZlcnJhbEFkZHJlc3MJALkJAgkAzAgCAgglcyVzJXMlcwkAzAgCAhhleGlzdHNSZWZlcnJlclRvUmVmZXJyYWwJAMwIAgULcHJvZ3JhbU5hbWUJAMwIAgUPcmVmZXJyZXJBZGRyZXNzCQDMCAIFD3JlZmVycmFsQWRkcmVzcwUDbmlsBQlzZXBhcmF0b3IBEmtleUNsYWltZWRSZWZlcnJlcgILcHJvZ3JhbU5hbWUOY2xhaW1lckFkZHJlc3MJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIPY2xhaW1lZFJlZmVycmVyCQDMCAIFC3Byb2dyYW1OYW1lCQDMCAIFDmNsYWltZXJBZGRyZXNzBQNuaWwFCXNlcGFyYXRvcgESa2V5Q2xhaW1lZFJlZmVycmFsAgtwcm9ncmFtTmFtZQ5jbGFpbWVyQWRkcmVzcwkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAg9jbGFpbWVkUmVmZXJyYWwJAMwIAgULcHJvZ3JhbU5hbWUJAMwIAgUOY2xhaW1lckFkZHJlc3MFA25pbAUJc2VwYXJhdG9yARRrZXlVbmNsYWltZWRSZWZlcnJlcgILcHJvZ3JhbU5hbWUOY2xhaW1lckFkZHJlc3MJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIRdW5jbGFpbWVkUmVmZXJyZXIJAMwIAgULcHJvZ3JhbU5hbWUJAMwIAgUOY2xhaW1lckFkZHJlc3MFA25pbAUJc2VwYXJhdG9yARRrZXlVbmNsYWltZWRSZWZlcnJhbAILcHJvZ3JhbU5hbWUOY2xhaW1lckFkZHJlc3MJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIRdW5jbGFpbWVkUmVmZXJyYWwJAMwIAgULcHJvZ3JhbU5hbWUJAMwIAgUOY2xhaW1lckFkZHJlc3MFA25pbAUJc2VwYXJhdG9yAQtrZXlSZWZlcnJlcgILcHJvZ3JhbU5hbWUPcmVmZXJyYWxBZGRyZXNzCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICCHJlZmVycmVyCQDMCAIFC3Byb2dyYW1OYW1lCQDMCAIFD3JlZmVycmFsQWRkcmVzcwUDbmlsBQlzZXBhcmF0b3IBDmtleVByb2dyYW1OYW1lAQtwcm9ncmFtTmFtZQkAuQkCCQDMCAICBCVzJXMJAMwIAgILcHJvZ3JhbU5hbWUJAMwIAgULcHJvZ3JhbU5hbWUFA25pbAUJc2VwYXJhdG9yARVrZXlUb3RhbFJlZmVycmFsQ291bnQCC3Byb2dyYW1OYW1lD3JlZmVycmVyQWRkcmVzcwkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAhJ0b3RhbFJlZmVycmFsQ291bnQJAMwIAgULcHJvZ3JhbU5hbWUJAMwIAgUPcmVmZXJyZXJBZGRyZXNzBQNuaWwFCXNlcGFyYXRvcgEWa2V5QWN0aXZlUmVmZXJyYWxDb3VudAILcHJvZ3JhbU5hbWUPcmVmZXJyZXJBZGRyZXNzCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICE2FjdGl2ZVJlZmVycmFsQ291bnQJAMwIAgULcHJvZ3JhbU5hbWUJAMwIAgUPcmVmZXJyZXJBZGRyZXNzBQNuaWwFCXNlcGFyYXRvcgETa2V5SXNSZWZlcnJhbEFjdGl2ZQILcHJvZ3JhbU5hbWUPcmVmZXJyYWxBZGRyZXNzCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICDmFjdGl2ZVJlZmVycmFsCQDMCAIFC3Byb2dyYW1OYW1lCQDMCAIFD3JlZmVycmFsQWRkcmVzcwUDbmlsBQlzZXBhcmF0b3IBFmtleUNsYWltZWRUb3RhbEFkZHJlc3MBB2FkZHJlc3MJALkJAgkAzAgCAgQlcyVzCQDMCAICE2NsYWltZWRUb3RhbEFkZHJlc3MJAMwIAgUHYWRkcmVzcwUDbmlsBQlzZXBhcmF0b3IBGGtleVVuY2xhaW1lZFRvdGFsQWRkcmVzcwEHYWRkcmVzcwkAuQkCCQDMCAICBCVzJXMJAMwIAgIVdW5jbGFpbWVkVG90YWxBZGRyZXNzCQDMCAIFB2FkZHJlc3MFA25pbAUJc2VwYXJhdG9yAQ9rZXlDbGFpbWVkVG90YWwBC3Byb2dyYW1OYW1lCQC5CQIJAMwIAgIEJXMlcwkAzAgCAgxjbGFpbWVkVG90YWwJAMwIAgULcHJvZ3JhbU5hbWUFA25pbAUJc2VwYXJhdG9yAQ9rZXlSZXdhcmRzVG90YWwBC3Byb2dyYW1OYW1lCQC5CQIJAMwIAgIEJXMlcwkAzAgCAgxyZXdhcmRzVG90YWwJAMwIAgULcHJvZ3JhbU5hbWUFA25pbAUJc2VwYXJhdG9yARBrZXlSZXdhcmRBc3NldElkAQtwcm9ncmFtTmFtZQkAuQkCCQDMCAICBCVzJXMJAMwIAgINcmV3YXJkQXNzZXRJZAkAzAgCBQtwcm9ncmFtTmFtZQUDbmlsBQlzZXBhcmF0b3IBE2tleVRyZWFzdXJ5Q29udHJhY3QBC3Byb2dyYW1OYW1lCQC5CQIJAMwIAgIEJXMlcwkAzAgCAhB0cmVhc3VyeUNvbnRyYWN0CQDMCAIFC3Byb2dyYW1OYW1lBQNuaWwFCXNlcGFyYXRvcgEZa2V5SW1wbGVtZW50YXRpb25Db250cmFjdAELcHJvZ3JhbU5hbWUJALkJAgkAzAgCAgQlcyVzCQDMCAICFmltcGxlbWVudGF0aW9uQ29udHJhY3QJAMwIAgULcHJvZ3JhbU5hbWUFA25pbAUJc2VwYXJhdG9yARZrZXlBbGxSZWZlcnJhbFByb2dyYW1zAQdhZGRyZXNzCQC5CQIJAMwIAgIEJXMlcwkAzAgCAhNhbGxSZWZlcnJhbFByb2dyYW1zCQDMCAIFB2FkZHJlc3MFA25pbAUJc2VwYXJhdG9yARNrZXlNYW5hZ2VyUHVibGljS2V5AAIUJXNfX21hbmFnZXJQdWJsaWNLZXkBFmtleU1hbmFnZXJWYXVsdEFkZHJlc3MAAhclc19fbWFuYWdlclZhdWx0QWRkcmVzcwEXZ2V0TWFuYWdlckFkZHJlc3NPckZhaWwACQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBCQEWa2V5TWFuYWdlclZhdWx0QWRkcmVzcwABD2tleUNsYWltSGlzdG9yeQQLcHJvZ3JhbU5hbWULdXNlckFkZHJlc3MNdHJhbnNhY3Rpb25JZAR0eXBlCQC5CQIJAMwIAgIKJXMlcyVzJXMlcwkAzAgCAgdoaXN0b3J5CQDMCAIFBHR5cGUJAMwIAgULcHJvZ3JhbU5hbWUJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JZAUDbmlsBQlzZXBhcmF0b3IBEmZvcm1hdENsYWltSGlzdG9yeQEGYW1vdW50CQC5CQIJAMwIAgIGJWQlZCVkCQDMCAIJAKQDAQgFCWxhc3RCbG9jawZoZWlnaHQJAMwIAgkApAMBCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAkAzAgCCQCkAwEFBmFtb3VudAUDbmlsBQlzZXBhcmF0b3IBCHRocm93RXJyAQNtc2cJAAIBCQC5CQIJAMwIAgIOcmVmZXJyYWwucmlkZToJAMwIAgUDbXNnBQNuaWwCASABFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQABBNtYW5hZ2VyVmF1bHRBZGRyZXNzCQEXZ2V0TWFuYWdlckFkZHJlc3NPckZhaWwABAckbWF0Y2gwCQCdCAIFE21hbmFnZXJWYXVsdEFkZHJlc3MJARNrZXlNYW5hZ2VyUHVibGljS2V5AAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJANkEAQUBcwMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IBC211c3RNYW5hZ2VyAQFpBAJwZAkBCHRocm93RXJyAQIRcGVybWlzc2lvbiBkZW5pZWQEByRtYXRjaDAJARZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAJwawUHJG1hdGNoMAMJAAACCAUBaQ9jYWxsZXJQdWJsaWNLZXkFAnBrBgUCcGQDCQABAgUHJG1hdGNoMAIEVW5pdAMJAAACCAUBaQZjYWxsZXIFBHRoaXMGBQJwZAkAAgECC01hdGNoIGVycm9yARl1cGRhdGVBbGxSZWZlcnJhbFByb2dyYW1zAgdhZGRyZXNzC3Byb2dyYW1OYW1lBBNhbGxSZWZlcnJhbFByb2dyYW1zCQELdmFsdWVPckVsc2UCCQCiCAEJARZrZXlBbGxSZWZlcnJhbFByb2dyYW1zAQUHYWRkcmVzcwIABBp1cGRhdGVkQWxsUmVmZXJyYWxQcm9ncmFtcwMJAQhjb250YWlucwIFE2FsbFJlZmVycmFsUHJvZ3JhbXMFC3Byb2dyYW1OYW1lBQNuaWwEFm5ld0FsbFJlZmVycmFsUHJvZ3JhbXMDCQAAAgUTYWxsUmVmZXJyYWxQcm9ncmFtcwIABQtwcm9ncmFtTmFtZQkAuQkCCQDMCAIFE2FsbFJlZmVycmFsUHJvZ3JhbXMJAMwIAgULcHJvZ3JhbU5hbWUFA25pbAUJc2VwYXJhdG9yCQDMCAIJAQtTdHJpbmdFbnRyeQIJARZrZXlBbGxSZWZlcnJhbFByb2dyYW1zAQUHYWRkcmVzcwUWbmV3QWxsUmVmZXJyYWxQcm9ncmFtcwUDbmlsBRp1cGRhdGVkQWxsUmVmZXJyYWxQcm9ncmFtcw0BaQENY2xhaW1JbnRlcm5hbAMLcHJvZ3JhbU5hbWUOY2xhaW1lckFkZHJlc3MYaXNJbXBsZW1lbnRhdGlvbkNvbnRyYWN0BBJjaGVja1Byb2dyYW1FeGlzdHMDCQELdmFsdWVPckVsc2UCCQCgCAEJAQ5rZXlQcm9ncmFtTmFtZQEFC3Byb2dyYW1OYW1lBwYJAQh0aHJvd0VycgECFnByb2dyYW0gZG9lcyBub3QgZXhpc3QDCQAAAgUSY2hlY2tQcm9ncmFtRXhpc3RzBRJjaGVja1Byb2dyYW1FeGlzdHMECyR0MDQ3MDA1NjM3AwUYaXNJbXBsZW1lbnRhdGlvbkNvbnRyYWN0CQCXCgUJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBEmtleUNsYWltZWRSZWZlcnJhbAIFC3Byb2dyYW1OYW1lBQ5jbGFpbWVyQWRkcmVzcwAACQELdmFsdWVPckVsc2UCCQCfCAEJARRrZXlVbmNsYWltZWRSZWZlcnJhbAIFC3Byb2dyYW1OYW1lBQ5jbGFpbWVyQWRkcmVzcwAACQESa2V5Q2xhaW1lZFJlZmVycmFsAgULcHJvZ3JhbU5hbWUFDmNsYWltZXJBZGRyZXNzCQEUa2V5VW5jbGFpbWVkUmVmZXJyYWwCBQtwcm9ncmFtTmFtZQUOY2xhaW1lckFkZHJlc3MJAQ9rZXlDbGFpbUhpc3RvcnkEBQtwcm9ncmFtTmFtZQUOY2xhaW1lckFkZHJlc3MJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAINY2xhaW1SZWZlcnJhbAkAlwoFCQELdmFsdWVPckVsc2UCCQCfCAEJARJrZXlDbGFpbWVkUmVmZXJyZXICBQtwcm9ncmFtTmFtZQUOY2xhaW1lckFkZHJlc3MAAAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEUa2V5VW5jbGFpbWVkUmVmZXJyZXICBQtwcm9ncmFtTmFtZQUOY2xhaW1lckFkZHJlc3MAAAkBEmtleUNsYWltZWRSZWZlcnJlcgIFC3Byb2dyYW1OYW1lBQ5jbGFpbWVyQWRkcmVzcwkBFGtleVVuY2xhaW1lZFJlZmVycmVyAgULcHJvZ3JhbU5hbWUFDmNsYWltZXJBZGRyZXNzCQEPa2V5Q2xhaW1IaXN0b3J5BAULcHJvZ3JhbU5hbWUFDmNsYWltZXJBZGRyZXNzCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQCDWNsYWltUmVmZXJyZXIEDmNsYWltZXJDbGFpbWVkCAULJHQwNDcwMDU2MzcCXzEEEGNsYWltZXJVbmNsYWltZWQIBQskdDA0NzAwNTYzNwJfMgQKa2V5Q2xhaW1lZAgFCyR0MDQ3MDA1NjM3Al8zBAxrZXlVbmNsYWltZWQIBQskdDA0NzAwNTYzNwJfNAQPY2xhaW1IaXN0b3J5S2V5CAULJHQwNDcwMDU2MzcCXzUEDGNsYWltZWRUb3RhbAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEPa2V5Q2xhaW1lZFRvdGFsAQULcHJvZ3JhbU5hbWUAAAQQdHJlYXN1cnlDb250cmFjdAkBBXZhbHVlAQkApggBCQEFdmFsdWUBCQCiCAEJARNrZXlUcmVhc3VyeUNvbnRyYWN0AQULcHJvZ3JhbU5hbWUEDXJld2FyZEFzc2V0SWQJANkEAQkBBXZhbHVlAQkAoggBCQEQa2V5UmV3YXJkQXNzZXRJZAEFC3Byb2dyYW1OYW1lBBNjbGFpbWVkVG90YWxBZGRyZXNzCQELdmFsdWVPckVsc2UCCQCfCAEJARZrZXlDbGFpbWVkVG90YWxBZGRyZXNzAQUOY2xhaW1lckFkZHJlc3MAAAQVdW5jbGFpbWVkVG90YWxBZGRyZXNzCQELdmFsdWVPckVsc2UCCQCfCAEJARhrZXlVbmNsYWltZWRUb3RhbEFkZHJlc3MBBQ5jbGFpbWVyQWRkcmVzcwAAAwMFGGlzSW1wbGVtZW50YXRpb25Db250cmFjdAkAAAIFEGNsYWltZXJVbmNsYWltZWQAAAcJAJQKAgUDbmlsAAAEDWNoZWNrQ2FuQ2xhaW0DCQBmAgUQY2xhaW1lclVuY2xhaW1lZAAABgkBCHRocm93RXJyAQIQbm90aGluZyB0byBjbGFpbQMJAAACBQ1jaGVja0NhbkNsYWltBQ1jaGVja0NhbkNsYWltBBFuZXdDbGFpbWVyQ2xhaW1lZAkAZAIFDmNsYWltZXJDbGFpbWVkBRBjbGFpbWVyVW5jbGFpbWVkBA9uZXdDbGFpbWVkVG90YWwJAGQCBQxjbGFpbWVkVG90YWwFEGNsYWltZXJVbmNsYWltZWQEFm5ld0NsYWltZWRUb3RhbEFkZHJlc3MJAGQCBRNjbGFpbWVkVG90YWxBZGRyZXNzBRBjbGFpbWVyVW5jbGFpbWVkBBhuZXdVbmNsYWltZWRUb3RhbEFkZHJlc3MJAGUCBRV1bmNsYWltZWRUb3RhbEFkZHJlc3MFEGNsYWltZXJVbmNsYWltZWQEDWJhbGFuY2VCZWZvcmUJAQV2YWx1ZQEJAPAHAgUEdGhpcwUNcmV3YXJkQXNzZXRJZAMJAAACBQ1iYWxhbmNlQmVmb3JlBQ1iYWxhbmNlQmVmb3JlBANyZXMJAPwHBAUQdHJlYXN1cnlDb250cmFjdAIWd2l0aGRyYXdSZWZlcnJhbFJld2FyZAkAzAgCBRBjbGFpbWVyVW5jbGFpbWVkBQNuaWwFA25pbAMJAAACBQNyZXMFA3JlcwQMYmFsYW5jZUFmdGVyCQEFdmFsdWUBCQDwBwIFBHRoaXMFDXJld2FyZEFzc2V0SWQDCQAAAgUMYmFsYW5jZUFmdGVyBQxiYWxhbmNlQWZ0ZXIEC2JhbGFuY2VEaWZmCQBlAgUMYmFsYW5jZUFmdGVyBQ1iYWxhbmNlQmVmb3JlAwkAAAIFC2JhbGFuY2VEaWZmBQtiYWxhbmNlRGlmZgQMY2hlY2tCYWxhbmNlAwkAAAIFC2JhbGFuY2VEaWZmBRBjbGFpbWVyVW5jbGFpbWVkBgkBCHRocm93RXJyAQIpaW5zdWZmaWNpZW50IGJhbGFuY2Ugb24gcmVmZXJyYWwgY29udHJhY3QDCQAAAgUMY2hlY2tCYWxhbmNlBQxjaGVja0JhbGFuY2UJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUKa2V5Q2xhaW1lZAURbmV3Q2xhaW1lckNsYWltZWQJAMwIAgkBDEludGVnZXJFbnRyeQIFDGtleVVuY2xhaW1lZAAACQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEPa2V5Q2xhaW1lZFRvdGFsAQULcHJvZ3JhbU5hbWUFD25ld0NsYWltZWRUb3RhbAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFmtleUNsYWltZWRUb3RhbEFkZHJlc3MBBQ5jbGFpbWVyQWRkcmVzcwUWbmV3Q2xhaW1lZFRvdGFsQWRkcmVzcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGGtleVVuY2xhaW1lZFRvdGFsQWRkcmVzcwEFDmNsYWltZXJBZGRyZXNzBRhuZXdVbmNsYWltZWRUb3RhbEFkZHJlc3MJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUOY2xhaW1lckFkZHJlc3MFEGNsYWltZXJVbmNsYWltZWQFDXJld2FyZEFzc2V0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgUPY2xhaW1IaXN0b3J5S2V5CQESZm9ybWF0Q2xhaW1IaXN0b3J5AQUQY2xhaW1lclVuY2xhaW1lZAUDbmlsBRBjbGFpbWVyVW5jbGFpbWVkCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEWNsYWltQnVsa0ludGVybmFsAwdjbGFpbWVyDHByb2dyYW1OYW1lcwtjdXJyZW50SXRlcgQLY2hlY2tDYWxsZXIDCQAAAggFAWkGY2FsbGVyBQR0aGlzBgkBCHRocm93RXJyAQIRcGVybWlzc2lvbiBkZW5pZWQDCQAAAgULY2hlY2tDYWxsZXIFC2NoZWNrQ2FsbGVyAwkAAAIFC2N1cnJlbnRJdGVyCQCQAwEFDHByb2dyYW1OYW1lcwUDbmlsBAtwcm9ncmFtTmFtZQkAkQMCBQxwcm9ncmFtTmFtZXMFC2N1cnJlbnRJdGVyBBBwcm9ncmFtVW5jbGFpbWVkCQELdmFsdWVPckVsc2UCCQCfCAEJARRrZXlVbmNsYWltZWRSZWZlcnJlcgIFC3Byb2dyYW1OYW1lBQdjbGFpbWVyAAAED2NsYWltSGlzdG9yeUtleQkBD2tleUNsYWltSGlzdG9yeQQFC3Byb2dyYW1OYW1lBQdjbGFpbWVyCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQCCWNsYWltQnVsawQRY2xhaW1CdWxrSW50ZXJuYWwJAPwHBAUEdGhpcwIRY2xhaW1CdWxrSW50ZXJuYWwJAMwIAgUHY2xhaW1lcgkAzAgCBQxwcm9ncmFtTmFtZXMJAMwIAgkAZAIFC2N1cnJlbnRJdGVyAAEFA25pbAUDbmlsAwkAAAIFEWNsYWltQnVsa0ludGVybmFsBRFjbGFpbUJ1bGtJbnRlcm5hbAQRdW5jbGFpbWVkUmVmZXJyZXIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBFGtleVVuY2xhaW1lZFJlZmVycmVyAgULcHJvZ3JhbU5hbWUFB2NsYWltZXIAAAQFY2xhaW0DCQBmAgURdW5jbGFpbWVkUmVmZXJyZXIAAAkA/AcEBQR0aGlzAg1jbGFpbUludGVybmFsCQDMCAIFC3Byb2dyYW1OYW1lCQDMCAIFB2NsYWltZXIJAMwIAgcFA25pbAUDbmlsBQR1bml0AwkAAAIFBWNsYWltBQVjbGFpbQkAlAoCBQNuaWwJAMwIAgURY2xhaW1CdWxrSW50ZXJuYWwJAMwIAgUFY2xhaW0FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAR9pbmNVbmNsYWltZWRXaXRoUGF5bWVudEludGVybmFsBQ5wYXltZW50QW1vdW50cwtwcm9ncmFtTmFtZRFyZWZlcnJlckFkZHJlc3NlcwtjdXJyZW50SXRlcglyZXNBbW91bnQEC2NoZWNrQ2FsbGVyAwkAAAIIBQFpBmNhbGxlcgUEdGhpcwYJAQh0aHJvd0VycgECEXBlcm1pc3Npb24gZGVuaWVkAwkAAAIFC2NoZWNrQ2FsbGVyBQtjaGVja0NhbGxlcgQOYXJnc0NvbXBhcmlzb24JAAACCQCQAwEFDnBheW1lbnRBbW91bnRzCQCQAwEFEXJlZmVycmVyQWRkcmVzc2VzBAVjaGVjawMFDmFyZ3NDb21wYXJpc29uBgkBCHRocm93RXJyAQIfbGlzdHMgaW4gYXJncyBtdXN0IGJlIHNhbWUgc2l6ZQMJAAACBQVjaGVjawUFY2hlY2sDCQAAAgULY3VycmVudEl0ZXIJAJADAQUOcGF5bWVudEFtb3VudHMJAJQKAgUDbmlsBQlyZXNBbW91bnQED3JlZmVycmVyQWRkcmVzcwkAkQMCBRFyZWZlcnJlckFkZHJlc3NlcwULY3VycmVudEl0ZXIEFXVuY2xhaW1lZFRvdGFsQWRkcmVzcwkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEYa2V5VW5jbGFpbWVkVG90YWxBZGRyZXNzAQUPcmVmZXJyZXJBZGRyZXNzAAAEEXJlZmVycmVyVW5jbGFpbWVkCQELdmFsdWVPckVsc2UCCQCfCAEJARRrZXlVbmNsYWltZWRSZWZlcnJlcgIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJlckFkZHJlc3MAAAQMcmV3YXJkc1RvdGFsCQELdmFsdWVPckVsc2UCCQCfCAEJAQ9rZXlSZXdhcmRzVG90YWwBBQtwcm9ncmFtTmFtZQAABBhuZXdVbmNsYWltZWRUb3RhbEFkZHJlc3MJAGQCBRV1bmNsYWltZWRUb3RhbEFkZHJlc3MJAJEDAgUOcGF5bWVudEFtb3VudHMFC2N1cnJlbnRJdGVyBBRuZXdSZWZlcnJlclVuY2xhaW1lZAkAZAIFEXJlZmVycmVyVW5jbGFpbWVkCQCRAwIFDnBheW1lbnRBbW91bnRzBQtjdXJyZW50SXRlcgQMbmV3UmVzQW1vdW50CQBkAgUJcmVzQW1vdW50CQCRAwIFDnBheW1lbnRBbW91bnRzBQtjdXJyZW50SXRlcgQDaW52CQD8BwQFBHRoaXMCH2luY1VuY2xhaW1lZFdpdGhQYXltZW50SW50ZXJuYWwJAMwIAgUOcGF5bWVudEFtb3VudHMJAMwIAgULcHJvZ3JhbU5hbWUJAMwIAgURcmVmZXJyZXJBZGRyZXNzZXMJAMwIAgkAZAIFC2N1cnJlbnRJdGVyAAEJAMwIAgUMbmV3UmVzQW1vdW50BQNuaWwFA25pbAMJAAACBQNpbnYFA2ludgQadXBkYXRlZEFsbFJlZmVycmVyUHJvZ3JhbXMJARl1cGRhdGVBbGxSZWZlcnJhbFByb2dyYW1zAgUPcmVmZXJyZXJBZGRyZXNzBQtwcm9ncmFtTmFtZQkAlAoCCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIJARhrZXlVbmNsYWltZWRUb3RhbEFkZHJlc3MBBQ9yZWZlcnJlckFkZHJlc3MFGG5ld1VuY2xhaW1lZFRvdGFsQWRkcmVzcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFGtleVVuY2xhaW1lZFJlZmVycmVyAgULcHJvZ3JhbU5hbWUFD3JlZmVycmVyQWRkcmVzcwUUbmV3UmVmZXJyZXJVbmNsYWltZWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ9rZXlSZXdhcmRzVG90YWwBBQtwcm9ncmFtTmFtZQkAZAIFDHJld2FyZHNUb3RhbAkAkQMCBQ5wYXltZW50QW1vdW50cwULY3VycmVudEl0ZXIFA25pbAUadXBkYXRlZEFsbFJlZmVycmVyUHJvZ3JhbXMFA2ludgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARVjcmVhdGVSZWZlcnJhbFByb2dyYW0EC3Byb2dyYW1OYW1lEHRyZWFzdXJ5Q29udHJhY3QWaW1wbGVtZW50YXRpb25Db250cmFjdA1yZXdhcmRBc3NldElkBAtjaGVja0NhbGxlcgkBC211c3RNYW5hZ2VyAQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIEEGNoZWNrUHJvZ3JhbU5hbWUDCQAAAgkAoAgBCQEOa2V5UHJvZ3JhbU5hbWUBBQtwcm9ncmFtTmFtZQUEdW5pdAYJAQh0aHJvd0VycgECG3Byb2dyYW0gbmFtZSBhbHJlYWR5IGV4aXN0cwMJAAACBRBjaGVja1Byb2dyYW1OYW1lBRBjaGVja1Byb2dyYW1OYW1lBBJwcm9ncmFtTmFtZUlzVmFsaWQDCQEBIQEJAQhjb250YWlucwIFC3Byb2dyYW1OYW1lBQlzZXBhcmF0b3IJAQEhAQkBCGNvbnRhaW5zAgULcHJvZ3JhbU5hbWUCASAHBBJjaGVja1Byb2dyYW1FeGlzdHMDBRJwcm9ncmFtTmFtZUlzVmFsaWQGCQEIdGhyb3dFcnIBAhRpbnZhbGlkIHByb2dyYW0gbmFtZQMJAAACBRJjaGVja1Byb2dyYW1FeGlzdHMFEmNoZWNrUHJvZ3JhbUV4aXN0cwQQY2hlY2tSZXdhcmRBc3NldAMJAQIhPQIJAOwHAQkA2QQBBQ1yZXdhcmRBc3NldElkBQR1bml0BgkBCHRocm93RXJyAQIXaW52YWxpZCByZXdhcmQgYXNzZXQgaWQDCQAAAgUQY2hlY2tSZXdhcmRBc3NldAUQY2hlY2tSZXdhcmRBc3NldAkAlAoCCQDMCAIJAQxCb29sZWFuRW50cnkCCQEOa2V5UHJvZ3JhbU5hbWUBBQtwcm9ncmFtTmFtZQYJAMwIAgkBC1N0cmluZ0VudHJ5AgkBE2tleVRyZWFzdXJ5Q29udHJhY3QBBQtwcm9ncmFtTmFtZQUQdHJlYXN1cnlDb250cmFjdAkAzAgCCQELU3RyaW5nRW50cnkCCQEZa2V5SW1wbGVtZW50YXRpb25Db250cmFjdAEFC3Byb2dyYW1OYW1lBRZpbXBsZW1lbnRhdGlvbkNvbnRyYWN0CQDMCAIJAQtTdHJpbmdFbnRyeQIJARBrZXlSZXdhcmRBc3NldElkAQULcHJvZ3JhbU5hbWUFDXJld2FyZEFzc2V0SWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ9rZXlSZXdhcmRzVG90YWwBBQtwcm9ncmFtTmFtZQAABQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKY3JlYXRlUGFpcgQLcHJvZ3JhbU5hbWUPcmVmZXJyZXJBZGRyZXNzD3JlZmVycmFsQWRkcmVzcwlzaWduYXR1cmUEEmNoZWNrUHJvZ3JhbUV4aXN0cwMJAQt2YWx1ZU9yRWxzZQIJAKAIAQkBDmtleVByb2dyYW1OYW1lAQULcHJvZ3JhbU5hbWUHBgkBCHRocm93RXJyAQIWcHJvZ3JhbSBkb2VzIG5vdCBleGlzdAMJAAACBRJjaGVja1Byb2dyYW1FeGlzdHMFEmNoZWNrUHJvZ3JhbUV4aXN0cwQgcGFpclJlZmVycmVyVG9SZWZlcnJhbEV4aXN0Q2hlY2sDCQAAAgkAoAgBCQEba2V5RXhpc3RzUmVmZXJyZXJUb1JlZmVycmFsAwULcHJvZ3JhbU5hbWUFD3JlZmVycmVyQWRkcmVzcwUPcmVmZXJyYWxBZGRyZXNzBQR1bml0BgkBCHRocm93RXJyAQITcGFpciBhbHJlYWR5IGV4aXN0cwMJAAACBSBwYWlyUmVmZXJyZXJUb1JlZmVycmFsRXhpc3RDaGVjawUgcGFpclJlZmVycmVyVG9SZWZlcnJhbEV4aXN0Q2hlY2sECW5vUmVmU2VsZgMJAQIhPQIFD3JlZmVycmVyQWRkcmVzcwUPcmVmZXJyYWxBZGRyZXNzBgkBCHRocm93RXJyAQIUY2Fubm90IHJlZmVyIHRvIHNlbGYDCQAAAgUJbm9SZWZTZWxmBQlub1JlZlNlbGYEBHBhaXIJAJsDAQkAuQkCCQDMCAIFC3Byb2dyYW1OYW1lCQDMCAIFD3JlZmVycmVyQWRkcmVzcwkAzAgCBQ9yZWZlcnJhbEFkZHJlc3MFA25pbAIBOgQQYmFja2VuZFB1YmxpY0tleQkA2QQBCQEFdmFsdWUBCQCiCAEFE2tleUJhY2tlbmRQdWJsaWNLZXkEEXZhbGlkYXRlU2lnbmF0dXJlAwkA9AMDBQRwYWlyBQlzaWduYXR1cmUFEGJhY2tlbmRQdWJsaWNLZXkGCQEIdGhyb3dFcnIBAg1iYWQgc2lnbmF0dXJlAwkAAAIFEXZhbGlkYXRlU2lnbmF0dXJlBRF2YWxpZGF0ZVNpZ25hdHVyZQQSdG90YWxSZWZlcnJhbENvdW50CQELdmFsdWVPckVsc2UCCQCfCAEJARVrZXlUb3RhbFJlZmVycmFsQ291bnQCBQtwcm9ncmFtTmFtZQUPcmVmZXJyZXJBZGRyZXNzAAAEFW5ld1RvdGFsUmVmZXJyYWxDb3VudAkAZAIFEnRvdGFsUmVmZXJyYWxDb3VudAABBBp1cGRhdGVkQWxsUmVmZXJyZXJQcm9ncmFtcwkBGXVwZGF0ZUFsbFJlZmVycmFsUHJvZ3JhbXMCBQ9yZWZlcnJlckFkZHJlc3MFC3Byb2dyYW1OYW1lBBp1cGRhdGVkQWxsUmVmZXJyYWxQcm9ncmFtcwkBGXVwZGF0ZUFsbFJlZmVycmFsUHJvZ3JhbXMCBQ9yZWZlcnJhbEFkZHJlc3MFC3Byb2dyYW1OYW1lCQCUCgIJAM4IAgkAzggCCQDMCAIJAQxCb29sZWFuRW50cnkCCQEba2V5RXhpc3RzUmVmZXJyZXJUb1JlZmVycmFsAwULcHJvZ3JhbU5hbWUFD3JlZmVycmVyQWRkcmVzcwUPcmVmZXJyYWxBZGRyZXNzBgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFWtleVRvdGFsUmVmZXJyYWxDb3VudAIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJlckFkZHJlc3MFFW5ld1RvdGFsUmVmZXJyYWxDb3VudAkAzAgCCQELU3RyaW5nRW50cnkCCQELa2V5UmVmZXJyZXICBQtwcm9ncmFtTmFtZQUPcmVmZXJyYWxBZGRyZXNzBQ9yZWZlcnJlckFkZHJlc3MFA25pbAUadXBkYXRlZEFsbFJlZmVycmVyUHJvZ3JhbXMFGnVwZGF0ZWRBbGxSZWZlcnJhbFByb2dyYW1zBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBFnVwZGF0ZVJlZmVycmFsQWN0aXZpdHkDC3Byb2dyYW1OYW1lD3JlZmVycmFsQWRkcmVzcwhpc0FjdGl2ZQQWaW1wbGVtZW50YXRpb25Db250cmFjdAkBBXZhbHVlAQkAoggBCQEZa2V5SW1wbGVtZW50YXRpb25Db250cmFjdAEFC3Byb2dyYW1OYW1lBBBpc1JlZmVycmFsQWN0aXZlCQECIT0CCQCgCAEJARNrZXlJc1JlZmVycmFsQWN0aXZlAgULcHJvZ3JhbU5hbWUFD3JlZmVycmFsQWRkcmVzcwUEdW5pdAQPcmVmZXJyZXJBZGRyZXNzCQEFdmFsdWUBCQCiCAEJAQtrZXlSZWZlcnJlcgIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJhbEFkZHJlc3MEC2NoZWNrQ2FsbGVyAwkAAAIJAKUIAQgFAWkGY2FsbGVyBRZpbXBsZW1lbnRhdGlvbkNvbnRyYWN0BgkBCHRocm93RXJyAQIRcGVybWlzc2lvbiBkZW5pZWQDCQAAAgULY2hlY2tDYWxsZXIFC2NoZWNrQ2FsbGVyBAZ1cGRhdGUDCQAAAgUQaXNSZWZlcnJhbEFjdGl2ZQUIaXNBY3RpdmUJAJQKAgUDbmlsBQR1bml0BAZ1cGRhdGUDCQAAAgUIaXNBY3RpdmUGBBZuZXdBY3RpdmVSZWZlcnJhbENvdW50CQBkAgkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEWa2V5QWN0aXZlUmVmZXJyYWxDb3VudAIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJlckFkZHJlc3MAAAABCQCUCgIJAMwIAgkBDEJvb2xlYW5FbnRyeQIJARNrZXlJc1JlZmVycmFsQWN0aXZlAgULcHJvZ3JhbU5hbWUFD3JlZmVycmFsQWRkcmVzcwYJAMwIAgkBDEludGVnZXJFbnRyeQIJARZrZXlBY3RpdmVSZWZlcnJhbENvdW50AgULcHJvZ3JhbU5hbWUFD3JlZmVycmVyQWRkcmVzcwUWbmV3QWN0aXZlUmVmZXJyYWxDb3VudAUDbmlsBQR1bml0BBZuZXdBY3RpdmVSZWZlcnJhbENvdW50CQBlAgkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEWa2V5QWN0aXZlUmVmZXJyYWxDb3VudAIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJlckFkZHJlc3MAAAABCQCUCgIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBE2tleUlzUmVmZXJyYWxBY3RpdmUCBQtwcm9ncmFtTmFtZQUPcmVmZXJyYWxBZGRyZXNzCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEWa2V5QWN0aXZlUmVmZXJyYWxDb3VudAIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJlckFkZHJlc3MFFm5ld0FjdGl2ZVJlZmVycmFsQ291bnQFA25pbAUEdW5pdAUGdXBkYXRlBQZ1cGRhdGUJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEMaW5jVW5jbGFpbWVkBAtwcm9ncmFtTmFtZQ9yZWZlcnJhbEFkZHJlc3MOcmVmZXJyZXJSZXdhcmQOcmVmZXJyYWxSZXdhcmQEFmltcGxlbWVudGF0aW9uQ29udHJhY3QJAQV2YWx1ZQEJAKIIAQkBGWtleUltcGxlbWVudGF0aW9uQ29udHJhY3QBBQtwcm9ncmFtTmFtZQQPcmVmZXJyZXJBZGRyZXNzCQEFdmFsdWUBCQCiCAEJAQtrZXlSZWZlcnJlcgIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJhbEFkZHJlc3MEC2NoZWNrQ2FsbGVyAwkAAAIJAKUIAQgFAWkGY2FsbGVyBRZpbXBsZW1lbnRhdGlvbkNvbnRyYWN0BgkBCHRocm93RXJyAQIRcGVybWlzc2lvbiBkZW5pZWQDCQAAAgULY2hlY2tDYWxsZXIFC2NoZWNrQ2FsbGVyBAxjaGVja1Byb2dyYW0DCQAAAgULcHJvZ3JhbU5hbWUCBnd4bG9jawYJAQh0aHJvd0VycgECD2ludmFsaWQgcHJvZ3JhbQMJAAACBQxjaGVja1Byb2dyYW0FDGNoZWNrUHJvZ3JhbQQWY2hlY2tSZWZlcnJlckluUHJvZ3JhbQMJAQhjb250YWlucwIJAQt2YWx1ZU9yRWxzZQIJAKIIAQkBFmtleUFsbFJlZmVycmFsUHJvZ3JhbXMBBQ9yZWZlcnJlckFkZHJlc3MCAAULcHJvZ3JhbU5hbWUGCQEIdGhyb3dFcnIBCQCsAgIJAKwCAgkArAICAhhyZWZlcnJlciBub3QgaW4gcHJvZ3JhbT0FC3Byb2dyYW1OYW1lAgYgYWRkcj0FD3JlZmVycmVyQWRkcmVzcwMJAAACBRZjaGVja1JlZmVycmVySW5Qcm9ncmFtBRZjaGVja1JlZmVycmVySW5Qcm9ncmFtBBZjaGVja1JlZmVycmFsSW5Qcm9ncmFtAwkBCGNvbnRhaW5zAgkBC3ZhbHVlT3JFbHNlAgkAoggBCQEWa2V5QWxsUmVmZXJyYWxQcm9ncmFtcwEFD3JlZmVycmFsQWRkcmVzcwIABQtwcm9ncmFtTmFtZQYJAQh0aHJvd0VycgEJAKwCAgkArAICCQCsAgICGHJlZmVycmFsIG5vdCBpbiBwcm9ncmFtPQULcHJvZ3JhbU5hbWUCBiBhZGRyPQUPcmVmZXJyYWxBZGRyZXNzAwkAAAIFFmNoZWNrUmVmZXJyYWxJblByb2dyYW0FFmNoZWNrUmVmZXJyYWxJblByb2dyYW0EFnVuY2xhaW1lZFRvdGFsUmVmZXJyZXIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBGGtleVVuY2xhaW1lZFRvdGFsQWRkcmVzcwEFD3JlZmVycmVyQWRkcmVzcwAABBFyZWZlcnJlclVuY2xhaW1lZAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEUa2V5VW5jbGFpbWVkUmVmZXJyZXICBQtwcm9ncmFtTmFtZQUPcmVmZXJyZXJBZGRyZXNzAAAEFnVuY2xhaW1lZFRvdGFsUmVmZXJyYWwJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBGGtleVVuY2xhaW1lZFRvdGFsQWRkcmVzcwEFD3JlZmVycmFsQWRkcmVzcwAABBFyZWZlcnJhbFVuY2xhaW1lZAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEUa2V5VW5jbGFpbWVkUmVmZXJyYWwCBQtwcm9ncmFtTmFtZQUPcmVmZXJyYWxBZGRyZXNzAAAEDHJld2FyZHNUb3RhbAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEPa2V5UmV3YXJkc1RvdGFsAQULcHJvZ3JhbU5hbWUAAAQZbmV3VW5jbGFpbWVkVG90YWxSZWZlcnJlcgkAZAIFFnVuY2xhaW1lZFRvdGFsUmVmZXJyZXIFDnJlZmVycmVyUmV3YXJkBBRuZXdSZWZlcnJlclVuY2xhaW1lZAkAZAIFEXJlZmVycmVyVW5jbGFpbWVkBQ5yZWZlcnJlclJld2FyZAQZbmV3VW5jbGFpbWVkVG90YWxSZWZlcnJhbAkAZAIFFnVuY2xhaW1lZFRvdGFsUmVmZXJyYWwFDnJlZmVycmFsUmV3YXJkBBRuZXdSZWZlcnJhbFVuY2xhaW1lZAkAZAIFEXJlZmVycmFsVW5jbGFpbWVkBQ5yZWZlcnJhbFJld2FyZAkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEYa2V5VW5jbGFpbWVkVG90YWxBZGRyZXNzAQUPcmVmZXJyZXJBZGRyZXNzBRluZXdVbmNsYWltZWRUb3RhbFJlZmVycmVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEYa2V5VW5jbGFpbWVkVG90YWxBZGRyZXNzAQUPcmVmZXJyYWxBZGRyZXNzBRluZXdVbmNsYWltZWRUb3RhbFJlZmVycmFsCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEUa2V5VW5jbGFpbWVkUmVmZXJyZXICBQtwcm9ncmFtTmFtZQUPcmVmZXJyZXJBZGRyZXNzBRRuZXdSZWZlcnJlclVuY2xhaW1lZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFGtleVVuY2xhaW1lZFJlZmVycmFsAgULcHJvZ3JhbU5hbWUFD3JlZmVycmFsQWRkcmVzcwUUbmV3UmVmZXJyYWxVbmNsYWltZWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ9rZXlSZXdhcmRzVG90YWwBBQtwcm9ncmFtTmFtZQkAZAIJAGQCBQxyZXdhcmRzVG90YWwFDnJlZmVycmVyUmV3YXJkBQ5yZWZlcnJhbFJld2FyZAUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBF2luY1VuY2xhaW1lZFdpdGhQYXltZW50Agtwcm9ncmFtTmFtZRFyZWZlcnJlckFkZHJlc3NlcwQMY2hlY2tQcm9ncmFtAwkAAAIFC3Byb2dyYW1OYW1lAgl3eFNwb3RGZWUGCQEIdGhyb3dFcnIBAg9pbnZhbGlkIHByb2dyYW0DCQAAAgUMY2hlY2tQcm9ncmFtBQxjaGVja1Byb2dyYW0KAQNtYXACBWFjY3VtBG5leHQEDGFzc2V0SWRDaGVjawkAAAIJANgEAQkBBXZhbHVlAQgFBG5leHQHYXNzZXRJZAkBBXZhbHVlAQkAoggBCQEQa2V5UmV3YXJkQXNzZXRJZAEFC3Byb2dyYW1OYW1lBAthbW91bnRDaGVjawMFDGFzc2V0SWRDaGVjawYJAQh0aHJvd0VycgECEGludmFsaWQgYXNzZXQgaWQDCQAAAgULYW1vdW50Q2hlY2sFC2Ftb3VudENoZWNrCQDNCAIFBWFjY3VtCAUEbmV4dAZhbW91bnQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4ECHBheW1lbnRzCgACJGwIBQFpCHBheW1lbnRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQNtYXACBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoECXJlc0Ftb3VudAoAAUAJAPwHBAUEdGhpcwIfaW5jVW5jbGFpbWVkV2l0aFBheW1lbnRJbnRlcm5hbAkAzAgCBQhwYXltZW50cwkAzAgCBQtwcm9ncmFtTmFtZQkAzAgCBRFyZWZlcnJlckFkZHJlc3NlcwkAzAgCAAAJAMwIAgAABQNuaWwFA25pbAMJAAECBQFAAgNJbnQFAUAJAAIBCQCsAgIJAAMBBQFAAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQDCQAAAgUJcmVzQW1vdW50BQlyZXNBbW91bnQEEHRyZWFzdXJ5Q29udHJhY3QJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEJAKIIAQkBE2tleVRyZWFzdXJ5Q29udHJhY3QBBQtwcm9ncmFtTmFtZQQNcmV3YXJkQXNzZXRJZAkA2QQBCQEFdmFsdWUBCQCiCAEJARBrZXlSZXdhcmRBc3NldElkAQULcHJvZ3JhbU5hbWUJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUQdHJlYXN1cnlDb250cmFjdAUJcmVzQW1vdW50BQ1yZXdhcmRBc3NldElkBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEFY2xhaW0BC3Byb2dyYW1OYW1lBBJjaGVja1Byb2dyYW1FeGlzdHMDCQELdmFsdWVPckVsc2UCCQCgCAEJAQ5rZXlQcm9ncmFtTmFtZQEFC3Byb2dyYW1OYW1lBwYJAQh0aHJvd0VycgECFnByb2dyYW0gZG9lcyBub3QgZXhpc3QDCQAAAgUSY2hlY2tQcm9ncmFtRXhpc3RzBRJjaGVja1Byb2dyYW1FeGlzdHMEGGlzSW1wbGVtZW50YXRpb25Db250cmFjdAkAAAIJAKUIAQgFAWkGY2FsbGVyCQEFdmFsdWUBCQCiCAEJARlrZXlJbXBsZW1lbnRhdGlvbkNvbnRyYWN0AQULcHJvZ3JhbU5hbWUEDmNsYWltZXJBZGRyZXNzAwUYaXNJbXBsZW1lbnRhdGlvbkNvbnRyYWN0CQClCAEIBQFpDG9yaWdpbkNhbGxlcgkApQgBCAUBaQZjYWxsZXIEDWNsYWltSW50ZXJuYWwJAPwHBAUEdGhpcwINY2xhaW1JbnRlcm5hbAkAzAgCBQtwcm9ncmFtTmFtZQkAzAgCBQ5jbGFpbWVyQWRkcmVzcwkAzAgCBRhpc0ltcGxlbWVudGF0aW9uQ29udHJhY3QFA25pbAUDbmlsAwkAAAIFDWNsYWltSW50ZXJuYWwFDWNsYWltSW50ZXJuYWwJAJQKAgUDbmlsBQ1jbGFpbUludGVybmFsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCWNsYWltQnVsawAEDWNhbGxlckFkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBBFjYWxsZXJQcm9ncmFtc1N0cgkAoggBCQEWa2V5QWxsUmVmZXJyYWxQcm9ncmFtcwEJAKUIAQgFAWkGY2FsbGVyBA5wcm9ncmFtc0V4aXN0cwMJAQlpc0RlZmluZWQBBRFjYWxsZXJQcm9ncmFtc1N0cgYJAQh0aHJvd0VycgECFG5vIHJlZmVycmFsIHByb2dyYW1zAwkAAAIFDnByb2dyYW1zRXhpc3RzBQ5wcm9ncmFtc0V4aXN0cwQOY2FsbGVyUHJvZ3JhbXMJALUJAgkBBXZhbHVlAQURY2FsbGVyUHJvZ3JhbXNTdHICAl9fBAlidWxrQ2xhaW0JAPwHBAUEdGhpcwIRY2xhaW1CdWxrSW50ZXJuYWwJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ5jYWxsZXJQcm9ncmFtcwkAzAgCAAAFA25pbAUDbmlsAwkAAAIFCWJ1bGtDbGFpbQUJYnVsa0NsYWltCQCUCgIFA25pbAUJYnVsa0NsYWltCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDWNsYWltUkVBRE9OTFkCC3Byb2dyYW1OYW1lC3VzZXJBZGRyZXNzBA5jbGFpbWVyQ2xhaW1lZAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQESa2V5Q2xhaW1lZFJlZmVycmVyAgULcHJvZ3JhbU5hbWUFC3VzZXJBZGRyZXNzAAAEEGNsYWltZXJVbmNsYWltZWQJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBFGtleVVuY2xhaW1lZFJlZmVycmVyAgULcHJvZ3JhbU5hbWUFC3VzZXJBZGRyZXNzAAAJAJQKAgUDbmlsCQDMCAIFEGNsYWltZXJVbmNsYWltZWQJAMwIAgUOY2xhaW1lckNsYWltZWQFA25pbAFpARFjbGFpbUJ1bGtSRUFET05MWQEHY2xhaW1lcgQTY2xhaW1lZFRvdGFsQWRkcmVzcwkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEWa2V5Q2xhaW1lZFRvdGFsQWRkcmVzcwEFB2NsYWltZXIAAAQVdW5jbGFpbWVkVG90YWxBZGRyZXNzCQELdmFsdWVPckVsc2UCCQCfCAEJARhrZXlVbmNsYWltZWRUb3RhbEFkZHJlc3MBBQdjbGFpbWVyAAAJAJQKAgUDbmlsCQDMCAIFFXVuY2xhaW1lZFRvdGFsQWRkcmVzcwkAzAgCBRNjbGFpbWVkVG90YWxBZGRyZXNzBQNuaWwBaQEMc2V0VG90YWxLZXlzAgtwcm9ncmFtTmFtZQdhZGRyZXNzBA9jbGFpbWVkUmVmZXJyZXIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBEmtleUNsYWltZWRSZWZlcnJlcgIFC3Byb2dyYW1OYW1lBQdhZGRyZXNzAAAED2NsYWltZWRSZWZlcnJhbAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQESa2V5Q2xhaW1lZFJlZmVycmFsAgULcHJvZ3JhbU5hbWUFB2FkZHJlc3MAAAQRdW5jbGFpbWVkUmVmZXJyZXIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBFGtleVVuY2xhaW1lZFJlZmVycmVyAgULcHJvZ3JhbU5hbWUFB2FkZHJlc3MAAAQRdW5jbGFpbWVkUmVmZXJyYWwJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBFGtleVVuY2xhaW1lZFJlZmVycmFsAgULcHJvZ3JhbU5hbWUFB2FkZHJlc3MAAAQTY2xhaW1lZFRvdGFsQWRkcmVzcwkAZAIFD2NsYWltZWRSZWZlcnJlcgUPY2xhaW1lZFJlZmVycmFsBBV1bmNsYWltZWRUb3RhbEFkZHJlc3MJAGQCBRF1bmNsYWltZWRSZWZlcnJlcgURdW5jbGFpbWVkUmVmZXJyYWwJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFmtleUNsYWltZWRUb3RhbEFkZHJlc3MBBQdhZGRyZXNzBRNjbGFpbWVkVG90YWxBZGRyZXNzCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEYa2V5VW5jbGFpbWVkVG90YWxBZGRyZXNzAQUHYWRkcmVzcwUVdW5jbGFpbWVkVG90YWxBZGRyZXNzBQNuaWwFBHVuaXQBAnR4AQZ2ZXJpZnkABA90YXJnZXRQdWJsaWNLZXkEByRtYXRjaDAJARZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAJwawUHJG1hdGNoMAUCcGsDCQABAgUHJG1hdGNoMAIEVW5pdAgFAnR4D3NlbmRlclB1YmxpY0tleQkAAgECC01hdGNoIGVycm9yCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQ90YXJnZXRQdWJsaWNLZXlOLAaL", "height": 2562879, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3u9veMhkm3g1N8gKqfnrNCnQMGoF4EMZC5UwtiPWxDoG Next: none Diff:
OldNewDifferences
6565 func A () = "%s__managerPublicKey"
6666
6767
68-func B () = "%s__pendingManagerPublicKey"
68+func B () = "%s__managerVaultAddress"
6969
7070
71-func C (e,D,E,F) = makeString(["%s%s%s%s%s", "history", F, e, D, E], a)
71+func C () = addressFromStringValue(getStringValue(B()))
7272
7373
74-func G (H) = makeString(["%d%d%d", toString(lastBlock.height), toString(lastBlock.timestamp), toString(H)], a)
74+func D (e,E,F,G) = makeString(["%s%s%s%s%s", "history", G, e, E, F], a)
7575
7676
77-func I (J) = throw(makeString(["referral.ride:", J], " "))
77+func H (I) = makeString(["%d%d%d", toString(lastBlock.height), toString(lastBlock.timestamp), toString(I)], a)
7878
7979
80-func K () = {
81- let L = getString(A())
82- if ($isInstanceOf(L, "String"))
80+func J (K) = throw(makeString(["referral.ride:", K], " "))
81+
82+
83+func L () = {
84+ let M = C()
85+ let N = getString(M, A())
86+ if ($isInstanceOf(N, "String"))
8387 then {
84- let M = L
85- fromBase58String(M)
88+ let O = N
89+ fromBase58String(O)
8690 }
87- else if ($isInstanceOf(L, "Unit"))
91+ else if ($isInstanceOf(N, "Unit"))
8892 then unit
8993 else throw("Match error")
9094 }
9195
9296
93-func N () = {
94- let L = getString(B())
95- if ($isInstanceOf(L, "String"))
97+func P (Q) = {
98+ let R = J("permission denied")
99+ let N = L()
100+ if ($isInstanceOf(N, "ByteVector"))
96101 then {
97- let M = L
98- fromBase58String(M)
102+ let S = N
103+ if ((Q.callerPublicKey == S))
104+ then true
105+ else R
99106 }
100- else if ($isInstanceOf(L, "Unit"))
101- then unit
107+ else if ($isInstanceOf(N, "Unit"))
108+ then if ((Q.caller == this))
109+ then true
110+ else R
102111 else throw("Match error")
103112 }
104113
105114
106-func O (P) = {
107- let Q = I("permission denied")
108- let L = K()
109- if ($isInstanceOf(L, "ByteVector"))
110- then {
111- let R = L
112- if ((P.callerPublicKey == R))
113- then true
114- else Q
115+func T (s,e) = {
116+ let U = valueOrElse(getString(z(s)), "")
117+ let V = if (contains(U, e))
118+ then nil
119+ else {
120+ let W = if ((U == ""))
121+ then e
122+ else makeString([U, e], a)
123+[StringEntry(z(s), W)]
115124 }
116- else if ($isInstanceOf(L, "Unit"))
117- then if ((P.caller == this))
118- then true
119- else Q
120- else throw("Match error")
125+ V
121126 }
122127
123128
124-func S (s,e) = {
125- let T = valueOrElse(getString(z(s)), "")
126- let U = if (contains(T, e))
127- then nil
128- else {
129- let V = if ((T == ""))
130- then e
131- else makeString([T, e], a)
132-[StringEntry(z(s), V)]
133- }
134- U
135- }
136-
137-
138-@Callable(P)
139-func claimInternal (e,i,W) = {
140- let X = if (valueOrElse(getBoolean(n(e)), false))
129+@Callable(Q)
130+func claimInternal (e,i,X) = {
131+ let Y = if (valueOrElse(getBoolean(n(e)), false))
141132 then true
142- else I("program does not exist")
143- if ((X == X))
133+ else J("program does not exist")
134+ if ((Y == Y))
144135 then {
145- let Y = if (W)
146- then $Tuple5(valueOrElse(getInteger(j(e, i)), 0), valueOrElse(getInteger(l(e, i)), 0), j(e, i), l(e, i), C(e, i, toBase58String(P.transactionId), "claimReferral"))
147- else $Tuple5(valueOrElse(getInteger(h(e, i)), 0), valueOrElse(getInteger(k(e, i)), 0), h(e, i), k(e, i), C(e, i, toBase58String(P.transactionId), "claimReferrer"))
148- let Z = Y._1
149- let aa = Y._2
150- let ab = Y._3
151- let ac = Y._4
152- let ad = Y._5
153- let ae = valueOrElse(getInteger(u(e)), 0)
154- let af = value(addressFromString(value(getString(x(e)))))
155- let ag = fromBase58String(value(getString(w(e))))
156- let ah = valueOrElse(getInteger(r(i)), 0)
157- let ai = valueOrElse(getInteger(t(i)), 0)
158- if (if (W)
159- then (aa == 0)
136+ let Z = if (X)
137+ then $Tuple5(valueOrElse(getInteger(j(e, i)), 0), valueOrElse(getInteger(l(e, i)), 0), j(e, i), l(e, i), D(e, i, toBase58String(Q.transactionId), "claimReferral"))
138+ else $Tuple5(valueOrElse(getInteger(h(e, i)), 0), valueOrElse(getInteger(k(e, i)), 0), h(e, i), k(e, i), D(e, i, toBase58String(Q.transactionId), "claimReferrer"))
139+ let aa = Z._1
140+ let ab = Z._2
141+ let ac = Z._3
142+ let ad = Z._4
143+ let ae = Z._5
144+ let af = valueOrElse(getInteger(u(e)), 0)
145+ let ag = value(addressFromString(value(getString(x(e)))))
146+ let ah = fromBase58String(value(getString(w(e))))
147+ let ai = valueOrElse(getInteger(r(i)), 0)
148+ let aj = valueOrElse(getInteger(t(i)), 0)
149+ if (if (X)
150+ then (ab == 0)
160151 else false)
161152 then $Tuple2(nil, 0)
162153 else {
163- let aj = if ((aa > 0))
154+ let ak = if ((ab > 0))
164155 then true
165- else I("nothing to claim")
166- if ((aj == aj))
156+ else J("nothing to claim")
157+ if ((ak == ak))
167158 then {
168- let ak = (Z + aa)
169- let al = (ae + aa)
170- let am = (ah + aa)
171- let an = (ai - aa)
172- let ao = value(assetBalance(this, ag))
173- if ((ao == ao))
159+ let al = (aa + ab)
160+ let am = (af + ab)
161+ let an = (ai + ab)
162+ let ao = (aj - ab)
163+ let ap = value(assetBalance(this, ah))
164+ if ((ap == ap))
174165 then {
175- let ap = invoke(af, "withdrawReferralReward", [aa], nil)
176- if ((ap == ap))
166+ let aq = invoke(ag, "withdrawReferralReward", [ab], nil)
167+ if ((aq == aq))
177168 then {
178- let aq = value(assetBalance(this, ag))
179- if ((aq == aq))
169+ let ar = value(assetBalance(this, ah))
170+ if ((ar == ar))
180171 then {
181- let ar = (aq - ao)
182- if ((ar == ar))
172+ let as = (ar - ap)
173+ if ((as == as))
183174 then {
184- let as = if ((ar == aa))
175+ let at = if ((as == ab))
185176 then true
186- else I("insufficient balance on referral contract")
187- if ((as == as))
188- then $Tuple2([IntegerEntry(ab, ak), IntegerEntry(ac, 0), IntegerEntry(u(e), al), IntegerEntry(r(i), am), IntegerEntry(t(i), an), ScriptTransfer(addressFromStringValue(i), aa, ag), StringEntry(ad, G(aa))], aa)
177+ else J("insufficient balance on referral contract")
178+ if ((at == at))
179+ then $Tuple2([IntegerEntry(ac, al), IntegerEntry(ad, 0), IntegerEntry(u(e), am), IntegerEntry(r(i), an), IntegerEntry(t(i), ao), ScriptTransfer(addressFromStringValue(i), ab, ah), StringEntry(ae, H(ab))], ab)
189180 else throw("Strict value is not equal to itself.")
190181 }
191182 else throw("Strict value is not equal to itself.")
204195
205196
206197
207-@Callable(P)
208-func claimBulkInternal (at,au,av) = {
209- let aw = if ((P.caller == this))
198+@Callable(Q)
199+func claimBulkInternal (au,av,aw) = {
200+ let ax = if ((Q.caller == this))
210201 then true
211- else I("permission denied")
212- if ((aw == aw))
213- then if ((av == size(au)))
202+ else J("permission denied")
203+ if ((ax == ax))
204+ then if ((aw == size(av)))
214205 then nil
215206 else {
216- let e = au[av]
217- let ax = valueOrElse(getInteger(k(e, at)), 0)
218- let ad = C(e, at, toBase58String(P.transactionId), "claimBulk")
219- let ay = invoke(this, "claimBulkInternal", [at, au, (av + 1)], nil)
220- if ((ay == ay))
207+ let e = av[aw]
208+ let ay = valueOrElse(getInteger(k(e, au)), 0)
209+ let ae = D(e, au, toBase58String(Q.transactionId), "claimBulk")
210+ let az = invoke(this, "claimBulkInternal", [au, av, (aw + 1)], nil)
211+ if ((az == az))
221212 then {
222- let az = valueOrElse(getInteger(k(e, at)), 0)
223- let aA = if ((az > 0))
224- then invoke(this, "claimInternal", [e, at, false], nil)
213+ let aA = valueOrElse(getInteger(k(e, au)), 0)
214+ let aB = if ((aA > 0))
215+ then invoke(this, "claimInternal", [e, au, false], nil)
225216 else unit
226- if ((aA == aA))
227- then $Tuple2(nil, [ay, aA])
217+ if ((aB == aB))
218+ then $Tuple2(nil, [az, aB])
228219 else throw("Strict value is not equal to itself.")
229220 }
230221 else throw("Strict value is not equal to itself.")
234225
235226
236227
237-@Callable(P)
238-func incUnclaimedWithPaymentInternal (aB,e,aC,av,aD) = {
239- let aw = if ((P.caller == this))
228+@Callable(Q)
229+func incUnclaimedWithPaymentInternal (aC,e,aD,aw,aE) = {
230+ let ax = if ((Q.caller == this))
240231 then true
241- else I("permission denied")
242- if ((aw == aw))
232+ else J("permission denied")
233+ if ((ax == ax))
243234 then {
244- let aE = (size(aB) == size(aC))
245- let aF = if (aE)
235+ let aF = (size(aC) == size(aD))
236+ let aG = if (aF)
246237 then true
247- else I("lists in args must be same size")
248- if ((aF == aF))
249- then if ((av == size(aB)))
250- then $Tuple2(nil, aD)
238+ else J("lists in args must be same size")
239+ if ((aG == aG))
240+ then if ((aw == size(aC)))
241+ then $Tuple2(nil, aE)
251242 else {
252- let f = aC[av]
253- let ai = valueOrElse(getInteger(t(f)), 0)
254- let aG = valueOrElse(getInteger(k(e, f)), 0)
255- let aH = valueOrElse(getInteger(v(e)), 0)
256- let an = (ai + aB[av])
257- let aI = (aG + aB[av])
258- let aJ = (aD + aB[av])
259- let aK = invoke(this, "incUnclaimedWithPaymentInternal", [aB, e, aC, (av + 1), aJ], nil)
260- if ((aK == aK))
243+ let f = aD[aw]
244+ let aj = valueOrElse(getInteger(t(f)), 0)
245+ let aH = valueOrElse(getInteger(k(e, f)), 0)
246+ let aI = valueOrElse(getInteger(v(e)), 0)
247+ let ao = (aj + aC[aw])
248+ let aJ = (aH + aC[aw])
249+ let aK = (aE + aC[aw])
250+ let aL = invoke(this, "incUnclaimedWithPaymentInternal", [aC, e, aD, (aw + 1), aK], nil)
251+ if ((aL == aL))
261252 then {
262- let aL = S(f, e)
263- $Tuple2(([IntegerEntry(t(f), an), IntegerEntry(k(e, f), aI), IntegerEntry(v(e), (aH + aB[av]))] ++ aL), aK)
253+ let aM = T(f, e)
254+ $Tuple2(([IntegerEntry(t(f), ao), IntegerEntry(k(e, f), aJ), IntegerEntry(v(e), (aI + aC[aw]))] ++ aM), aL)
264255 }
265256 else throw("Strict value is not equal to itself.")
266257 }
271262
272263
273264
274-@Callable(P)
275-func createReferralProgram (e,af,aM,ag) = {
276- let aw = O(P)
277- if ((aw == aw))
265+@Callable(Q)
266+func createReferralProgram (e,ag,aN,ah) = {
267+ let ax = P(Q)
268+ if ((ax == ax))
278269 then {
279- let aN = if ((getBoolean(n(e)) == unit))
270+ let aO = if ((getBoolean(n(e)) == unit))
280271 then true
281- else I("program name already exists")
282- if ((aN == aN))
272+ else J("program name already exists")
273+ if ((aO == aO))
283274 then {
284- let aO = if (!(contains(e, a)))
275+ let aP = if (!(contains(e, a)))
285276 then !(contains(e, " "))
286277 else false
287- let X = if (aO)
278+ let Y = if (aP)
288279 then true
289- else I("invalid program name")
290- if ((X == X))
280+ else J("invalid program name")
281+ if ((Y == Y))
291282 then {
292- let aP = if ((assetInfo(fromBase58String(ag)) != unit))
283+ let aQ = if ((assetInfo(fromBase58String(ah)) != unit))
293284 then true
294- else I("invalid reward asset id")
295- if ((aP == aP))
296- then $Tuple2([BooleanEntry(n(e), true), StringEntry(x(e), af), StringEntry(y(e), aM), StringEntry(w(e), ag), IntegerEntry(v(e), 0)], unit)
285+ else J("invalid reward asset id")
286+ if ((aQ == aQ))
287+ then $Tuple2([BooleanEntry(n(e), true), StringEntry(x(e), ag), StringEntry(y(e), aN), StringEntry(w(e), ah), IntegerEntry(v(e), 0)], unit)
297288 else throw("Strict value is not equal to itself.")
298289 }
299290 else throw("Strict value is not equal to itself.")
305296
306297
307298
308-@Callable(P)
309-func createPair (e,f,g,aQ) = {
310- let X = if (valueOrElse(getBoolean(n(e)), false))
299+@Callable(Q)
300+func createPair (e,f,g,aR) = {
301+ let Y = if (valueOrElse(getBoolean(n(e)), false))
311302 then true
312- else I("program does not exist")
313- if ((X == X))
303+ else J("program does not exist")
304+ if ((Y == Y))
314305 then {
315- let aR = if ((getBoolean(d(e, f, g)) == unit))
306+ let aS = if ((getBoolean(d(e, f, g)) == unit))
316307 then true
317- else I("pair already exists")
318- if ((aR == aR))
308+ else J("pair already exists")
309+ if ((aS == aS))
319310 then {
320- let aS = if ((f != g))
311+ let aT = if ((f != g))
321312 then true
322- else I("cannot refer to self")
323- if ((aS == aS))
313+ else J("cannot refer to self")
314+ if ((aT == aT))
324315 then {
325- let aT = toBytes(makeString([e, f, g], ":"))
326- let aU = fromBase58String(value(getString(c)))
327- let aV = if (sigVerify(aT, aQ, aU))
316+ let aU = toBytes(makeString([e, f, g], ":"))
317+ let aV = fromBase58String(value(getString(c)))
318+ let aW = if (sigVerify(aU, aR, aV))
328319 then true
329- else I("bad signature")
330- if ((aV == aV))
320+ else J("bad signature")
321+ if ((aW == aW))
331322 then {
332- let aW = valueOrElse(getInteger(o(e, f)), 0)
333- let aX = (aW + 1)
334- let aL = S(f, e)
335- let U = S(g, e)
336- $Tuple2((([BooleanEntry(d(e, f, g), true), IntegerEntry(o(e, f), aX), StringEntry(m(e, g), f)] ++ aL) ++ U), unit)
323+ let aX = valueOrElse(getInteger(o(e, f)), 0)
324+ let aY = (aX + 1)
325+ let aM = T(f, e)
326+ let V = T(g, e)
327+ $Tuple2((([BooleanEntry(d(e, f, g), true), IntegerEntry(o(e, f), aY), StringEntry(m(e, g), f)] ++ aM) ++ V), unit)
337328 }
338329 else throw("Strict value is not equal to itself.")
339330 }
346337
347338
348339
349-@Callable(P)
350-func updateReferralActivity (e,g,aY) = {
351- let aM = value(getString(y(e)))
352- let aZ = (getBoolean(q(e, g)) != unit)
340+@Callable(Q)
341+func updateReferralActivity (e,g,aZ) = {
342+ let aN = value(getString(y(e)))
343+ let ba = (getBoolean(q(e, g)) != unit)
353344 let f = value(getString(m(e, g)))
354- let aw = if ((toString(P.caller) == aM))
345+ let ax = if ((toString(Q.caller) == aN))
355346 then true
356- else I("permission denied")
357- if ((aw == aw))
347+ else J("permission denied")
348+ if ((ax == ax))
358349 then {
359- let ba = if ((aZ == aY))
350+ let bb = if ((ba == aZ))
360351 then $Tuple2(nil, unit)
361352 else {
362- let ba = if ((aY == true))
353+ let bb = if ((aZ == true))
363354 then {
364- let bb = (valueOrElse(getInteger(p(e, f)), 0) + 1)
365- $Tuple2([BooleanEntry(q(e, g), true), IntegerEntry(p(e, f), bb)], unit)
355+ let bc = (valueOrElse(getInteger(p(e, f)), 0) + 1)
356+ $Tuple2([BooleanEntry(q(e, g), true), IntegerEntry(p(e, f), bc)], unit)
366357 }
367358 else {
368- let bb = (valueOrElse(getInteger(p(e, f)), 0) - 1)
369- $Tuple2([DeleteEntry(q(e, g)), IntegerEntry(p(e, f), bb)], unit)
359+ let bc = (valueOrElse(getInteger(p(e, f)), 0) - 1)
360+ $Tuple2([DeleteEntry(q(e, g)), IntegerEntry(p(e, f), bc)], unit)
370361 }
371- ba
362+ bb
372363 }
373- ba
364+ bb
374365 }
375366 else throw("Strict value is not equal to itself.")
376367 }
377368
378369
379370
380-@Callable(P)
381-func incUnclaimed (e,g,bc,bd) = {
382- let aM = value(getString(y(e)))
371+@Callable(Q)
372+func incUnclaimed (e,g,bd,be) = {
373+ let aN = value(getString(y(e)))
383374 let f = value(getString(m(e, g)))
384- let aw = if ((toString(P.caller) == aM))
375+ let ax = if ((toString(Q.caller) == aN))
385376 then true
386- else I("permission denied")
387- if ((aw == aw))
377+ else J("permission denied")
378+ if ((ax == ax))
388379 then {
389- let be = if ((e == "wxlock"))
380+ let bf = if ((e == "wxlock"))
390381 then true
391- else I("invalid program")
392- if ((be == be))
382+ else J("invalid program")
383+ if ((bf == bf))
393384 then {
394- let bf = if (contains(valueOrElse(getString(z(f)), ""), e))
385+ let bg = if (contains(valueOrElse(getString(z(f)), ""), e))
395386 then true
396- else I(((("referrer not in program=" + e) + " addr=") + f))
397- if ((bf == bf))
387+ else J(((("referrer not in program=" + e) + " addr=") + f))
388+ if ((bg == bg))
398389 then {
399- let bg = if (contains(valueOrElse(getString(z(g)), ""), e))
390+ let bh = if (contains(valueOrElse(getString(z(g)), ""), e))
400391 then true
401- else I(((("referral not in program=" + e) + " addr=") + g))
402- if ((bg == bg))
392+ else J(((("referral not in program=" + e) + " addr=") + g))
393+ if ((bh == bh))
403394 then {
404- let bh = valueOrElse(getInteger(t(f)), 0)
405- let aG = valueOrElse(getInteger(k(e, f)), 0)
406- let bi = valueOrElse(getInteger(t(g)), 0)
407- let bj = valueOrElse(getInteger(l(e, g)), 0)
408- let aH = valueOrElse(getInteger(v(e)), 0)
409- let bk = (bh + bc)
410- let aI = (aG + bc)
395+ let bi = valueOrElse(getInteger(t(f)), 0)
396+ let aH = valueOrElse(getInteger(k(e, f)), 0)
397+ let bj = valueOrElse(getInteger(t(g)), 0)
398+ let bk = valueOrElse(getInteger(l(e, g)), 0)
399+ let aI = valueOrElse(getInteger(v(e)), 0)
411400 let bl = (bi + bd)
412- let bm = (bj + bd)
413- $Tuple2([IntegerEntry(t(f), bk), IntegerEntry(t(g), bl), IntegerEntry(k(e, f), aI), IntegerEntry(l(e, g), bm), IntegerEntry(v(e), ((aH + bc) + bd))], unit)
401+ let aJ = (aH + bd)
402+ let bm = (bj + be)
403+ let bn = (bk + be)
404+ $Tuple2([IntegerEntry(t(f), bl), IntegerEntry(t(g), bm), IntegerEntry(k(e, f), aJ), IntegerEntry(l(e, g), bn), IntegerEntry(v(e), ((aI + bd) + be))], unit)
414405 }
415406 else throw("Strict value is not equal to itself.")
416407 }
423414
424415
425416
426-@Callable(P)
427-func incUnclaimedWithPayment (e,aC) = {
428- let be = if ((e == "wxSpotFee"))
417+@Callable(Q)
418+func incUnclaimedWithPayment (e,aD) = {
419+ let bf = if ((e == "wxSpotFee"))
429420 then true
430- else I("invalid program")
431- if ((be == be))
421+ else J("invalid program")
422+ if ((bf == bf))
432423 then {
433- func bn (bo,bp) = {
434- let bq = (toBase58String(value(bp.assetId)) == value(getString(w(e))))
435- let br = if (bq)
424+ func bo (bp,bq) = {
425+ let br = (toBase58String(value(bq.assetId)) == value(getString(w(e))))
426+ let bs = if (br)
436427 then true
437- else I("invalid asset id")
438- if ((br == br))
439- then (bo :+ bp.amount)
428+ else J("invalid asset id")
429+ if ((bs == bs))
430+ then (bp :+ bq.amount)
440431 else throw("Strict value is not equal to itself.")
441432 }
442433
443- let bs = {
444- let bt = P.payments
445- let bu = size(bt)
446- let bv = nil
447- func bw (bx,by) = if ((by >= bu))
448- then bx
449- else bn(bx, bt[by])
434+ let bt = {
435+ let bu = Q.payments
436+ let bv = size(bu)
437+ let bw = nil
438+ func bx (by,bz) = if ((bz >= bv))
439+ then by
440+ else bo(by, bu[bz])
450441
451- func bz (bx,by) = if ((by >= bu))
452- then bx
442+ func bA (by,bz) = if ((bz >= bv))
443+ then by
453444 else throw("List size exceeds 10")
454445
455- bz(bw(bw(bw(bw(bw(bw(bw(bw(bw(bw(bv, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
446+ bA(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bw, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
456447 }
457- let aD = {
458- let bA = invoke(this, "incUnclaimedWithPaymentInternal", [bs, e, aC, 0, 0], nil)
459- if ($isInstanceOf(bA, "Int"))
460- then bA
461- else throw(($getType(bA) + " couldn't be cast to Int"))
448+ let aE = {
449+ let bB = invoke(this, "incUnclaimedWithPaymentInternal", [bt, e, aD, 0, 0], nil)
450+ if ($isInstanceOf(bB, "Int"))
451+ then bB
452+ else throw(($getType(bB) + " couldn't be cast to Int"))
462453 }
463- if ((aD == aD))
454+ if ((aE == aE))
464455 then {
465- let af = addressFromStringValue(value(getString(x(e))))
466- let ag = fromBase58String(value(getString(w(e))))
467-[ScriptTransfer(af, aD, ag)]
456+ let ag = addressFromStringValue(value(getString(x(e))))
457+ let ah = fromBase58String(value(getString(w(e))))
458+[ScriptTransfer(ag, aE, ah)]
468459 }
469460 else throw("Strict value is not equal to itself.")
470461 }
473464
474465
475466
476-@Callable(P)
467+@Callable(Q)
477468 func claim (e) = {
478- let X = if (valueOrElse(getBoolean(n(e)), false))
469+ let Y = if (valueOrElse(getBoolean(n(e)), false))
479470 then true
480- else I("program does not exist")
481- if ((X == X))
471+ else J("program does not exist")
472+ if ((Y == Y))
482473 then {
483- let W = (toString(P.caller) == value(getString(y(e))))
484- let i = if (W)
485- then toString(P.originCaller)
486- else toString(P.caller)
487- let bB = invoke(this, "claimInternal", [e, i, W], nil)
488- if ((bB == bB))
489- then $Tuple2(nil, bB)
474+ let X = (toString(Q.caller) == value(getString(y(e))))
475+ let i = if (X)
476+ then toString(Q.originCaller)
477+ else toString(Q.caller)
478+ let bC = invoke(this, "claimInternal", [e, i, X], nil)
479+ if ((bC == bC))
480+ then $Tuple2(nil, bC)
490481 else throw("Strict value is not equal to itself.")
491482 }
492483 else throw("Strict value is not equal to itself.")
494485
495486
496487
497-@Callable(P)
488+@Callable(Q)
498489 func claimBulk () = {
499- let bC = toString(P.caller)
500- let bD = getString(z(toString(P.caller)))
501- let bE = if (isDefined(bD))
490+ let bD = toString(Q.caller)
491+ let bE = getString(z(toString(Q.caller)))
492+ let bF = if (isDefined(bE))
502493 then true
503- else I("no referral programs")
504- if ((bE == bE))
494+ else J("no referral programs")
495+ if ((bF == bF))
505496 then {
506- let bF = split(value(bD), "__")
507- let bG = invoke(this, "claimBulkInternal", [bC, bF, 0], nil)
508- if ((bG == bG))
509- then $Tuple2(nil, bG)
497+ let bG = split(value(bE), "__")
498+ let bH = invoke(this, "claimBulkInternal", [bD, bG, 0], nil)
499+ if ((bH == bH))
500+ then $Tuple2(nil, bH)
510501 else throw("Strict value is not equal to itself.")
511502 }
512503 else throw("Strict value is not equal to itself.")
514505
515506
516507
517-@Callable(P)
518-func claimREADONLY (e,D) = {
519- let Z = valueOrElse(getInteger(h(e, D)), 0)
520- let aa = valueOrElse(getInteger(k(e, D)), 0)
521- $Tuple2(nil, [aa, Z])
508+@Callable(Q)
509+func claimREADONLY (e,E) = {
510+ let aa = valueOrElse(getInteger(h(e, E)), 0)
511+ let ab = valueOrElse(getInteger(k(e, E)), 0)
512+ $Tuple2(nil, [ab, aa])
522513 }
523514
524515
525516
526-@Callable(P)
527-func claimBulkREADONLY (at) = {
528- let ah = valueOrElse(getInteger(r(at)), 0)
529- let ai = valueOrElse(getInteger(t(at)), 0)
530- $Tuple2(nil, [ai, ah])
517+@Callable(Q)
518+func claimBulkREADONLY (au) = {
519+ let ai = valueOrElse(getInteger(r(au)), 0)
520+ let aj = valueOrElse(getInteger(t(au)), 0)
521+ $Tuple2(nil, [aj, ai])
531522 }
532523
533524
534525
535-@Callable(P)
526+@Callable(Q)
536527 func setTotalKeys (e,s) = {
537- let bH = valueOrElse(getInteger(h(e, s)), 0)
538- let bI = valueOrElse(getInteger(j(e, s)), 0)
539- let az = valueOrElse(getInteger(k(e, s)), 0)
540- let bJ = valueOrElse(getInteger(l(e, s)), 0)
541- let ah = (bH + bI)
542- let ai = (az + bJ)
543- $Tuple2([IntegerEntry(r(s), ah), IntegerEntry(t(s), ai)], unit)
528+ let bI = valueOrElse(getInteger(h(e, s)), 0)
529+ let bJ = valueOrElse(getInteger(j(e, s)), 0)
530+ let aA = valueOrElse(getInteger(k(e, s)), 0)
531+ let bK = valueOrElse(getInteger(l(e, s)), 0)
532+ let ai = (bI + bJ)
533+ let aj = (aA + bK)
534+ $Tuple2([IntegerEntry(r(s), ai), IntegerEntry(t(s), aj)], unit)
544535 }
545536
546537
547-
548-@Callable(P)
549-func setManager (bK) = {
550- let aw = O(P)
551- if ((aw == aw))
552- then {
553- let bL = fromBase58String(bK)
554- if ((bL == bL))
555- then [StringEntry(B(), bK)]
556- else throw("Strict value is not equal to itself.")
557- }
558- else throw("Strict value is not equal to itself.")
559- }
560-
561-
562-
563-@Callable(P)
564-func confirmManager () = {
565- let bM = N()
566- let bN = if (isDefined(bM))
567- then true
568- else I("no pending manager")
569- if ((bN == bN))
570- then {
571- let bO = if ((P.callerPublicKey == value(bM)))
572- then true
573- else I("you are not pending manager")
574- if ((bO == bO))
575- then [StringEntry(A(), toBase58String(value(bM))), DeleteEntry(B())]
576- else throw("Strict value is not equal to itself.")
577- }
578- else throw("Strict value is not equal to itself.")
579- }
580-
581-
582-@Verifier(bP)
583-func bQ () = {
584- let bR = {
585- let L = K()
586- if ($isInstanceOf(L, "ByteVector"))
538+@Verifier(bL)
539+func bM () = {
540+ let bN = {
541+ let N = L()
542+ if ($isInstanceOf(N, "ByteVector"))
587543 then {
588- let R = L
589- R
544+ let S = N
545+ S
590546 }
591- else if ($isInstanceOf(L, "Unit"))
592- then bP.senderPublicKey
547+ else if ($isInstanceOf(N, "Unit"))
548+ then bL.senderPublicKey
593549 else throw("Match error")
594550 }
595- sigVerify(bP.bodyBytes, bP.proofs[0], bR)
551+ sigVerify(bL.bodyBytes, bL.proofs[0], bN)
596552 }
597553
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 func b () = makeString(["%s", "wxAssetId"], a)
77
88
99 let c = makeString(["%s", "backendPublicKey"], a)
1010
1111 func d (e,f,g) = makeString(["%s%s%s%s", "existsReferrerToReferral", e, f, g], a)
1212
1313
1414 func h (e,i) = makeString(["%s%s%s", "claimedReferrer", e, i], a)
1515
1616
1717 func j (e,i) = makeString(["%s%s%s", "claimedReferral", e, i], a)
1818
1919
2020 func k (e,i) = makeString(["%s%s%s", "unclaimedReferrer", e, i], a)
2121
2222
2323 func l (e,i) = makeString(["%s%s%s", "unclaimedReferral", e, i], a)
2424
2525
2626 func m (e,g) = makeString(["%s%s%s", "referrer", e, g], a)
2727
2828
2929 func n (e) = makeString(["%s%s", "programName", e], a)
3030
3131
3232 func o (e,f) = makeString(["%s%s%s", "totalReferralCount", e, f], a)
3333
3434
3535 func p (e,f) = makeString(["%s%s%s", "activeReferralCount", e, f], a)
3636
3737
3838 func q (e,g) = makeString(["%s%s%s", "activeReferral", e, g], a)
3939
4040
4141 func r (s) = makeString(["%s%s", "claimedTotalAddress", s], a)
4242
4343
4444 func t (s) = makeString(["%s%s", "unclaimedTotalAddress", s], a)
4545
4646
4747 func u (e) = makeString(["%s%s", "claimedTotal", e], a)
4848
4949
5050 func v (e) = makeString(["%s%s", "rewardsTotal", e], a)
5151
5252
5353 func w (e) = makeString(["%s%s", "rewardAssetId", e], a)
5454
5555
5656 func x (e) = makeString(["%s%s", "treasuryContract", e], a)
5757
5858
5959 func y (e) = makeString(["%s%s", "implementationContract", e], a)
6060
6161
6262 func z (s) = makeString(["%s%s", "allReferralPrograms", s], a)
6363
6464
6565 func A () = "%s__managerPublicKey"
6666
6767
68-func B () = "%s__pendingManagerPublicKey"
68+func B () = "%s__managerVaultAddress"
6969
7070
71-func C (e,D,E,F) = makeString(["%s%s%s%s%s", "history", F, e, D, E], a)
71+func C () = addressFromStringValue(getStringValue(B()))
7272
7373
74-func G (H) = makeString(["%d%d%d", toString(lastBlock.height), toString(lastBlock.timestamp), toString(H)], a)
74+func D (e,E,F,G) = makeString(["%s%s%s%s%s", "history", G, e, E, F], a)
7575
7676
77-func I (J) = throw(makeString(["referral.ride:", J], " "))
77+func H (I) = makeString(["%d%d%d", toString(lastBlock.height), toString(lastBlock.timestamp), toString(I)], a)
7878
7979
80-func K () = {
81- let L = getString(A())
82- if ($isInstanceOf(L, "String"))
80+func J (K) = throw(makeString(["referral.ride:", K], " "))
81+
82+
83+func L () = {
84+ let M = C()
85+ let N = getString(M, A())
86+ if ($isInstanceOf(N, "String"))
8387 then {
84- let M = L
85- fromBase58String(M)
88+ let O = N
89+ fromBase58String(O)
8690 }
87- else if ($isInstanceOf(L, "Unit"))
91+ else if ($isInstanceOf(N, "Unit"))
8892 then unit
8993 else throw("Match error")
9094 }
9195
9296
93-func N () = {
94- let L = getString(B())
95- if ($isInstanceOf(L, "String"))
97+func P (Q) = {
98+ let R = J("permission denied")
99+ let N = L()
100+ if ($isInstanceOf(N, "ByteVector"))
96101 then {
97- let M = L
98- fromBase58String(M)
102+ let S = N
103+ if ((Q.callerPublicKey == S))
104+ then true
105+ else R
99106 }
100- else if ($isInstanceOf(L, "Unit"))
101- then unit
107+ else if ($isInstanceOf(N, "Unit"))
108+ then if ((Q.caller == this))
109+ then true
110+ else R
102111 else throw("Match error")
103112 }
104113
105114
106-func O (P) = {
107- let Q = I("permission denied")
108- let L = K()
109- if ($isInstanceOf(L, "ByteVector"))
110- then {
111- let R = L
112- if ((P.callerPublicKey == R))
113- then true
114- else Q
115+func T (s,e) = {
116+ let U = valueOrElse(getString(z(s)), "")
117+ let V = if (contains(U, e))
118+ then nil
119+ else {
120+ let W = if ((U == ""))
121+ then e
122+ else makeString([U, e], a)
123+[StringEntry(z(s), W)]
115124 }
116- else if ($isInstanceOf(L, "Unit"))
117- then if ((P.caller == this))
118- then true
119- else Q
120- else throw("Match error")
125+ V
121126 }
122127
123128
124-func S (s,e) = {
125- let T = valueOrElse(getString(z(s)), "")
126- let U = if (contains(T, e))
127- then nil
128- else {
129- let V = if ((T == ""))
130- then e
131- else makeString([T, e], a)
132-[StringEntry(z(s), V)]
133- }
134- U
135- }
136-
137-
138-@Callable(P)
139-func claimInternal (e,i,W) = {
140- let X = if (valueOrElse(getBoolean(n(e)), false))
129+@Callable(Q)
130+func claimInternal (e,i,X) = {
131+ let Y = if (valueOrElse(getBoolean(n(e)), false))
141132 then true
142- else I("program does not exist")
143- if ((X == X))
133+ else J("program does not exist")
134+ if ((Y == Y))
144135 then {
145- let Y = if (W)
146- then $Tuple5(valueOrElse(getInteger(j(e, i)), 0), valueOrElse(getInteger(l(e, i)), 0), j(e, i), l(e, i), C(e, i, toBase58String(P.transactionId), "claimReferral"))
147- else $Tuple5(valueOrElse(getInteger(h(e, i)), 0), valueOrElse(getInteger(k(e, i)), 0), h(e, i), k(e, i), C(e, i, toBase58String(P.transactionId), "claimReferrer"))
148- let Z = Y._1
149- let aa = Y._2
150- let ab = Y._3
151- let ac = Y._4
152- let ad = Y._5
153- let ae = valueOrElse(getInteger(u(e)), 0)
154- let af = value(addressFromString(value(getString(x(e)))))
155- let ag = fromBase58String(value(getString(w(e))))
156- let ah = valueOrElse(getInteger(r(i)), 0)
157- let ai = valueOrElse(getInteger(t(i)), 0)
158- if (if (W)
159- then (aa == 0)
136+ let Z = if (X)
137+ then $Tuple5(valueOrElse(getInteger(j(e, i)), 0), valueOrElse(getInteger(l(e, i)), 0), j(e, i), l(e, i), D(e, i, toBase58String(Q.transactionId), "claimReferral"))
138+ else $Tuple5(valueOrElse(getInteger(h(e, i)), 0), valueOrElse(getInteger(k(e, i)), 0), h(e, i), k(e, i), D(e, i, toBase58String(Q.transactionId), "claimReferrer"))
139+ let aa = Z._1
140+ let ab = Z._2
141+ let ac = Z._3
142+ let ad = Z._4
143+ let ae = Z._5
144+ let af = valueOrElse(getInteger(u(e)), 0)
145+ let ag = value(addressFromString(value(getString(x(e)))))
146+ let ah = fromBase58String(value(getString(w(e))))
147+ let ai = valueOrElse(getInteger(r(i)), 0)
148+ let aj = valueOrElse(getInteger(t(i)), 0)
149+ if (if (X)
150+ then (ab == 0)
160151 else false)
161152 then $Tuple2(nil, 0)
162153 else {
163- let aj = if ((aa > 0))
154+ let ak = if ((ab > 0))
164155 then true
165- else I("nothing to claim")
166- if ((aj == aj))
156+ else J("nothing to claim")
157+ if ((ak == ak))
167158 then {
168- let ak = (Z + aa)
169- let al = (ae + aa)
170- let am = (ah + aa)
171- let an = (ai - aa)
172- let ao = value(assetBalance(this, ag))
173- if ((ao == ao))
159+ let al = (aa + ab)
160+ let am = (af + ab)
161+ let an = (ai + ab)
162+ let ao = (aj - ab)
163+ let ap = value(assetBalance(this, ah))
164+ if ((ap == ap))
174165 then {
175- let ap = invoke(af, "withdrawReferralReward", [aa], nil)
176- if ((ap == ap))
166+ let aq = invoke(ag, "withdrawReferralReward", [ab], nil)
167+ if ((aq == aq))
177168 then {
178- let aq = value(assetBalance(this, ag))
179- if ((aq == aq))
169+ let ar = value(assetBalance(this, ah))
170+ if ((ar == ar))
180171 then {
181- let ar = (aq - ao)
182- if ((ar == ar))
172+ let as = (ar - ap)
173+ if ((as == as))
183174 then {
184- let as = if ((ar == aa))
175+ let at = if ((as == ab))
185176 then true
186- else I("insufficient balance on referral contract")
187- if ((as == as))
188- then $Tuple2([IntegerEntry(ab, ak), IntegerEntry(ac, 0), IntegerEntry(u(e), al), IntegerEntry(r(i), am), IntegerEntry(t(i), an), ScriptTransfer(addressFromStringValue(i), aa, ag), StringEntry(ad, G(aa))], aa)
177+ else J("insufficient balance on referral contract")
178+ if ((at == at))
179+ then $Tuple2([IntegerEntry(ac, al), IntegerEntry(ad, 0), IntegerEntry(u(e), am), IntegerEntry(r(i), an), IntegerEntry(t(i), ao), ScriptTransfer(addressFromStringValue(i), ab, ah), StringEntry(ae, H(ab))], ab)
189180 else throw("Strict value is not equal to itself.")
190181 }
191182 else throw("Strict value is not equal to itself.")
192183 }
193184 else throw("Strict value is not equal to itself.")
194185 }
195186 else throw("Strict value is not equal to itself.")
196187 }
197188 else throw("Strict value is not equal to itself.")
198189 }
199190 else throw("Strict value is not equal to itself.")
200191 }
201192 }
202193 else throw("Strict value is not equal to itself.")
203194 }
204195
205196
206197
207-@Callable(P)
208-func claimBulkInternal (at,au,av) = {
209- let aw = if ((P.caller == this))
198+@Callable(Q)
199+func claimBulkInternal (au,av,aw) = {
200+ let ax = if ((Q.caller == this))
210201 then true
211- else I("permission denied")
212- if ((aw == aw))
213- then if ((av == size(au)))
202+ else J("permission denied")
203+ if ((ax == ax))
204+ then if ((aw == size(av)))
214205 then nil
215206 else {
216- let e = au[av]
217- let ax = valueOrElse(getInteger(k(e, at)), 0)
218- let ad = C(e, at, toBase58String(P.transactionId), "claimBulk")
219- let ay = invoke(this, "claimBulkInternal", [at, au, (av + 1)], nil)
220- if ((ay == ay))
207+ let e = av[aw]
208+ let ay = valueOrElse(getInteger(k(e, au)), 0)
209+ let ae = D(e, au, toBase58String(Q.transactionId), "claimBulk")
210+ let az = invoke(this, "claimBulkInternal", [au, av, (aw + 1)], nil)
211+ if ((az == az))
221212 then {
222- let az = valueOrElse(getInteger(k(e, at)), 0)
223- let aA = if ((az > 0))
224- then invoke(this, "claimInternal", [e, at, false], nil)
213+ let aA = valueOrElse(getInteger(k(e, au)), 0)
214+ let aB = if ((aA > 0))
215+ then invoke(this, "claimInternal", [e, au, false], nil)
225216 else unit
226- if ((aA == aA))
227- then $Tuple2(nil, [ay, aA])
217+ if ((aB == aB))
218+ then $Tuple2(nil, [az, aB])
228219 else throw("Strict value is not equal to itself.")
229220 }
230221 else throw("Strict value is not equal to itself.")
231222 }
232223 else throw("Strict value is not equal to itself.")
233224 }
234225
235226
236227
237-@Callable(P)
238-func incUnclaimedWithPaymentInternal (aB,e,aC,av,aD) = {
239- let aw = if ((P.caller == this))
228+@Callable(Q)
229+func incUnclaimedWithPaymentInternal (aC,e,aD,aw,aE) = {
230+ let ax = if ((Q.caller == this))
240231 then true
241- else I("permission denied")
242- if ((aw == aw))
232+ else J("permission denied")
233+ if ((ax == ax))
243234 then {
244- let aE = (size(aB) == size(aC))
245- let aF = if (aE)
235+ let aF = (size(aC) == size(aD))
236+ let aG = if (aF)
246237 then true
247- else I("lists in args must be same size")
248- if ((aF == aF))
249- then if ((av == size(aB)))
250- then $Tuple2(nil, aD)
238+ else J("lists in args must be same size")
239+ if ((aG == aG))
240+ then if ((aw == size(aC)))
241+ then $Tuple2(nil, aE)
251242 else {
252- let f = aC[av]
253- let ai = valueOrElse(getInteger(t(f)), 0)
254- let aG = valueOrElse(getInteger(k(e, f)), 0)
255- let aH = valueOrElse(getInteger(v(e)), 0)
256- let an = (ai + aB[av])
257- let aI = (aG + aB[av])
258- let aJ = (aD + aB[av])
259- let aK = invoke(this, "incUnclaimedWithPaymentInternal", [aB, e, aC, (av + 1), aJ], nil)
260- if ((aK == aK))
243+ let f = aD[aw]
244+ let aj = valueOrElse(getInteger(t(f)), 0)
245+ let aH = valueOrElse(getInteger(k(e, f)), 0)
246+ let aI = valueOrElse(getInteger(v(e)), 0)
247+ let ao = (aj + aC[aw])
248+ let aJ = (aH + aC[aw])
249+ let aK = (aE + aC[aw])
250+ let aL = invoke(this, "incUnclaimedWithPaymentInternal", [aC, e, aD, (aw + 1), aK], nil)
251+ if ((aL == aL))
261252 then {
262- let aL = S(f, e)
263- $Tuple2(([IntegerEntry(t(f), an), IntegerEntry(k(e, f), aI), IntegerEntry(v(e), (aH + aB[av]))] ++ aL), aK)
253+ let aM = T(f, e)
254+ $Tuple2(([IntegerEntry(t(f), ao), IntegerEntry(k(e, f), aJ), IntegerEntry(v(e), (aI + aC[aw]))] ++ aM), aL)
264255 }
265256 else throw("Strict value is not equal to itself.")
266257 }
267258 else throw("Strict value is not equal to itself.")
268259 }
269260 else throw("Strict value is not equal to itself.")
270261 }
271262
272263
273264
274-@Callable(P)
275-func createReferralProgram (e,af,aM,ag) = {
276- let aw = O(P)
277- if ((aw == aw))
265+@Callable(Q)
266+func createReferralProgram (e,ag,aN,ah) = {
267+ let ax = P(Q)
268+ if ((ax == ax))
278269 then {
279- let aN = if ((getBoolean(n(e)) == unit))
270+ let aO = if ((getBoolean(n(e)) == unit))
280271 then true
281- else I("program name already exists")
282- if ((aN == aN))
272+ else J("program name already exists")
273+ if ((aO == aO))
283274 then {
284- let aO = if (!(contains(e, a)))
275+ let aP = if (!(contains(e, a)))
285276 then !(contains(e, " "))
286277 else false
287- let X = if (aO)
278+ let Y = if (aP)
288279 then true
289- else I("invalid program name")
290- if ((X == X))
280+ else J("invalid program name")
281+ if ((Y == Y))
291282 then {
292- let aP = if ((assetInfo(fromBase58String(ag)) != unit))
283+ let aQ = if ((assetInfo(fromBase58String(ah)) != unit))
293284 then true
294- else I("invalid reward asset id")
295- if ((aP == aP))
296- then $Tuple2([BooleanEntry(n(e), true), StringEntry(x(e), af), StringEntry(y(e), aM), StringEntry(w(e), ag), IntegerEntry(v(e), 0)], unit)
285+ else J("invalid reward asset id")
286+ if ((aQ == aQ))
287+ then $Tuple2([BooleanEntry(n(e), true), StringEntry(x(e), ag), StringEntry(y(e), aN), StringEntry(w(e), ah), IntegerEntry(v(e), 0)], unit)
297288 else throw("Strict value is not equal to itself.")
298289 }
299290 else throw("Strict value is not equal to itself.")
300291 }
301292 else throw("Strict value is not equal to itself.")
302293 }
303294 else throw("Strict value is not equal to itself.")
304295 }
305296
306297
307298
308-@Callable(P)
309-func createPair (e,f,g,aQ) = {
310- let X = if (valueOrElse(getBoolean(n(e)), false))
299+@Callable(Q)
300+func createPair (e,f,g,aR) = {
301+ let Y = if (valueOrElse(getBoolean(n(e)), false))
311302 then true
312- else I("program does not exist")
313- if ((X == X))
303+ else J("program does not exist")
304+ if ((Y == Y))
314305 then {
315- let aR = if ((getBoolean(d(e, f, g)) == unit))
306+ let aS = if ((getBoolean(d(e, f, g)) == unit))
316307 then true
317- else I("pair already exists")
318- if ((aR == aR))
308+ else J("pair already exists")
309+ if ((aS == aS))
319310 then {
320- let aS = if ((f != g))
311+ let aT = if ((f != g))
321312 then true
322- else I("cannot refer to self")
323- if ((aS == aS))
313+ else J("cannot refer to self")
314+ if ((aT == aT))
324315 then {
325- let aT = toBytes(makeString([e, f, g], ":"))
326- let aU = fromBase58String(value(getString(c)))
327- let aV = if (sigVerify(aT, aQ, aU))
316+ let aU = toBytes(makeString([e, f, g], ":"))
317+ let aV = fromBase58String(value(getString(c)))
318+ let aW = if (sigVerify(aU, aR, aV))
328319 then true
329- else I("bad signature")
330- if ((aV == aV))
320+ else J("bad signature")
321+ if ((aW == aW))
331322 then {
332- let aW = valueOrElse(getInteger(o(e, f)), 0)
333- let aX = (aW + 1)
334- let aL = S(f, e)
335- let U = S(g, e)
336- $Tuple2((([BooleanEntry(d(e, f, g), true), IntegerEntry(o(e, f), aX), StringEntry(m(e, g), f)] ++ aL) ++ U), unit)
323+ let aX = valueOrElse(getInteger(o(e, f)), 0)
324+ let aY = (aX + 1)
325+ let aM = T(f, e)
326+ let V = T(g, e)
327+ $Tuple2((([BooleanEntry(d(e, f, g), true), IntegerEntry(o(e, f), aY), StringEntry(m(e, g), f)] ++ aM) ++ V), unit)
337328 }
338329 else throw("Strict value is not equal to itself.")
339330 }
340331 else throw("Strict value is not equal to itself.")
341332 }
342333 else throw("Strict value is not equal to itself.")
343334 }
344335 else throw("Strict value is not equal to itself.")
345336 }
346337
347338
348339
349-@Callable(P)
350-func updateReferralActivity (e,g,aY) = {
351- let aM = value(getString(y(e)))
352- let aZ = (getBoolean(q(e, g)) != unit)
340+@Callable(Q)
341+func updateReferralActivity (e,g,aZ) = {
342+ let aN = value(getString(y(e)))
343+ let ba = (getBoolean(q(e, g)) != unit)
353344 let f = value(getString(m(e, g)))
354- let aw = if ((toString(P.caller) == aM))
345+ let ax = if ((toString(Q.caller) == aN))
355346 then true
356- else I("permission denied")
357- if ((aw == aw))
347+ else J("permission denied")
348+ if ((ax == ax))
358349 then {
359- let ba = if ((aZ == aY))
350+ let bb = if ((ba == aZ))
360351 then $Tuple2(nil, unit)
361352 else {
362- let ba = if ((aY == true))
353+ let bb = if ((aZ == true))
363354 then {
364- let bb = (valueOrElse(getInteger(p(e, f)), 0) + 1)
365- $Tuple2([BooleanEntry(q(e, g), true), IntegerEntry(p(e, f), bb)], unit)
355+ let bc = (valueOrElse(getInteger(p(e, f)), 0) + 1)
356+ $Tuple2([BooleanEntry(q(e, g), true), IntegerEntry(p(e, f), bc)], unit)
366357 }
367358 else {
368- let bb = (valueOrElse(getInteger(p(e, f)), 0) - 1)
369- $Tuple2([DeleteEntry(q(e, g)), IntegerEntry(p(e, f), bb)], unit)
359+ let bc = (valueOrElse(getInteger(p(e, f)), 0) - 1)
360+ $Tuple2([DeleteEntry(q(e, g)), IntegerEntry(p(e, f), bc)], unit)
370361 }
371- ba
362+ bb
372363 }
373- ba
364+ bb
374365 }
375366 else throw("Strict value is not equal to itself.")
376367 }
377368
378369
379370
380-@Callable(P)
381-func incUnclaimed (e,g,bc,bd) = {
382- let aM = value(getString(y(e)))
371+@Callable(Q)
372+func incUnclaimed (e,g,bd,be) = {
373+ let aN = value(getString(y(e)))
383374 let f = value(getString(m(e, g)))
384- let aw = if ((toString(P.caller) == aM))
375+ let ax = if ((toString(Q.caller) == aN))
385376 then true
386- else I("permission denied")
387- if ((aw == aw))
377+ else J("permission denied")
378+ if ((ax == ax))
388379 then {
389- let be = if ((e == "wxlock"))
380+ let bf = if ((e == "wxlock"))
390381 then true
391- else I("invalid program")
392- if ((be == be))
382+ else J("invalid program")
383+ if ((bf == bf))
393384 then {
394- let bf = if (contains(valueOrElse(getString(z(f)), ""), e))
385+ let bg = if (contains(valueOrElse(getString(z(f)), ""), e))
395386 then true
396- else I(((("referrer not in program=" + e) + " addr=") + f))
397- if ((bf == bf))
387+ else J(((("referrer not in program=" + e) + " addr=") + f))
388+ if ((bg == bg))
398389 then {
399- let bg = if (contains(valueOrElse(getString(z(g)), ""), e))
390+ let bh = if (contains(valueOrElse(getString(z(g)), ""), e))
400391 then true
401- else I(((("referral not in program=" + e) + " addr=") + g))
402- if ((bg == bg))
392+ else J(((("referral not in program=" + e) + " addr=") + g))
393+ if ((bh == bh))
403394 then {
404- let bh = valueOrElse(getInteger(t(f)), 0)
405- let aG = valueOrElse(getInteger(k(e, f)), 0)
406- let bi = valueOrElse(getInteger(t(g)), 0)
407- let bj = valueOrElse(getInteger(l(e, g)), 0)
408- let aH = valueOrElse(getInteger(v(e)), 0)
409- let bk = (bh + bc)
410- let aI = (aG + bc)
395+ let bi = valueOrElse(getInteger(t(f)), 0)
396+ let aH = valueOrElse(getInteger(k(e, f)), 0)
397+ let bj = valueOrElse(getInteger(t(g)), 0)
398+ let bk = valueOrElse(getInteger(l(e, g)), 0)
399+ let aI = valueOrElse(getInteger(v(e)), 0)
411400 let bl = (bi + bd)
412- let bm = (bj + bd)
413- $Tuple2([IntegerEntry(t(f), bk), IntegerEntry(t(g), bl), IntegerEntry(k(e, f), aI), IntegerEntry(l(e, g), bm), IntegerEntry(v(e), ((aH + bc) + bd))], unit)
401+ let aJ = (aH + bd)
402+ let bm = (bj + be)
403+ let bn = (bk + be)
404+ $Tuple2([IntegerEntry(t(f), bl), IntegerEntry(t(g), bm), IntegerEntry(k(e, f), aJ), IntegerEntry(l(e, g), bn), IntegerEntry(v(e), ((aI + bd) + be))], unit)
414405 }
415406 else throw("Strict value is not equal to itself.")
416407 }
417408 else throw("Strict value is not equal to itself.")
418409 }
419410 else throw("Strict value is not equal to itself.")
420411 }
421412 else throw("Strict value is not equal to itself.")
422413 }
423414
424415
425416
426-@Callable(P)
427-func incUnclaimedWithPayment (e,aC) = {
428- let be = if ((e == "wxSpotFee"))
417+@Callable(Q)
418+func incUnclaimedWithPayment (e,aD) = {
419+ let bf = if ((e == "wxSpotFee"))
429420 then true
430- else I("invalid program")
431- if ((be == be))
421+ else J("invalid program")
422+ if ((bf == bf))
432423 then {
433- func bn (bo,bp) = {
434- let bq = (toBase58String(value(bp.assetId)) == value(getString(w(e))))
435- let br = if (bq)
424+ func bo (bp,bq) = {
425+ let br = (toBase58String(value(bq.assetId)) == value(getString(w(e))))
426+ let bs = if (br)
436427 then true
437- else I("invalid asset id")
438- if ((br == br))
439- then (bo :+ bp.amount)
428+ else J("invalid asset id")
429+ if ((bs == bs))
430+ then (bp :+ bq.amount)
440431 else throw("Strict value is not equal to itself.")
441432 }
442433
443- let bs = {
444- let bt = P.payments
445- let bu = size(bt)
446- let bv = nil
447- func bw (bx,by) = if ((by >= bu))
448- then bx
449- else bn(bx, bt[by])
434+ let bt = {
435+ let bu = Q.payments
436+ let bv = size(bu)
437+ let bw = nil
438+ func bx (by,bz) = if ((bz >= bv))
439+ then by
440+ else bo(by, bu[bz])
450441
451- func bz (bx,by) = if ((by >= bu))
452- then bx
442+ func bA (by,bz) = if ((bz >= bv))
443+ then by
453444 else throw("List size exceeds 10")
454445
455- bz(bw(bw(bw(bw(bw(bw(bw(bw(bw(bw(bv, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
446+ bA(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bw, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
456447 }
457- let aD = {
458- let bA = invoke(this, "incUnclaimedWithPaymentInternal", [bs, e, aC, 0, 0], nil)
459- if ($isInstanceOf(bA, "Int"))
460- then bA
461- else throw(($getType(bA) + " couldn't be cast to Int"))
448+ let aE = {
449+ let bB = invoke(this, "incUnclaimedWithPaymentInternal", [bt, e, aD, 0, 0], nil)
450+ if ($isInstanceOf(bB, "Int"))
451+ then bB
452+ else throw(($getType(bB) + " couldn't be cast to Int"))
462453 }
463- if ((aD == aD))
454+ if ((aE == aE))
464455 then {
465- let af = addressFromStringValue(value(getString(x(e))))
466- let ag = fromBase58String(value(getString(w(e))))
467-[ScriptTransfer(af, aD, ag)]
456+ let ag = addressFromStringValue(value(getString(x(e))))
457+ let ah = fromBase58String(value(getString(w(e))))
458+[ScriptTransfer(ag, aE, ah)]
468459 }
469460 else throw("Strict value is not equal to itself.")
470461 }
471462 else throw("Strict value is not equal to itself.")
472463 }
473464
474465
475466
476-@Callable(P)
467+@Callable(Q)
477468 func claim (e) = {
478- let X = if (valueOrElse(getBoolean(n(e)), false))
469+ let Y = if (valueOrElse(getBoolean(n(e)), false))
479470 then true
480- else I("program does not exist")
481- if ((X == X))
471+ else J("program does not exist")
472+ if ((Y == Y))
482473 then {
483- let W = (toString(P.caller) == value(getString(y(e))))
484- let i = if (W)
485- then toString(P.originCaller)
486- else toString(P.caller)
487- let bB = invoke(this, "claimInternal", [e, i, W], nil)
488- if ((bB == bB))
489- then $Tuple2(nil, bB)
474+ let X = (toString(Q.caller) == value(getString(y(e))))
475+ let i = if (X)
476+ then toString(Q.originCaller)
477+ else toString(Q.caller)
478+ let bC = invoke(this, "claimInternal", [e, i, X], nil)
479+ if ((bC == bC))
480+ then $Tuple2(nil, bC)
490481 else throw("Strict value is not equal to itself.")
491482 }
492483 else throw("Strict value is not equal to itself.")
493484 }
494485
495486
496487
497-@Callable(P)
488+@Callable(Q)
498489 func claimBulk () = {
499- let bC = toString(P.caller)
500- let bD = getString(z(toString(P.caller)))
501- let bE = if (isDefined(bD))
490+ let bD = toString(Q.caller)
491+ let bE = getString(z(toString(Q.caller)))
492+ let bF = if (isDefined(bE))
502493 then true
503- else I("no referral programs")
504- if ((bE == bE))
494+ else J("no referral programs")
495+ if ((bF == bF))
505496 then {
506- let bF = split(value(bD), "__")
507- let bG = invoke(this, "claimBulkInternal", [bC, bF, 0], nil)
508- if ((bG == bG))
509- then $Tuple2(nil, bG)
497+ let bG = split(value(bE), "__")
498+ let bH = invoke(this, "claimBulkInternal", [bD, bG, 0], nil)
499+ if ((bH == bH))
500+ then $Tuple2(nil, bH)
510501 else throw("Strict value is not equal to itself.")
511502 }
512503 else throw("Strict value is not equal to itself.")
513504 }
514505
515506
516507
517-@Callable(P)
518-func claimREADONLY (e,D) = {
519- let Z = valueOrElse(getInteger(h(e, D)), 0)
520- let aa = valueOrElse(getInteger(k(e, D)), 0)
521- $Tuple2(nil, [aa, Z])
508+@Callable(Q)
509+func claimREADONLY (e,E) = {
510+ let aa = valueOrElse(getInteger(h(e, E)), 0)
511+ let ab = valueOrElse(getInteger(k(e, E)), 0)
512+ $Tuple2(nil, [ab, aa])
522513 }
523514
524515
525516
526-@Callable(P)
527-func claimBulkREADONLY (at) = {
528- let ah = valueOrElse(getInteger(r(at)), 0)
529- let ai = valueOrElse(getInteger(t(at)), 0)
530- $Tuple2(nil, [ai, ah])
517+@Callable(Q)
518+func claimBulkREADONLY (au) = {
519+ let ai = valueOrElse(getInteger(r(au)), 0)
520+ let aj = valueOrElse(getInteger(t(au)), 0)
521+ $Tuple2(nil, [aj, ai])
531522 }
532523
533524
534525
535-@Callable(P)
526+@Callable(Q)
536527 func setTotalKeys (e,s) = {
537- let bH = valueOrElse(getInteger(h(e, s)), 0)
538- let bI = valueOrElse(getInteger(j(e, s)), 0)
539- let az = valueOrElse(getInteger(k(e, s)), 0)
540- let bJ = valueOrElse(getInteger(l(e, s)), 0)
541- let ah = (bH + bI)
542- let ai = (az + bJ)
543- $Tuple2([IntegerEntry(r(s), ah), IntegerEntry(t(s), ai)], unit)
528+ let bI = valueOrElse(getInteger(h(e, s)), 0)
529+ let bJ = valueOrElse(getInteger(j(e, s)), 0)
530+ let aA = valueOrElse(getInteger(k(e, s)), 0)
531+ let bK = valueOrElse(getInteger(l(e, s)), 0)
532+ let ai = (bI + bJ)
533+ let aj = (aA + bK)
534+ $Tuple2([IntegerEntry(r(s), ai), IntegerEntry(t(s), aj)], unit)
544535 }
545536
546537
547-
548-@Callable(P)
549-func setManager (bK) = {
550- let aw = O(P)
551- if ((aw == aw))
552- then {
553- let bL = fromBase58String(bK)
554- if ((bL == bL))
555- then [StringEntry(B(), bK)]
556- else throw("Strict value is not equal to itself.")
557- }
558- else throw("Strict value is not equal to itself.")
559- }
560-
561-
562-
563-@Callable(P)
564-func confirmManager () = {
565- let bM = N()
566- let bN = if (isDefined(bM))
567- then true
568- else I("no pending manager")
569- if ((bN == bN))
570- then {
571- let bO = if ((P.callerPublicKey == value(bM)))
572- then true
573- else I("you are not pending manager")
574- if ((bO == bO))
575- then [StringEntry(A(), toBase58String(value(bM))), DeleteEntry(B())]
576- else throw("Strict value is not equal to itself.")
577- }
578- else throw("Strict value is not equal to itself.")
579- }
580-
581-
582-@Verifier(bP)
583-func bQ () = {
584- let bR = {
585- let L = K()
586- if ($isInstanceOf(L, "ByteVector"))
538+@Verifier(bL)
539+func bM () = {
540+ let bN = {
541+ let N = L()
542+ if ($isInstanceOf(N, "ByteVector"))
587543 then {
588- let R = L
589- R
544+ let S = N
545+ S
590546 }
591- else if ($isInstanceOf(L, "Unit"))
592- then bP.senderPublicKey
547+ else if ($isInstanceOf(N, "Unit"))
548+ then bL.senderPublicKey
593549 else throw("Match error")
594550 }
595- sigVerify(bP.bodyBytes, bP.proofs[0], bR)
551+ sigVerify(bL.bodyBytes, bL.proofs[0], bN)
596552 }
597553

github/deemru/w8io/873ac7e 
179.41 ms