tx · EgR72zW5AVazXcXRMMTG27dEZ3681ZKQazCoYHvThLPn 3Mzep1R5kHeC1ecKFkWjuhU3Gw4LAdCib9N: -0.01100000 Waves 2023.11.16 12:47 [2845767] smart account 3Mzep1R5kHeC1ecKFkWjuhU3Gw4LAdCib9N > SELF 0.00000000 Waves
{ "type": 13, "id": "EgR72zW5AVazXcXRMMTG27dEZ3681ZKQazCoYHvThLPn", "fee": 1100000, "feeAssetId": null, "timestamp": 1700128089630, "version": 2, "chainId": 84, "sender": "3Mzep1R5kHeC1ecKFkWjuhU3Gw4LAdCib9N", "senderPublicKey": "41THq9VrFxHEvVGJyz2oMpJQErnSkkqJXpBypSDxa5Mv", "proofs": [ "5zipaBuP3NZG2bpZi3k9C5ibmmve1ozYf2DYJ9rvV1CjSFi5iQYKggey6sGKBZkEkG7XsZAqkTD7Aoq9ZYsUSeQ5" ], "script": "base64:BgIeCAISAwoBGBIDCgEYEgQKAgIYEgQKAgIYEgQKAgIYIQAJc2VwYXJhdG9yAgJfXwAHY2hhaW5JZAkAyQECCQDKAQIIBQR0aGlzBWJ5dGVzAAEAAQAIY2hhaW5JZFQBAVQACGNoYWluSWRXAQFXAQttdXN0QWRkcmVzcwIBaQdhZGRyZXNzAwkAAAIIBQFpBmNhbGxlcgUHYWRkcmVzcwYJAAIBAhFwZXJtaXNzaW9uIGRlbmllZAEIbXVzdFRoaXMBAWkJAQttdXN0QWRkcmVzcwIFAWkFBHRoaXMAA1NFUAICX18ABVdBVkVTAgVXQVZFUwAQY29udHJhY3RGaWxlbmFtZQIVd3hkYW9fY2FsY3VsYXRvci5yaWRlAAVtdWx0OACAwtcvAQd3cmFwRXJyAQFzCQCsAgIJAKwCAgUQY29udHJhY3RGaWxlbmFtZQICOiAFAXMBCHRocm93RXJyAQFzCQACAQkBB3dyYXBFcnIBBQFzARBrZXlDdXJyZW50UGVyaW9kAAkAuQkCCQDMCAICAiVzCQDMCAICDWN1cnJlbnRQZXJpb2QFA25pbAUDU0VQARZrZXlTdGFydEhlaWdodEJ5UGVyaW9kAQZwZXJpb2QJALkJAgkAzAgCAgQlcyVkCQDMCAICC3N0YXJ0SGVpZ2h0CQDMCAIJAKQDAQUGcGVyaW9kBQNuaWwFA1NFUAEPa2V5UGVyaW9kTGVuZ3RoAAkAuQkCCQDMCAICAiVzCQDMCAICDHBlcmlvZExlbmd0aAUDbmlsBQNTRVABGGtleVRyZWFzdXJ5VmFsdWVCeVBlcmlvZAEGcGVyaW9kCQC5CQIJAMwIAgIEJXMlZAkAzAgCAg10cmVhc3VyeVZhbHVlCQDMCAIJAKQDAQUGcGVyaW9kBQNuaWwFA1NFUAEVa2V5UG93ZXJDb25maWdBZGRyZXNzAAIWJXNfX3Bvd2VyQ29uZmlnQWRkcmVzcwEScG93ZXJDb25maWdBZGRyZXNzAQ5mYWN0b3J5QWRkcmVzcwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCBAckbWF0Y2gwCQCdCAIFDmZhY3RvcnlBZGRyZXNzCQEVa2V5UG93ZXJDb25maWdBZGRyZXNzAAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJAKYIAQUBcwMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IJAQd3cmFwRXJyAQIcaW52YWxpZCBwb3dlciBjb25maWcgYWRkcmVzcwEPa2V5UG93ZXJBc3NldElkAAIMcG93ZXJBc3NldElkAQ9nZXRQb3dlckFzc2V0SWQBDmZhY3RvcnlBZGRyZXNzCQDZBAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCCQEScG93ZXJDb25maWdBZGRyZXNzAQUOZmFjdG9yeUFkZHJlc3MJAQ9rZXlQb3dlckFzc2V0SWQACQEHd3JhcEVycgECFmludmFsaWQgcG93ZXIgYXNzZXQgaWQBF2tleVBvd2VyQ29udHJhY3RBZGRyZXNzAAIYJXNfX3Bvd2VyQ29udHJhY3RBZGRyZXNzARRwb3dlckNvbnRyYWN0QWRkcmVzcwEOZmFjdG9yeUFkZHJlc3MJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgQHJG1hdGNoMAkAnQgCBQ5mYWN0b3J5QWRkcmVzcwkBF2tleVBvd2VyQ29udHJhY3RBZGRyZXNzAAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJAKYIAQUBcwMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IJAQd3cmFwRXJyAQIeaW52YWxpZCBwb3dlciBjb250cmFjdCBhZGRyZXNzARZrZXlQb29sc0ZhY3RvcnlBZGRyZXNzAAIXJXNfX3Bvb2xzRmFjdG9yeUFkZHJlc3MBFmdldFBvb2xzRmFjdG9yeUFkZHJlc3MBDmZhY3RvcnlBZGRyZXNzCQETdmFsdWVPckVycm9yTWVzc2FnZQIEByRtYXRjaDAJAJ0IAgUOZmFjdG9yeUFkZHJlc3MJARZrZXlQb29sc0ZhY3RvcnlBZGRyZXNzAAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJAKYIAQUBcwMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IJAQd3cmFwRXJyAQIdaW52YWxpZCBwb29scyBmYWN0b3J5IGFkZHJlc3MBEmtleVRyZWFzdXJ5QWRkcmVzcwACEyVzX190cmVhc3VyeUFkZHJlc3MBEmdldFRyZWFzdXJ5QWRkcmVzcwEOZmFjdG9yeUFkZHJlc3MJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgQHJG1hdGNoMAkAnQgCBQ5mYWN0b3J5QWRkcmVzcwkBEmtleVRyZWFzdXJ5QWRkcmVzcwADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQCmCAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yCQEHd3JhcEVycgECGGludmFsaWQgdHJlYXN1cnkgYWRkcmVzcwEJa2V5QXNzZXRzAAIKJXNfX2Fzc2V0cwEMZ2V0QXNzZXRzU3RyAQ5mYWN0b3J5QWRkcmVzcwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDmZhY3RvcnlBZGRyZXNzCQEJa2V5QXNzZXRzAAkBB3dyYXBFcnIBAg5pbnZhbGlkIGFzc2V0cwEMa2V5THBBc3NldElkAAINJXNfX2xwQXNzZXRJZAEMZ2V0THBBc3NldElkAQ5mYWN0b3J5QWRkcmVzcwkA2QQBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUOZmFjdG9yeUFkZHJlc3MJAQxrZXlMcEFzc2V0SWQACQEHd3JhcEVycgECE2ludmFsaWQgbHAgYXNzZXQgaWQBEWdldEFzc2V0c0JhbGFuY2VzAg10YXJnZXRBZGRyZXNzC2Fzc2V0SWRMaXN0CgEDbWFwAgNhY2MObmV4dEFzc2V0SWRTdHIEB2JhbGFuY2UDCQAAAgUObmV4dEFzc2V0SWRTdHIFBVdBVkVTCQDvBwEFDXRhcmdldEFkZHJlc3MJAPAHAgUNdGFyZ2V0QWRkcmVzcwkA2QQBBQ5uZXh0QXNzZXRJZFN0cgkAzQgCBQNhY2MFB2JhbGFuY2UKAAIkbAULYXNzZXRJZExpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBA21hcAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgEPZ2V0QXNzZXRzUHJpY2VzAhNwb29sc0ZhY3RvcnlBZGRyZXNzC2Fzc2V0SWRMaXN0AwkAAAIFB2NoYWluSWQFCGNoYWluSWRXBBN3YXZlc1VzZHRBZGRyZXNzU3RyAiMzUEtmcnVwRXlkVTJuWkFnaFZqWkFmdkN3TUJrenVSMUY1MgQOd2F2ZXNVc2R0UHJpY2UKAAFACQD8BwQFE3Bvb2xzRmFjdG9yeUFkZHJlc3MCCGdldFByaWNlCQDMCAIFE3dhdmVzVXNkdEFkZHJlc3NTdHIFA25pbAUDbmlsAwkAAQIFAUACA0ludAUBQAkAAgEJAKwCAgkAAwEFAUACGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAQSd2F2ZXNYdG5BZGRyZXNzU3RyAiMzUFBaV2dGTlJLSEx2TTUxcHdTOTM0QzhWWjdkMkY0WjU4ZwQNd2F2ZXNYdG5QcmljZQoAAUAJAPwHBAUTcG9vbHNGYWN0b3J5QWRkcmVzcwIIZ2V0UHJpY2UJAMwIAgUSd2F2ZXNYdG5BZGRyZXNzU3RyBQNuaWwFA25pbAMJAAECBQFAAgNJbnQFAUAJAAIBCQCsAgIJAAMBBQFAAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQEDHh0blVzZHRQcmljZQkAawMFDndhdmVzVXNkdFByaWNlBQVtdWx0OAUNd2F2ZXNYdG5QcmljZQoBA21hcAIDYWNjC25leHRBc3NldElkBAVwcmljZQQHJG1hdGNoMAULbmV4dEFzc2V0SWQDCQAAAgIsMnRoc0FDdUhtekRNdU5lelBNMzJ3ZzlhM0J3VXpCV0RlU0tha2d6M2N3MjEFByRtYXRjaDAEEnB3cldhdmVzQWRkcmVzc1N0cgIjM1BEaTdRcThwTFFZdnRLeVRmUXVxcVBVV3lob1liVTk1N3QEDXB3cldhdmVzUHJpY2UKAAFACQD8BwQFE3Bvb2xzRmFjdG9yeUFkZHJlc3MCCGdldFByaWNlCQDMCAIFEnB3cldhdmVzQWRkcmVzc1N0cgUDbmlsBQNuaWwDCQABAgUBQAIDSW50BQFACQACAQkArAICCQADAQUBQAIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50CQBrAwUNcHdyV2F2ZXNQcmljZQUOd2F2ZXNVc2R0UHJpY2UFBW11bHQ4AwkAAAICLEF0cXY1OUVZempGR3VpdEtWbk1SazZIOEZ1a2pvVjNrdFBvcmJFeXMyNW9uBQckbWF0Y2gwBBF3eFdhdmVzQWRkcmVzc1N0cgIjM1BGemFIMmdocHdBTkhGZ2pldmE4M04xeXh6RXJFTHgyZWgEDHd4V2F2ZXNQcmljZQoAAUAJAPwHBAUTcG9vbHNGYWN0b3J5QWRkcmVzcwIIZ2V0UHJpY2UJAMwIAgURd3hXYXZlc0FkZHJlc3NTdHIFA25pbAUDbmlsAwkAAQIFAUACA0ludAUBQAkAAgEJAKwCAgkAAwEFAUACGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAkAawMFDHd4V2F2ZXNQcmljZQUOd2F2ZXNVc2R0UHJpY2UFBW11bHQ4AwkAAAICLDM0TjlZY0VFVExXbjkzcVlRNjRFc1AxeDg5dFNydUpVNDRSckVNU1hYRVBKBQckbWF0Y2gwBBR1c2R0d3hnWHRuQWRkcmVzc1N0cgIjM1A4S015QUpDUFdOY3llZHFybXlteGFlV29udm1raEdhdXoED3VzZHR3eGdYdG5QcmljZQoAAUAJAPwHBAUTcG9vbHNGYWN0b3J5QWRkcmVzcwIIZ2V0UHJpY2UJAMwIAgUUdXNkdHd4Z1h0bkFkZHJlc3NTdHIFA25pbAUDbmlsAwkAAQIFAUACA0ludAUBQAkAAgEJAKwCAgkAAwEFAUACGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAkAawMFD3VzZHR3eGdYdG5QcmljZQUMeHRuVXNkdFByaWNlBQVtdWx0OAMJAAACAiw2WHRIanBYYnM5UlJKUDJTcjlHVXlWcXpBQ2NieTlUa1RoSFhualZDNUNESgUHJG1hdGNoMAQWd2F2ZXNVc2Rjd3hnQWRkcmVzc1N0cgIjM1AzZzNlaXBmRzJOWktLUUU4RFpYdDJFOXRSSnFpaTlqY1gED3VzZGN3eGdYdG5QcmljZQoAAUAJAPwHBAUTcG9vbHNGYWN0b3J5QWRkcmVzcwIIZ2V0UHJpY2UJAMwIAgUWd2F2ZXNVc2Rjd3hnQWRkcmVzc1N0cgUDbmlsBQNuaWwDCQABAgUBQAIDSW50BQFACQACAQkArAICCQADAQUBQAIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50CQBrAwUOd2F2ZXNVc2R0UHJpY2UFBW11bHQ4BQ91c2Rjd3hnWHRuUHJpY2UDCQAAAgIsSFprMW1iZnVKcG14VTFGczRBWDVNV0xWWXRjdHNOY2c2ZTJDNlZLcUs4emsFByRtYXRjaDAEE2x0Y3d4Z1h0bkFkZHJlc3NTdHICIzNQOTR3dnU1Z0E3VmhqUGdBQjN0d2FlcWR3SEN3TksydnNuBA5sdGN3eGdYdG5QcmljZQoAAUAJAPwHBAUTcG9vbHNGYWN0b3J5QWRkcmVzcwIIZ2V0UHJpY2UJAMwIAgUTbHRjd3hnWHRuQWRkcmVzc1N0cgUDbmlsBQNuaWwDCQABAgUBQAIDSW50BQFACQACAQkArAICCQADAQUBQAIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50CQBrAwUObHRjd3hnWHRuUHJpY2UFDHh0blVzZHRQcmljZQUFbXVsdDgDCQAAAgIsSFprMW1iZnVKcG14VTFGczRBWDVNV0xWWXRjdHNOY2c2ZTJDNlZLcUs4emsFByRtYXRjaDAEE2V0aHd4Z1h0bkFkZHJlc3NTdHICIzNQM1hHVE42czI5Mmc5aXdZaHMzVEVxSnFIaWZmUVlvanVFBA5ldGh3eGdYdG5QcmljZQoAAUAJAPwHBAUTcG9vbHNGYWN0b3J5QWRkcmVzcwIIZ2V0UHJpY2UJAMwIAgUTZXRod3hnWHRuQWRkcmVzc1N0cgUDbmlsBQNuaWwDCQABAgUBQAIDSW50BQFACQACAQkArAICCQADAQUBQAIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50CQBrAwUOZXRod3hnWHRuUHJpY2UFDndhdmVzVXNkdFByaWNlBQVtdWx0OAMJAAACAixIWmsxbWJmdUpwbXhVMUZzNEFYNU1XTFZZdGN0c05jZzZlMkM2VktxSzh6awUHJG1hdGNoMAQTYnRjd3hnWHRuQWRkcmVzc1N0cgIjM1BDQldEVEE2anJGc3dkN2dRZ2FFM1hrN2dMTTVSS29mdnAEDmJ0Y3d4Z1h0blByaWNlCgABQAkA/AcEBRNwb29sc0ZhY3RvcnlBZGRyZXNzAghnZXRQcmljZQkAzAgCBRNidGN3eGdYdG5BZGRyZXNzU3RyBQNuaWwFA25pbAMJAAECBQFAAgNJbnQFAUAJAAIBCQCsAgIJAAMBBQFAAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQJAGsDBQ5idGN3eGdYdG5QcmljZQUOd2F2ZXNVc2R0UHJpY2UFBW11bHQ4CQEIdGhyb3dFcnIBAhBpbnZhbGlkIGFzc2V0IGlkCQDNCAIFA2FjYwUFcHJpY2UKAAIkbAULYXNzZXRJZExpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBA21hcAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgMJAAACBQdjaGFpbklkBQhjaGFpbklkVAoBA21hcAIDYWNjC25leHRBc3NldElkBAVwcmljZQQHJG1hdGNoMAULbmV4dEFzc2V0SWQDCQAAAgIsRU1BTUx4RG52M3hpejhSWGc4QnRqMzNqY0V3M3dMY3pMM0pLWVltdXVicGMFByRtYXRjaDAEEHd4VXNkdEFkZHJlc3NTdHICIzNNclVMUVJMYzUyR1dySkYxdE1jQW00TTc4ZlBlNTdvOUt0BAt3eFVzZHRQcmljZQoAAUAJAPwHBAUTcG9vbHNGYWN0b3J5QWRkcmVzcwIIZ2V0UHJpY2UJAMwIAgUQd3hVc2R0QWRkcmVzc1N0cgUDbmlsBQNuaWwDCQABAgUBQAIDSW50BQFACQACAQkArAICCQADAQUBQAIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50BQt3eFVzZHRQcmljZQMJAAACAixBN0tzaDdmWHlxbTFLaEtBaUszYkFCMmFpUFNpdFFRRjZ2MXB5dTlTUzNGUgUHJG1hdGNoMAQSdXNkY1VzZHRBZGRyZXNzU3RyAiMzTXpLU2RUSDJqRmJ5cExzb05mckg3UWdrelNieDNFWXdDQQQNdXNkY1VzZHRQcmljZQoAAUAJAPwHBAUTcG9vbHNGYWN0b3J5QWRkcmVzcwIIZ2V0UHJpY2UJAMwIAgUSdXNkY1VzZHRBZGRyZXNzU3RyBQNuaWwFA25pbAMJAAECBQFAAgNJbnQFAUAJAAIBCQCsAgIJAAMBBQFAAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQFDXVzZGNVc2R0UHJpY2UDCQAAAgIsOFE2U0UyQU5lYnVmdzhKdVBqSlZSalpENmRyRDhpaGpOak04eGFHVVNmZFIFByRtYXRjaDAEBXByaWNlAIDC1y8FBXByaWNlCQEIdGhyb3dFcnIBAhBpbnZhbGlkIGFzc2V0IGlkCQDNCAIFA2FjYwUFcHJpY2UKAAIkbAULYXNzZXRJZExpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBA21hcAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgkBCHRocm93RXJyAQIQaW52YWxpZCBjaGFpbiBpZAERY2FsY1RyZWFzdXJ5VmFsdWUBDmZhY3RvcnlBZGRyZXNzBA90cmVhc3VyeUFkZHJlc3MJARJnZXRUcmVhc3VyeUFkZHJlc3MBBQ5mYWN0b3J5QWRkcmVzcwQTcG9vbHNGYWN0b3J5QWRkcmVzcwkBFmdldFBvb2xzRmFjdG9yeUFkZHJlc3MBBQ5mYWN0b3J5QWRkcmVzcwQJYXNzZXRzU3RyCQC1CQIJAQxnZXRBc3NldHNTdHIBBQ5mYWN0b3J5QWRkcmVzcwUDU0VQBA5hc3NldHNCYWxhbmNlcwkBEWdldEFzc2V0c0JhbGFuY2VzAgUPdHJlYXN1cnlBZGRyZXNzBQlhc3NldHNTdHIEDGFzc2V0c1ByaWNlcwkBD2dldEFzc2V0c1ByaWNlcwIFE3Bvb2xzRmFjdG9yeUFkZHJlc3MFCWFzc2V0c1N0cgoBBnJlZHVjZQIDYWNjDm5leHRBc3NldElkU3RyBAdhc3NldElkCQDZBAEFDm5leHRBc3NldElkU3RyBAVpbmRleAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDPCAIFCWFzc2V0c1N0cgUObmV4dEFzc2V0SWRTdHIJAQd3cmFwRXJyAQIQaW52YWxpZCBhc3NldCBpZAQHYmFsYW5jZQkAkQMCBQ5hc3NldHNCYWxhbmNlcwUFaW5kZXgEBXByaWNlCQCRAwIFDGFzc2V0c1ByaWNlcwUFaW5kZXgECmFzc2V0VmFsdWUJAGsDBQdiYWxhbmNlBQVwcmljZQUFbXVsdDgJAGQCBQNhY2MFCmFzc2V0VmFsdWUEDXRyZWFzdXJ5VmFsdWUKAAIkbAUJYXNzZXRzU3RyCgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQZyZWR1Y2UCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoFDXRyZWFzdXJ5VmFsdWUFAWkBCHdpdGhkcmF3AQRhcmdzBAlyZWNpcGllbnQJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUEYXJncwAABAZhbW91bnQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQRhcmdzAAEEBnJlc3VsdAkA/AcECAUBaQZjYWxsZXICDXRyYW5zZmVyV2F2ZXMJAMwIAggFCXJlY2lwaWVudAVieXRlcwkAzAgCBQZhbW91bnQFA25pbAUDbmlsCQCUCgIFA25pbAUGcmVzdWx0AWkBC3NldEludFBhcmFtAQRhcmdzBANrZXkJAJEDAgUEYXJncwAABAN2YWwJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQRhcmdzAAEEBnJlc3VsdAkA/AcECAUBaQZjYWxsZXICDGludGVnZXJFbnRyeQkAzAgCBQNrZXkJAMwIAgUDdmFsBQNuaWwFA25pbAkAlAoCBQNuaWwFBnJlc3VsdAFpAQRzd2FwAg9jYWxsZXJQdWJsaWNLZXkEYXJncwQOZmFjdG9yeUFkZHJlc3MIBQFpBmNhbGxlcgQLdXNlckFkZHJlc3MJAKcIAQUPY2FsbGVyUHVibGljS2V5BAdwYXltZW50AwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQkAkQMCCAUBaQhwYXltZW50cwAACQEIdGhyb3dFcnIBAhUxIHBheW1lbnQgaXMgcmVxdWlyZWQEA2VycgkBB3dyYXBFcnIBAhhpbnZhbGlkIHBheW1lbnQgYXNzZXQgaWQEDnBheW1lbnRBc3NldElkAwkAAAIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAggFB3BheW1lbnQHYXNzZXRJZAUDZXJyCQEMZ2V0THBBc3NldElkAQUOZmFjdG9yeUFkZHJlc3MJAQV2YWx1ZQEIBQdwYXltZW50B2Fzc2V0SWQJAQh0aHJvd0VycgEFA2VycgQIcHdyUHJpY2UAZAQJcHdyQW1vdW50CQBpAggFB3BheW1lbnQGYW1vdW50BQhwd3JQcmljZQQJYXNzZXRzU3RyCQC1CQIJAQxnZXRBc3NldHNTdHIBBQ5mYWN0b3J5QWRkcmVzcwUDU0VQBApwd3JCYWxhbmNlCQDwBwIFDmZhY3RvcnlBZGRyZXNzCQEPZ2V0UG93ZXJBc3NldElkAQUOZmFjdG9yeUFkZHJlc3MDCQAAAgUKcHdyQmFsYW5jZQUKcHdyQmFsYW5jZQQPdHJlYXN1cnlBZGRyZXNzCQESZ2V0VHJlYXN1cnlBZGRyZXNzAQUOZmFjdG9yeUFkZHJlc3MEDmFzc2V0c0JhbGFuY2VzCQERZ2V0QXNzZXRzQmFsYW5jZXMCBQ90cmVhc3VyeUFkZHJlc3MFCWFzc2V0c1N0cgoBA21hcAIDYWNjDm5leHRBc3NldElkU3RyBAdhc3NldElkCQDZBAEFDm5leHRBc3NldElkU3RyBAVpbmRleAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDPCAIFCWFzc2V0c1N0cgUObmV4dEFzc2V0SWRTdHIJAQd3cmFwRXJyAQIVaW52YWxpZCBhc3NldCBiYWxhbmNlBAdiYWxhbmNlCQCRAwIFDmFzc2V0c0JhbGFuY2VzBQVpbmRleAQGYW1vdW50CQBrAwUHYmFsYW5jZQUJcHdyQW1vdW50BQpwd3JCYWxhbmNlAwkAZgIFBmFtb3VudAAACQCUCgIJAM0IAggFA2FjYwJfMQUHYXNzZXRJZAkAzQgCCAUDYWNjAl8yBQZhbW91bnQFA2FjYwQJdHJhbnNmZXJzCgACJGwFCWFzc2V0c1N0cgoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJQKAgUDbmlsBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBA21hcAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgMJAAACBQl0cmFuc2ZlcnMFCXRyYW5zZmVycwQUYWRkaXRpb25hbExvY2tSb3VuZHMAAAQOZmFjdG9yeUFjdGlvbnMJAM4IAgkAzAgCCQD8BwQFDmZhY3RvcnlBZGRyZXNzAiBjb21taXRBZnRlclN0YXJ0V2l0aExvY2tSb3VuZEZvcgkAzAgCCQClCAEJARRwb3dlckNvbnRyYWN0QWRkcmVzcwEFDmZhY3RvcnlBZGRyZXNzCQDMCAIJAKUIAQUOZmFjdG9yeUFkZHJlc3MJAMwIAgkApQgBBQt1c2VyQWRkcmVzcwkAzAgCBRRhZGRpdGlvbmFsTG9ja1JvdW5kcwkAzAgCCQEPZ2V0UG93ZXJBc3NldElkAQUOZmFjdG9yeUFkZHJlc3MJAMwIAgUJcHdyQW1vdW50BQNuaWwFA25pbAUDbmlsAwkAAAIJAJADAQgFCXRyYW5zZmVycwJfMQAABQNuaWwJAMwIAgkA/AcEBQ5mYWN0b3J5QWRkcmVzcwIOdHJhbnNmZXJBc3NldHMJAMwIAggFC3VzZXJBZGRyZXNzBWJ5dGVzCQDMCAIIBQl0cmFuc2ZlcnMCXzEJAMwIAggFCXRyYW5zZmVycwJfMgUDbmlsBQNuaWwFA25pbAkAlAoCCQDMCAIJAQRCdXJuAgUOcGF5bWVudEFzc2V0SWQIBQdwYXltZW50BmFtb3VudAUDbmlsBQ5mYWN0b3J5QWN0aW9ucwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVwcmljZQIPY2FsbGVyUHVibGljS2V5BGFyZ3MEDmZhY3RvcnlBZGRyZXNzCAUBaQZjYWxsZXIEDWN1cnJlbnRQZXJpb2QJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBQ5mYWN0b3J5QWRkcmVzcwkBEGtleUN1cnJlbnRQZXJpb2QACQEHd3JhcEVycgECFmludmFsaWQgY3VycmVudCBwZXJpb2QEEnN0YXJ0VHJlYXN1cnlWYWx1ZQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFDmZhY3RvcnlBZGRyZXNzCQEYa2V5VHJlYXN1cnlWYWx1ZUJ5UGVyaW9kAQUNY3VycmVudFBlcmlvZAkBB3dyYXBFcnIBCQCsAgICImludmFsaWQgdHJlYXN1cnkgdmFsdWUgZm9yIHBlcmlvZCAJAKQDAQUNY3VycmVudFBlcmlvZAQNdHJlYXN1cnlWYWx1ZQkBEWNhbGNUcmVhc3VyeVZhbHVlAQUOZmFjdG9yeUFkZHJlc3MEEXRyZWFzdXJ5VmFsdWVEaWZmCQBlAgUNdHJlYXN1cnlWYWx1ZQUSc3RhcnRUcmVhc3VyeVZhbHVlBAtwd3JQcmljZVJhdwkAkQMCCQEPZ2V0QXNzZXRzUHJpY2VzAgUOZmFjdG9yeUFkZHJlc3MJAMwIAgkA2AQBCQEPZ2V0UG93ZXJBc3NldElkAQUOZmFjdG9yeUFkZHJlc3MFA25pbAAABAhwd3JQcmljZQMJAGYCBQtwd3JQcmljZVJhdwAABQtwd3JQcmljZVJhdwkBCHRocm93RXJyAQIRaW52YWxpZCBQV1IgcHJpY2UEBXByaWNlAwkAZgIAAAURdHJlYXN1cnlWYWx1ZURpZmYJAGkCBQhwd3JQcmljZQBkCQBpAgkAZAIJAGsDBRF0cmVhc3VyeVZhbHVlRGlmZgACAJBOBQhwd3JQcmljZQBkCQCUCgIFA25pbAUFcHJpY2UBaQEQZ2V0VHJlYXN1cnlWYWx1ZQIPY2FsbGVyUHVibGljS2V5BGFyZ3MEDmZhY3RvcnlBZGRyZXNzCAUBaQZjYWxsZXIEDXRyZWFzdXJ5VmFsdWUJARFjYWxjVHJlYXN1cnlWYWx1ZQEFDmZhY3RvcnlBZGRyZXNzCQCUCgIFA25pbAUNdHJlYXN1cnlWYWx1ZQECdHgBBnZlcmlmeQAJAAACBQdjaGFpbklkBQhjaGFpbklkVGQ49os=", "height": 2845767, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CaqBX449oHEdueMRrQmTPCUVDrq7tY9fTmcGJZLAvXon Next: 9WzgvqcCxRSBPRa9QiZstfGGNY4MmkqsGYAD47KMPHMi Diff:
Old | New | Differences | |
---|---|---|---|
290 | 290 | } | |
291 | 291 | az | |
292 | 292 | } | |
293 | - | else o("invalid asset id") | |
293 | + | else if (("8Q6SE2ANebufw8JuPjJVRjZD6drD8ihjNjM8xaGUSfdR" == x)) | |
294 | + | then { | |
295 | + | let ah = 100000000 | |
296 | + | ah | |
297 | + | } | |
298 | + | else o("invalid asset id") | |
294 | 299 | } | |
295 | 300 | (O :+ ah) | |
296 | 301 | } |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = "__" | |
5 | 5 | ||
6 | 6 | let b = take(drop(this.bytes, 1), 1) | |
7 | 7 | ||
8 | 8 | let c = base58'2T' | |
9 | 9 | ||
10 | 10 | let d = base58'2W' | |
11 | 11 | ||
12 | 12 | func e (f,g) = if ((f.caller == g)) | |
13 | 13 | then true | |
14 | 14 | else throw("permission denied") | |
15 | 15 | ||
16 | 16 | ||
17 | 17 | func h (f) = e(f, this) | |
18 | 18 | ||
19 | 19 | ||
20 | 20 | let i = "__" | |
21 | 21 | ||
22 | 22 | let j = "WAVES" | |
23 | 23 | ||
24 | 24 | let k = "wxdao_calculator.ride" | |
25 | 25 | ||
26 | 26 | let l = 100000000 | |
27 | 27 | ||
28 | 28 | func m (n) = ((k + ": ") + n) | |
29 | 29 | ||
30 | 30 | ||
31 | 31 | func o (n) = throw(m(n)) | |
32 | 32 | ||
33 | 33 | ||
34 | 34 | func p () = makeString(["%s", "currentPeriod"], i) | |
35 | 35 | ||
36 | 36 | ||
37 | 37 | func q (r) = makeString(["%s%d", "startHeight", toString(r)], i) | |
38 | 38 | ||
39 | 39 | ||
40 | 40 | func s () = makeString(["%s", "periodLength"], i) | |
41 | 41 | ||
42 | 42 | ||
43 | 43 | func t (r) = makeString(["%s%d", "treasuryValue", toString(r)], i) | |
44 | 44 | ||
45 | 45 | ||
46 | 46 | func u () = "%s__powerConfigAddress" | |
47 | 47 | ||
48 | 48 | ||
49 | 49 | func v (w) = valueOrErrorMessage({ | |
50 | 50 | let x = getString(w, u()) | |
51 | 51 | if ($isInstanceOf(x, "String")) | |
52 | 52 | then { | |
53 | 53 | let n = x | |
54 | 54 | addressFromString(n) | |
55 | 55 | } | |
56 | 56 | else if ($isInstanceOf(x, "Unit")) | |
57 | 57 | then unit | |
58 | 58 | else throw("Match error") | |
59 | 59 | }, m("invalid power config address")) | |
60 | 60 | ||
61 | 61 | ||
62 | 62 | func y () = "powerAssetId" | |
63 | 63 | ||
64 | 64 | ||
65 | 65 | func z (w) = fromBase58String(valueOrErrorMessage(getString(v(w), y()), m("invalid power asset id"))) | |
66 | 66 | ||
67 | 67 | ||
68 | 68 | func A () = "%s__powerContractAddress" | |
69 | 69 | ||
70 | 70 | ||
71 | 71 | func B (w) = valueOrErrorMessage({ | |
72 | 72 | let x = getString(w, A()) | |
73 | 73 | if ($isInstanceOf(x, "String")) | |
74 | 74 | then { | |
75 | 75 | let n = x | |
76 | 76 | addressFromString(n) | |
77 | 77 | } | |
78 | 78 | else if ($isInstanceOf(x, "Unit")) | |
79 | 79 | then unit | |
80 | 80 | else throw("Match error") | |
81 | 81 | }, m("invalid power contract address")) | |
82 | 82 | ||
83 | 83 | ||
84 | 84 | func C () = "%s__poolsFactoryAddress" | |
85 | 85 | ||
86 | 86 | ||
87 | 87 | func D (w) = valueOrErrorMessage({ | |
88 | 88 | let x = getString(w, C()) | |
89 | 89 | if ($isInstanceOf(x, "String")) | |
90 | 90 | then { | |
91 | 91 | let n = x | |
92 | 92 | addressFromString(n) | |
93 | 93 | } | |
94 | 94 | else if ($isInstanceOf(x, "Unit")) | |
95 | 95 | then unit | |
96 | 96 | else throw("Match error") | |
97 | 97 | }, m("invalid pools factory address")) | |
98 | 98 | ||
99 | 99 | ||
100 | 100 | func E () = "%s__treasuryAddress" | |
101 | 101 | ||
102 | 102 | ||
103 | 103 | func F (w) = valueOrErrorMessage({ | |
104 | 104 | let x = getString(w, E()) | |
105 | 105 | if ($isInstanceOf(x, "String")) | |
106 | 106 | then { | |
107 | 107 | let n = x | |
108 | 108 | addressFromString(n) | |
109 | 109 | } | |
110 | 110 | else if ($isInstanceOf(x, "Unit")) | |
111 | 111 | then unit | |
112 | 112 | else throw("Match error") | |
113 | 113 | }, m("invalid treasury address")) | |
114 | 114 | ||
115 | 115 | ||
116 | 116 | func G () = "%s__assets" | |
117 | 117 | ||
118 | 118 | ||
119 | 119 | func H (w) = valueOrErrorMessage(getString(w, G()), m("invalid assets")) | |
120 | 120 | ||
121 | 121 | ||
122 | 122 | func I () = "%s__lpAssetId" | |
123 | 123 | ||
124 | 124 | ||
125 | 125 | func J (w) = fromBase58String(valueOrErrorMessage(getString(w, I()), m("invalid lp asset id"))) | |
126 | 126 | ||
127 | 127 | ||
128 | 128 | func K (L,M) = { | |
129 | 129 | func N (O,P) = { | |
130 | 130 | let Q = if ((P == j)) | |
131 | 131 | then wavesBalance(L) | |
132 | 132 | else assetBalance(L, fromBase58String(P)) | |
133 | 133 | (O :+ Q) | |
134 | 134 | } | |
135 | 135 | ||
136 | 136 | let R = M | |
137 | 137 | let S = size(R) | |
138 | 138 | let T = nil | |
139 | 139 | func U (V,W) = if ((W >= S)) | |
140 | 140 | then V | |
141 | 141 | else N(V, R[W]) | |
142 | 142 | ||
143 | 143 | func X (V,W) = if ((W >= S)) | |
144 | 144 | then V | |
145 | 145 | else throw("List size exceeds 10") | |
146 | 146 | ||
147 | 147 | X(U(U(U(U(U(U(U(U(U(U(T, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
148 | 148 | } | |
149 | 149 | ||
150 | 150 | ||
151 | 151 | func Y (Z,M) = if ((b == d)) | |
152 | 152 | then { | |
153 | 153 | let aa = "3PKfrupEydU2nZAghVjZAfvCwMBkzuR1F52" | |
154 | 154 | let ab = { | |
155 | 155 | let ac = invoke(Z, "getPrice", [aa], nil) | |
156 | 156 | if ($isInstanceOf(ac, "Int")) | |
157 | 157 | then ac | |
158 | 158 | else throw(($getType(ac) + " couldn't be cast to Int")) | |
159 | 159 | } | |
160 | 160 | let ad = "3PPZWgFNRKHLvM51pwS934C8VZ7d2F4Z58g" | |
161 | 161 | let ae = { | |
162 | 162 | let ac = invoke(Z, "getPrice", [ad], nil) | |
163 | 163 | if ($isInstanceOf(ac, "Int")) | |
164 | 164 | then ac | |
165 | 165 | else throw(($getType(ac) + " couldn't be cast to Int")) | |
166 | 166 | } | |
167 | 167 | let af = fraction(ab, l, ae) | |
168 | 168 | func N (O,ag) = { | |
169 | 169 | let ah = { | |
170 | 170 | let x = ag | |
171 | 171 | if (("2thsACuHmzDMuNezPM32wg9a3BwUzBWDeSKakgz3cw21" == x)) | |
172 | 172 | then { | |
173 | 173 | let ai = "3PDi7Qq8pLQYvtKyTfQuqqPUWyhoYbU957t" | |
174 | 174 | let aj = { | |
175 | 175 | let ac = invoke(Z, "getPrice", [ai], nil) | |
176 | 176 | if ($isInstanceOf(ac, "Int")) | |
177 | 177 | then ac | |
178 | 178 | else throw(($getType(ac) + " couldn't be cast to Int")) | |
179 | 179 | } | |
180 | 180 | fraction(aj, ab, l) | |
181 | 181 | } | |
182 | 182 | else if (("Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on" == x)) | |
183 | 183 | then { | |
184 | 184 | let ak = "3PFzaH2ghpwANHFgjeva83N1yxzErELx2eh" | |
185 | 185 | let al = { | |
186 | 186 | let ac = invoke(Z, "getPrice", [ak], nil) | |
187 | 187 | if ($isInstanceOf(ac, "Int")) | |
188 | 188 | then ac | |
189 | 189 | else throw(($getType(ac) + " couldn't be cast to Int")) | |
190 | 190 | } | |
191 | 191 | fraction(al, ab, l) | |
192 | 192 | } | |
193 | 193 | else if (("34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ" == x)) | |
194 | 194 | then { | |
195 | 195 | let am = "3P8KMyAJCPWNcyedqrmymxaeWonvmkhGauz" | |
196 | 196 | let an = { | |
197 | 197 | let ac = invoke(Z, "getPrice", [am], nil) | |
198 | 198 | if ($isInstanceOf(ac, "Int")) | |
199 | 199 | then ac | |
200 | 200 | else throw(($getType(ac) + " couldn't be cast to Int")) | |
201 | 201 | } | |
202 | 202 | fraction(an, af, l) | |
203 | 203 | } | |
204 | 204 | else if (("6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ" == x)) | |
205 | 205 | then { | |
206 | 206 | let ao = "3P3g3eipfG2NZKKQE8DZXt2E9tRJqii9jcX" | |
207 | 207 | let ap = { | |
208 | 208 | let ac = invoke(Z, "getPrice", [ao], nil) | |
209 | 209 | if ($isInstanceOf(ac, "Int")) | |
210 | 210 | then ac | |
211 | 211 | else throw(($getType(ac) + " couldn't be cast to Int")) | |
212 | 212 | } | |
213 | 213 | fraction(ab, l, ap) | |
214 | 214 | } | |
215 | 215 | else if (("HZk1mbfuJpmxU1Fs4AX5MWLVYtctsNcg6e2C6VKqK8zk" == x)) | |
216 | 216 | then { | |
217 | 217 | let aq = "3P94wvu5gA7VhjPgAB3twaeqdwHCwNK2vsn" | |
218 | 218 | let ar = { | |
219 | 219 | let ac = invoke(Z, "getPrice", [aq], nil) | |
220 | 220 | if ($isInstanceOf(ac, "Int")) | |
221 | 221 | then ac | |
222 | 222 | else throw(($getType(ac) + " couldn't be cast to Int")) | |
223 | 223 | } | |
224 | 224 | fraction(ar, af, l) | |
225 | 225 | } | |
226 | 226 | else if (("HZk1mbfuJpmxU1Fs4AX5MWLVYtctsNcg6e2C6VKqK8zk" == x)) | |
227 | 227 | then { | |
228 | 228 | let as = "3P3XGTN6s292g9iwYhs3TEqJqHiffQYojuE" | |
229 | 229 | let at = { | |
230 | 230 | let ac = invoke(Z, "getPrice", [as], nil) | |
231 | 231 | if ($isInstanceOf(ac, "Int")) | |
232 | 232 | then ac | |
233 | 233 | else throw(($getType(ac) + " couldn't be cast to Int")) | |
234 | 234 | } | |
235 | 235 | fraction(at, ab, l) | |
236 | 236 | } | |
237 | 237 | else if (("HZk1mbfuJpmxU1Fs4AX5MWLVYtctsNcg6e2C6VKqK8zk" == x)) | |
238 | 238 | then { | |
239 | 239 | let au = "3PCBWDTA6jrFswd7gQgaE3Xk7gLM5RKofvp" | |
240 | 240 | let av = { | |
241 | 241 | let ac = invoke(Z, "getPrice", [au], nil) | |
242 | 242 | if ($isInstanceOf(ac, "Int")) | |
243 | 243 | then ac | |
244 | 244 | else throw(($getType(ac) + " couldn't be cast to Int")) | |
245 | 245 | } | |
246 | 246 | fraction(av, ab, l) | |
247 | 247 | } | |
248 | 248 | else o("invalid asset id") | |
249 | 249 | } | |
250 | 250 | (O :+ ah) | |
251 | 251 | } | |
252 | 252 | ||
253 | 253 | let R = M | |
254 | 254 | let S = size(R) | |
255 | 255 | let T = nil | |
256 | 256 | func U (V,W) = if ((W >= S)) | |
257 | 257 | then V | |
258 | 258 | else N(V, R[W]) | |
259 | 259 | ||
260 | 260 | func X (V,W) = if ((W >= S)) | |
261 | 261 | then V | |
262 | 262 | else throw("List size exceeds 10") | |
263 | 263 | ||
264 | 264 | X(U(U(U(U(U(U(U(U(U(U(T, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
265 | 265 | } | |
266 | 266 | else if ((b == c)) | |
267 | 267 | then { | |
268 | 268 | func N (O,ag) = { | |
269 | 269 | let ah = { | |
270 | 270 | let x = ag | |
271 | 271 | if (("EMAMLxDnv3xiz8RXg8Btj33jcEw3wLczL3JKYYmuubpc" == x)) | |
272 | 272 | then { | |
273 | 273 | let aw = "3MrULQRLc52GWrJF1tMcAm4M78fPe57o9Kt" | |
274 | 274 | let ax = { | |
275 | 275 | let ac = invoke(Z, "getPrice", [aw], nil) | |
276 | 276 | if ($isInstanceOf(ac, "Int")) | |
277 | 277 | then ac | |
278 | 278 | else throw(($getType(ac) + " couldn't be cast to Int")) | |
279 | 279 | } | |
280 | 280 | ax | |
281 | 281 | } | |
282 | 282 | else if (("A7Ksh7fXyqm1KhKAiK3bAB2aiPSitQQF6v1pyu9SS3FR" == x)) | |
283 | 283 | then { | |
284 | 284 | let ay = "3MzKSdTH2jFbypLsoNfrH7QgkzSbx3EYwCA" | |
285 | 285 | let az = { | |
286 | 286 | let ac = invoke(Z, "getPrice", [ay], nil) | |
287 | 287 | if ($isInstanceOf(ac, "Int")) | |
288 | 288 | then ac | |
289 | 289 | else throw(($getType(ac) + " couldn't be cast to Int")) | |
290 | 290 | } | |
291 | 291 | az | |
292 | 292 | } | |
293 | - | else o("invalid asset id") | |
293 | + | else if (("8Q6SE2ANebufw8JuPjJVRjZD6drD8ihjNjM8xaGUSfdR" == x)) | |
294 | + | then { | |
295 | + | let ah = 100000000 | |
296 | + | ah | |
297 | + | } | |
298 | + | else o("invalid asset id") | |
294 | 299 | } | |
295 | 300 | (O :+ ah) | |
296 | 301 | } | |
297 | 302 | ||
298 | 303 | let R = M | |
299 | 304 | let S = size(R) | |
300 | 305 | let T = nil | |
301 | 306 | func U (V,W) = if ((W >= S)) | |
302 | 307 | then V | |
303 | 308 | else N(V, R[W]) | |
304 | 309 | ||
305 | 310 | func X (V,W) = if ((W >= S)) | |
306 | 311 | then V | |
307 | 312 | else throw("List size exceeds 10") | |
308 | 313 | ||
309 | 314 | X(U(U(U(U(U(U(U(U(U(U(T, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
310 | 315 | } | |
311 | 316 | else o("invalid chain id") | |
312 | 317 | ||
313 | 318 | ||
314 | 319 | func aA (w) = { | |
315 | 320 | let aB = F(w) | |
316 | 321 | let Z = D(w) | |
317 | 322 | let aC = split(H(w), i) | |
318 | 323 | let aD = K(aB, aC) | |
319 | 324 | let aE = Y(Z, aC) | |
320 | 325 | func aF (O,P) = { | |
321 | 326 | let aG = fromBase58String(P) | |
322 | 327 | let aH = valueOrErrorMessage(indexOf(aC, P), m("invalid asset id")) | |
323 | 328 | let Q = aD[aH] | |
324 | 329 | let ah = aE[aH] | |
325 | 330 | let aI = fraction(Q, ah, l) | |
326 | 331 | (O + aI) | |
327 | 332 | } | |
328 | 333 | ||
329 | 334 | let aJ = { | |
330 | 335 | let R = aC | |
331 | 336 | let S = size(R) | |
332 | 337 | let T = 0 | |
333 | 338 | func U (V,W) = if ((W >= S)) | |
334 | 339 | then V | |
335 | 340 | else aF(V, R[W]) | |
336 | 341 | ||
337 | 342 | func X (V,W) = if ((W >= S)) | |
338 | 343 | then V | |
339 | 344 | else throw("List size exceeds 10") | |
340 | 345 | ||
341 | 346 | X(U(U(U(U(U(U(U(U(U(U(T, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
342 | 347 | } | |
343 | 348 | aJ | |
344 | 349 | } | |
345 | 350 | ||
346 | 351 | ||
347 | 352 | @Callable(f) | |
348 | 353 | func withdraw (aK) = { | |
349 | 354 | let aL = addressFromStringValue(aK[0]) | |
350 | 355 | let aM = parseIntValue(aK[1]) | |
351 | 356 | let aN = invoke(f.caller, "transferWaves", [aL.bytes, aM], nil) | |
352 | 357 | $Tuple2(nil, aN) | |
353 | 358 | } | |
354 | 359 | ||
355 | 360 | ||
356 | 361 | ||
357 | 362 | @Callable(f) | |
358 | 363 | func setIntParam (aK) = { | |
359 | 364 | let aO = aK[0] | |
360 | 365 | let aP = parseIntValue(aK[1]) | |
361 | 366 | let aN = invoke(f.caller, "integerEntry", [aO, aP], nil) | |
362 | 367 | $Tuple2(nil, aN) | |
363 | 368 | } | |
364 | 369 | ||
365 | 370 | ||
366 | 371 | ||
367 | 372 | @Callable(f) | |
368 | 373 | func swap (aQ,aK) = { | |
369 | 374 | let w = f.caller | |
370 | 375 | let aR = addressFromPublicKey(aQ) | |
371 | 376 | let aS = if ((size(f.payments) == 1)) | |
372 | 377 | then f.payments[0] | |
373 | 378 | else o("1 payment is required") | |
374 | 379 | let aT = m("invalid payment asset id") | |
375 | 380 | let aU = if ((valueOrErrorMessage(aS.assetId, aT) == J(w))) | |
376 | 381 | then value(aS.assetId) | |
377 | 382 | else o(aT) | |
378 | 383 | let aV = 100 | |
379 | 384 | let aW = (aS.amount / aV) | |
380 | 385 | let aC = split(H(w), i) | |
381 | 386 | let aX = assetBalance(w, z(w)) | |
382 | 387 | if ((aX == aX)) | |
383 | 388 | then { | |
384 | 389 | let aB = F(w) | |
385 | 390 | let aD = K(aB, aC) | |
386 | 391 | func N (O,P) = { | |
387 | 392 | let aG = fromBase58String(P) | |
388 | 393 | let aH = valueOrErrorMessage(indexOf(aC, P), m("invalid asset balance")) | |
389 | 394 | let Q = aD[aH] | |
390 | 395 | let aM = fraction(Q, aW, aX) | |
391 | 396 | if ((aM > 0)) | |
392 | 397 | then $Tuple2((O._1 :+ aG), (O._2 :+ aM)) | |
393 | 398 | else O | |
394 | 399 | } | |
395 | 400 | ||
396 | 401 | let aY = { | |
397 | 402 | let R = aC | |
398 | 403 | let S = size(R) | |
399 | 404 | let T = $Tuple2(nil, nil) | |
400 | 405 | func U (V,W) = if ((W >= S)) | |
401 | 406 | then V | |
402 | 407 | else N(V, R[W]) | |
403 | 408 | ||
404 | 409 | func X (V,W) = if ((W >= S)) | |
405 | 410 | then V | |
406 | 411 | else throw("List size exceeds 6") | |
407 | 412 | ||
408 | 413 | X(U(U(U(U(U(U(T, 0), 1), 2), 3), 4), 5), 6) | |
409 | 414 | } | |
410 | 415 | if ((aY == aY)) | |
411 | 416 | then { | |
412 | 417 | let aZ = 0 | |
413 | 418 | let ba = ([invoke(w, "commitAfterStartWithLockRoundFor", [toString(B(w)), toString(w), toString(aR), aZ, z(w), aW], nil)] ++ (if ((size(aY._1) == 0)) | |
414 | 419 | then nil | |
415 | 420 | else [invoke(w, "transferAssets", [aR.bytes, aY._1, aY._2], nil)])) | |
416 | 421 | $Tuple2([Burn(aU, aS.amount)], ba) | |
417 | 422 | } | |
418 | 423 | else throw("Strict value is not equal to itself.") | |
419 | 424 | } | |
420 | 425 | else throw("Strict value is not equal to itself.") | |
421 | 426 | } | |
422 | 427 | ||
423 | 428 | ||
424 | 429 | ||
425 | 430 | @Callable(f) | |
426 | 431 | func price (aQ,aK) = { | |
427 | 432 | let w = f.caller | |
428 | 433 | let bb = valueOrErrorMessage(getInteger(w, p()), m("invalid current period")) | |
429 | 434 | let bc = valueOrErrorMessage(getInteger(w, t(bb)), m(("invalid treasury value for period " + toString(bb)))) | |
430 | 435 | let aJ = aA(w) | |
431 | 436 | let bd = (aJ - bc) | |
432 | 437 | let be = Y(w, [toBase58String(z(w))])[0] | |
433 | 438 | let aV = if ((be > 0)) | |
434 | 439 | then be | |
435 | 440 | else o("invalid PWR price") | |
436 | 441 | let ah = if ((0 > bd)) | |
437 | 442 | then (aV / 100) | |
438 | 443 | else ((fraction(bd, 2, 10000) + aV) / 100) | |
439 | 444 | $Tuple2(nil, ah) | |
440 | 445 | } | |
441 | 446 | ||
442 | 447 | ||
443 | 448 | ||
444 | 449 | @Callable(f) | |
445 | 450 | func getTreasuryValue (aQ,aK) = { | |
446 | 451 | let w = f.caller | |
447 | 452 | let aJ = aA(w) | |
448 | 453 | $Tuple2(nil, aJ) | |
449 | 454 | } | |
450 | 455 | ||
451 | 456 | ||
452 | 457 | @Verifier(bf) | |
453 | 458 | func bg () = (b == c) | |
454 | 459 |
github/deemru/w8io/169f3d6 69.33 ms ◑![]()