tx · 9Yntvwin2bHmAWhDYMe7vJp83gXvStWcLpftuYU8SxWo

3N3irEKCdj77h97aEbfj3fa3uMXCNCXVhKt:  -0.01300000 Waves

2023.12.11 10:13 [2881722] smart account 3N3irEKCdj77h97aEbfj3fa3uMXCNCXVhKt > SELF 0.00000000 Waves

{ "type": 13, "id": "9Yntvwin2bHmAWhDYMe7vJp83gXvStWcLpftuYU8SxWo", "fee": 1300000, "feeAssetId": null, "timestamp": 1702278847712, "version": 1, "sender": "3N3irEKCdj77h97aEbfj3fa3uMXCNCXVhKt", "senderPublicKey": "FACNGaFYnR8yFbQFg9sRBpzGVCyzMyLeVw3JMhGQT1wn", "proofs": [ "5K9ZfUeafrimUCZnFjW5r7hZj8bEojeJGQEFJmi6faiKecJj1SxqbHYcF3zDQY1rKae66KnCnaFzJn9bFDH2dZuC" ], "script": "base64:BgIWCAISBAoCCAESBQoDGBEBEgMKAQgSADAADGNvbnRyYWN0RmlsZQIRbDJtcF9zdGFraW5nLnJpZGUAA1NFUAICX18ABnNjYWxlOACAwtcvAAdzY2FsZTE4AICAkLu61q3wDQANc2NhbGUxOEJpZ0ludAkAtgIBBQdzY2FsZTE4ABJBRERSRVNTX0JZVEVTX1NJWkUAGgANQkxPQ0tTX0lOX0RBWQCgCwAMYWRtaW5BZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBAiMzTXBzN0NacUI5blViRWlyWXlDTU1vQTdWYnFyeEx2SkZTQgEIdGhyb3dFcnIBA21zZwkAAgEJAKwCAgkArAICBQxjb250cmFjdEZpbGUCAjogBQNtc2cACmtleUFzc2V0SWQJALkJAgkAzAgCAgIlcwkAzAgCAgdhc3NldElkBQNuaWwFA1NFUAATa2V5RW1pc3Npb25QZXJCbG9jawkAuQkCCQDMCAICAiVzCQDMCAICEGVtaXNzaW9uUGVyQmxvY2sFA25pbAUDU0VQABlrZXlFbWlzc2lvblBlcmlvZEluQmxvY2tzCQC5CQIJAMwIAgICJXMJAMwIAgIWZW1pc3Npb25QZXJpb2RJbkJsb2NrcwUDbmlsBQNTRVAADWtleVN0YXJ0QmxvY2sJALkJAgkAzAgCAgIlcwkAzAgCAgpzdGFydEJsb2NrBQNuaWwFA1NFUAAQa2V5VG90YWxMcEFtb3VudAkAuQkCCQDMCAICAiVzCQDMCAICDXRvdGFsTHBBbW91bnQFA25pbAUDU0VQABNrZXlUb3RhbEFzc2V0QW1vdW50CQC5CQIJAMwIAgICJXMJAMwIAgIQdG90YWxBc3NldEFtb3VudAUDbmlsBQNTRVAAFmtleVRvdGFsTG9ja2VkTHBBbW91bnQJALkJAgkAzAgCAgIlcwkAzAgCAhN0b3RhbExvY2tlZExwQW1vdW50BQNuaWwFA1NFUAEPa2V5VXNlckxwQW1vdW50AQt1c2VyQWRkcmVzcwkAuQkCCQDMCAICBCVzJXMJAMwIAgIMdXNlckxwQW1vdW50CQDMCAIFC3VzZXJBZGRyZXNzBQNuaWwFA1NFUAEVa2V5VXNlckxvY2tlZExwQW1vdW50AQt1c2VyQWRkcmVzcwkAuQkCCQDMCAICBCVzJXMJAMwIAgISdXNlckxvY2tlZExwQW1vdW50CQDMCAIFC3VzZXJBZGRyZXNzBQNuaWwFA1NFUAETa2V5VXNlclN0YWtpbmdOb2RlcwELdXNlckFkZHJlc3MJALkJAgkAzAgCAgQlcyVzCQDMCAICEHVzZXJTdGFraW5nTm9kZXMJAMwIAgULdXNlckFkZHJlc3MFA25pbAUDU0VQARlrZXlVc2VyU3Rha2luZ05vZGVzU2hhcmVzAQt1c2VyQWRkcmVzcwkAuQkCCQDMCAICBCVzJXMJAMwIAgIWdXNlclN0YWtpbmdOb2Rlc1NoYXJlcwkAzAgCBQt1c2VyQWRkcmVzcwUDbmlsBQNTRVABGmtleVVzZXJUb3RhbEFzc2V0V2l0aGRyYXduAQt1c2VyQWRkcmVzcwkAuQkCCQDMCAICBCVzJXMJAMwIAgITdG90YWxBc3NldFdpdGhkcmF3bgkAzAgCBQt1c2VyQWRkcmVzcwUDbmlsBQNTRVABF2tleVVzZXJUb3RhbEFzc2V0U3Rha2VkAQt1c2VyQWRkcmVzcwkAuQkCCQDMCAICBCVzJXMJAMwIAgIQdG90YWxBc3NldFN0YWtlZAkAzAgCBQt1c2VyQWRkcmVzcwUDbmlsBQNTRVABCmtleUhpc3RvcnkDBHR5cGULdXNlckFkZHJlc3MEdHhJZAkAuQkCCQDMCAICBiVzJXMlcwkAzAgCBQR0eXBlCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIJANgEAQUEdHhJZAUDbmlsBQNTRVABDWZvcm1hdEhpc3RvcnkEC3RvdGFsUHJvZml0BXByaWNlEHRvdGFsQXNzZXRBbW91bnQNdG90YWxMcEFtb3VudAkAuQkCCQDMCAICCCVkJWQlZCVkCQDMCAIJAKQDAQULdG90YWxQcm9maXQJAMwIAgkApgMBBQVwcmljZQkAzAgCCQCkAwEFEHRvdGFsQXNzZXRBbW91bnQJAMwIAgkApAMBBQ10b3RhbExwQW1vdW50BQNuaWwFA1NFUAANdG90YWxMcEFtb3VudAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBRBrZXlUb3RhbExwQW1vdW50AAAAEHRvdGFsQXNzZXRBbW91bnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUTa2V5VG90YWxBc3NldEFtb3VudAAAABN0b3RhbExvY2tlZExwQW1vdW50CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFFmtleVRvdGFsTG9ja2VkTHBBbW91bnQAAAANYXNzZXRJZFN0cmluZwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBQprZXlBc3NldElkAgVXQVZFUwAMYXNzZXRJZEJ5dGVzAwkAAAIFDWFzc2V0SWRTdHJpbmcCBVdBVkVTBQR1bml0CQDZBAEFDWFzc2V0SWRTdHJpbmcAFmVtaXNzaW9uUGVyaW9kSW5CbG9ja3MJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUZa2V5RW1pc3Npb25QZXJpb2RJbkJsb2NrcwUNQkxPQ0tTX0lOX0RBWQAQZW1pc3Npb25QZXJCbG9jawkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBRNrZXlFbWlzc2lvblBlckJsb2NrAAAAEWVtaXNzaW9uUGVyUGVyaW9kCQBoAgUQZW1pc3Npb25QZXJCbG9jawUWZW1pc3Npb25QZXJpb2RJbkJsb2NrcwAKc3RhcnRCbG9jawkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQ1rZXlTdGFydEJsb2NrBQZoZWlnaHQBGXN0cmluZ0xpc3RUb0ludExpc3RIZWxwZXICA2FjYwV2YWx1ZQkAzQgCBQNhY2MJAQ1wYXJzZUludFZhbHVlAQUFdmFsdWUBGGNhbGNUb3RhbFByb2ZpdEZvckhlaWdodAEBaAQLc3RhcnRQZXJpb2QJAGsDBQpzdGFydEJsb2NrAAEFFmVtaXNzaW9uUGVyaW9kSW5CbG9ja3MEDmVsYXBzZWRQZXJpb2RzCQBlAgkAaQIFAWgFFmVtaXNzaW9uUGVyaW9kSW5CbG9ja3MFC3N0YXJ0UGVyaW9kCQCWAwEJAMwIAgAACQDMCAIJAGgCBRFlbWlzc2lvblBlclBlcmlvZAUOZWxhcHNlZFBlcmlvZHMFA25pbAEPY2FsY1RvdGFsUHJvZml0AAkBGGNhbGNUb3RhbFByb2ZpdEZvckhlaWdodAEFBmhlaWdodAEUZ2V0TWF4QXNzZXRBdmFpbGFibGUABAckbWF0Y2gwBQxhc3NldElkQnl0ZXMDCQABAgUHJG1hdGNoMAIEVW5pdAQBdQUHJG1hdGNoMAgJAO8HAQUEdGhpcwlhdmFpbGFibGUDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBYgUHJG1hdGNoMAkA8AcCBQR0aGlzBQFiCQACAQILTWF0Y2ggZXJyb3IBK2dldFRvdGFsQXNzZXRBbW91bnRXaXRoUHJvZml0T3JNYXhBdmFpbGFibGUBCGF0SGVpZ2h0BBp0b3RhbEFzc2V0QW1vdW50V2l0aFByb2ZpdAkAZAIFEHRvdGFsQXNzZXRBbW91bnQJARhjYWxjVG90YWxQcm9maXRGb3JIZWlnaHQBBQhhdEhlaWdodAQLdG90YWxBbW91bnQJAJcDAQkAzAgCBRp0b3RhbEFzc2V0QW1vdW50V2l0aFByb2ZpdAkAzAgCCQEUZ2V0TWF4QXNzZXRBdmFpbGFibGUABQNuaWwDCQAAAgUNdG90YWxMcEFtb3VudAAAAAAFC3RvdGFsQW1vdW50ARBnZXRQcmljZUF0SGVpZ2h0AQFoAwkBAiE9AgUNdG90YWxMcEFtb3VudAAACQC8AgMJALYCAQkBK2dldFRvdGFsQXNzZXRBbW91bnRXaXRoUHJvZml0T3JNYXhBdmFpbGFibGUBBQFoBQ1zY2FsZTE4QmlnSW50CQC2AgEFDXRvdGFsTHBBbW91bnQFDXNjYWxlMThCaWdJbnQBD2dldEN1cnJlbnRQcmljZQAJARBnZXRQcmljZUF0SGVpZ2h0AQUGaGVpZ2h0ARJnZXRSZW1haW5pbmdCbG9ja3MAAwkAAAIFEGVtaXNzaW9uUGVyQmxvY2sAAAAACQBrAwkAZQIJARRnZXRNYXhBc3NldEF2YWlsYWJsZQAJAStnZXRUb3RhbEFzc2V0QW1vdW50V2l0aFByb2ZpdE9yTWF4QXZhaWxhYmxlAQUGaGVpZ2h0AAEFEGVtaXNzaW9uUGVyQmxvY2sBF2dldFVzZXJTdGFraW5nTm9kZXNEYXRhAQt1c2VyQWRkcmVzcwQIbm9kZXNSYXcJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBE2tleVVzZXJTdGFraW5nTm9kZXMBBQt1c2VyQWRkcmVzcwIABAlzaGFyZXNSYXcJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBGWtleVVzZXJTdGFraW5nTm9kZXNTaGFyZXMBBQt1c2VyQWRkcmVzcwIABAlub2Rlc0xpc3QDCQAAAgUIbm9kZXNSYXcCAAUDbmlsCQC1CQIFCG5vZGVzUmF3BQNTRVAEEHNoYXJlc1N0cmluZ0xpc3QDCQAAAgUJc2hhcmVzUmF3AgAFA25pbAkAtQkCBQlzaGFyZXNSYXcFA1NFUAQKc2hhcmVzTGlzdAoAAiRsBRBzaGFyZXNTdHJpbmdMaXN0CgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARlzdHJpbmdMaXN0VG9JbnRMaXN0SGVscGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAyMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQJAJQKAgUJbm9kZXNMaXN0BQpzaGFyZXNMaXN0AQ9jYWxjQXNzZXRGcm9tTHACCGxwQW1vdW50CGF0SGVpZ2h0CQCWAwEJAMwIAgAACQDMCAIJAKADAQkAvAIDCQC2AgEFCGxwQW1vdW50CQEQZ2V0UHJpY2VBdEhlaWdodAEFCGF0SGVpZ2h0BQ1zY2FsZTE4QmlnSW50BQNuaWwBD2NhbGNMcEZyb21Bc3NldAILYXNzZXRBbW91bnQIYXRIZWlnaHQJAJYDAQkAzAgCAAAJAMwIAgkAoAMBCQC8AgMJALYCAQULYXNzZXRBbW91bnQFDXNjYWxlMThCaWdJbnQJARBnZXRQcmljZUF0SGVpZ2h0AQUIYXRIZWlnaHQFA25pbAEPZ2V0VXNlckxwQW1vdW50AQt1c2VyQWRkcmVzcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEPa2V5VXNlckxwQW1vdW50AQULdXNlckFkZHJlc3MAAAEVZ2V0VXNlckxvY2tlZExwQW1vdW50AQt1c2VyQWRkcmVzcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEVa2V5VXNlckxvY2tlZExwQW1vdW50AQULdXNlckFkZHJlc3MAAAEgZ2V0VXNlckF2YWlsYWJsZUFzc2V0c1RvV2l0aGRyYXcBC3VzZXJBZGRyZXNzBAx1c2VyTHBBbW91bnQJAQ9nZXRVc2VyTHBBbW91bnQBBQt1c2VyQWRkcmVzcwkBD2NhbGNBc3NldEZyb21McAIFDHVzZXJMcEFtb3VudAUGaGVpZ2h0AQ9nZXRTdGFrZUFjdGlvbnMDAWkLdXNlckFkZHJlc3MLc3Rha2VIZWlnaHQEBmNoZWNrcwkAzAgCAwkAZwIFC3N0YWtlSGVpZ2h0BQpzdGFydEJsb2NrBgkBCHRocm93RXJyAQkAuQkCCQDMCAICDHN0YWtlSGVpZ2h0KAkAzAgCCQCkAwEFC3N0YWtlSGVpZ2h0CQDMCAICHSkgaXMgZ3JlYXRlciB0aGFuIHN0YXJ0QmxvY2soCQDMCAIJAKQDAQUKc3RhcnRCbG9jawkAzAgCAgEpBQNuaWwCAAkAzAgCAwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQYJAQh0aHJvd0VycgECGHNob3VsZCBpbmNsdWRlIDEgcGF5bWVudAkAzAgCAwkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUMYXNzZXRJZEJ5dGVzBgkBCHRocm93RXJyAQkArAICAhVwYXltZW50IHNob3VsZCBiZSBpbiAFDWFzc2V0SWRTdHJpbmcJAMwIAgMJAGYCCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAAABgIncGF5bWVudCBhbW91bnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAwCQDMCAIDCQAAAgkAyAEBCQDZBAEFC3VzZXJBZGRyZXNzBRJBRERSRVNTX0JZVEVTX1NJWkUGCQEIdGhyb3dFcnIBAhl1c2VyIGFkZHJlc3MgaXMgbm90IHZhbGlkBQNuaWwDCQAAAgUGY2hlY2tzBQZjaGVja3MEDXBheW1lbnRBbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BA9wYXltZW50THBBbW91bnQJAQ9jYWxjTHBGcm9tQXNzZXQCBQ1wYXltZW50QW1vdW50BQtzdGFrZUhlaWdodAQMdXNlckxwQW1vdW50CQEPZ2V0VXNlckxwQW1vdW50AQULdXNlckFkZHJlc3MEFXVzZXJUb3RhbFN0YWtlZEFtb3VudAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEXa2V5VXNlclRvdGFsQXNzZXRTdGFrZWQBBQt1c2VyQWRkcmVzcwAABBBuZXdUb3RhbExwQW1vdW50CQBkAgUNdG90YWxMcEFtb3VudAUPcGF5bWVudExwQW1vdW50BBNuZXdUb3RhbEFzc2V0QW1vdW50CQEPY2FsY0Fzc2V0RnJvbUxwAgUQbmV3VG90YWxMcEFtb3VudAULc3Rha2VIZWlnaHQED25ld1VzZXJMcEFtb3VudAkAZAIFDHVzZXJMcEFtb3VudAUPcGF5bWVudExwQW1vdW50BBhuZXdVc2VyVG90YWxTdGFrZWRBbW91bnQJAGQCBRV1c2VyVG90YWxTdGFrZWRBbW91bnQFDXBheW1lbnRBbW91bnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBCmtleUhpc3RvcnkDAgVzdGFrZQULdXNlckFkZHJlc3MIBQFpDXRyYW5zYWN0aW9uSWQJAQ1mb3JtYXRIaXN0b3J5BAkBD2NhbGNUb3RhbFByb2ZpdAAJAQ9nZXRDdXJyZW50UHJpY2UABQ10b3RhbExwQW1vdW50BRB0b3RhbEFzc2V0QW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRBrZXlUb3RhbExwQW1vdW50BRBuZXdUb3RhbExwQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRNrZXlUb3RhbEFzc2V0QW1vdW50BRNuZXdUb3RhbEFzc2V0QW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEPa2V5VXNlckxwQW1vdW50AQULdXNlckFkZHJlc3MFD25ld1VzZXJMcEFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBF2tleVVzZXJUb3RhbEFzc2V0U3Rha2VkAQULdXNlckFkZHJlc3MFGG5ld1VzZXJUb3RhbFN0YWtlZEFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5U3RhcnRCbG9jawULc3Rha2VIZWlnaHQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQBaQENc3Rha2VGb3JBZG1pbgILdXNlckFkZHJlc3MLc3Rha2VIZWlnaHQEBWNoZWNrCQDMCAIDCQAAAggFAWkGY2FsbGVyBQxhZG1pbkFkZHJlc3MGCQEIdGhyb3dFcnIBAhFwZXJtaXNzaW9uIGRlbmllZAUDbmlsAwkAAAIFBWNoZWNrBQVjaGVjawkBD2dldFN0YWtlQWN0aW9ucwMFAWkFC3VzZXJBZGRyZXNzBQtzdGFrZUhlaWdodAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQdhaXJkcm9wAwthZGRyZXNzTGlzdAphbW91bnRMaXN0DWFpcmRyb3BIZWlnaHQKAQNzdW0CBWFjY3VtBG5leHQDCQBmAgAABQRuZXh0CQEIdGhyb3dFcnIBAiNuZWdhdGl2ZSBhbW91bnQgdmFsdWUgaW4gYW1vdW50TGlzdAkAZAIFBWFjY3VtBQRuZXh0BA1hbW91bnRMaXN0U3VtCgACJGwFCmFtb3VudExpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBA3N1bQIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgOTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoEBWNoZWNrCQDMCAIDCQAAAggFAWkGY2FsbGVyBQxhZG1pbkFkZHJlc3MGCQEIdGhyb3dFcnIBAhFwZXJtaXNzaW9uIGRlbmllZAkAzAgCAwkAZwIFDWFpcmRyb3BIZWlnaHQFCnN0YXJ0QmxvY2sGCQEIdGhyb3dFcnIBCQC5CQIJAMwIAgIOYWlyZHJvcEhlaWdodCgJAMwIAgkApAMBBQ1haXJkcm9wSGVpZ2h0CQDMCAICHSkgaXMgZ3JlYXRlciB0aGFuIHN0YXJ0QmxvY2soCQDMCAIJAKQDAQUKc3RhcnRCbG9jawkAzAgCAgEpBQNuaWwCAAkAzAgCAwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQYJAQh0aHJvd0VycgECGHNob3VsZCBpbmNsdWRlIDEgcGF5bWVudAkAzAgCAwkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUMYXNzZXRJZEJ5dGVzBgkBCHRocm93RXJyAQkArAICAhVwYXltZW50IHNob3VsZCBiZSBpbiAFDWFzc2V0SWRTdHJpbmcJAMwIAgMJAGYCCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAAABgIncGF5bWVudCBhbW91bnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAwCQDMCAIDCQAAAgkAkAMBBQthZGRyZXNzTGlzdAkAkAMBBQphbW91bnRMaXN0BgkBCHRocm93RXJyAQItYWRkcmVzc0xpc3Qgc2hvdWxkIGJlIHNhbWUgc2l6ZSBhcyBhbW91bnRMaXN0CQDMCAIDCQBnAggJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQFDWFtb3VudExpc3RTdW0GCQEIdGhyb3dFcnIBAi1wYXltZW50IGFtb3VudCBpcyBsZXNzIHRoYW4gc3VtIG9mIGFtb3VudExpc3QFA25pbAMJAAACBQVjaGVjawUFY2hlY2sKARZnZXRBaXJkcm9wU3RhdGVDaGFuZ2VzAgVhY2N1bQthc3NldEFtb3VudAQLJHQwODUxNzg1NjgFBWFjY3VtBAZyZXN1bHQIBQskdDA4NTE3ODU2OAJfMQQFaW5kZXgIBQskdDA4NTE3ODU2OAJfMgQHdG90YWxMcAgFCyR0MDg1MTc4NTY4Al8zBA1wcm9jZXNzZWRMaXN0CAULJHQwODUxNzg1NjgCXzQEDWFkZHJlc3NTdHJpbmcJAJEDAgULYWRkcmVzc0xpc3QFBWluZGV4BAdhZGRyZXNzBAckbWF0Y2gwCQCmCAEFDWFkZHJlc3NTdHJpbmcDCQABAgUHJG1hdGNoMAIHQWRkcmVzcwQDYWRyBQckbWF0Y2gwBQNhZHIJAQh0aHJvd0VycgECHmludmFsaWQgYWRkcmVzcyBpbiBhZGRyZXNzTGlzdAQCY2gJAMwIAgMJAQEhAQkBD2NvbnRhaW5zRWxlbWVudAIFDXByb2Nlc3NlZExpc3QFB2FkZHJlc3MGCQEIdGhyb3dFcnIBAiBkdXBsaWNhdGUgYWRkcmVzcyBpcyBhZGRyZXNzTGlzdAUDbmlsAwkAAAIFAmNoBQJjaAQNYWRkZWRMcEFtb3VudAkBD2NhbGNMcEZyb21Bc3NldAIFC2Fzc2V0QW1vdW50BQ1haXJkcm9wSGVpZ2h0BA91c2VyTG9ja2VkTHBLZXkJARVrZXlVc2VyTG9ja2VkTHBBbW91bnQBBQ1hZGRyZXNzU3RyaW5nBAtvbGRMcEFtb3VudAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQ91c2VyTG9ja2VkTHBLZXkAAAkAlgoECQDNCAIFBnJlc3VsdAkBDEludGVnZXJFbnRyeQIFD3VzZXJMb2NrZWRMcEtleQkAZAIFC29sZExwQW1vdW50BQ1hZGRlZExwQW1vdW50CQBkAgUFaW5kZXgAAQkAZAIFB3RvdGFsTHAFDWFkZGVkTHBBbW91bnQJAM0IAgUNcHJvY2Vzc2VkTGlzdAUHYWRkcmVzcwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQLJHQwOTM0Nzk0NjQKAAIkbAUKYW1vdW50TGlzdAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJYKBAUDbmlsAAAAAAUDbmlsCgEFJGYxXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARZnZXRBaXJkcm9wU3RhdGVDaGFuZ2VzAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYxXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyA5MAkBBSRmMV8yAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgQOYWlyZHJvcEVudHJpZXMIBQskdDA5MzQ3OTQ2NAJfMQQCX2EIBQskdDA5MzQ3OTQ2NAJfMgQYYWRkZWRUb3RhbExvY2tlZExwQW1vdW50CAULJHQwOTM0Nzk0NjQCXzMEAl9iCAULJHQwOTM0Nzk0NjQCXzQEDW5ld1RvdGFsQXNzZXQJAQ9jYWxjQXNzZXRGcm9tTHACCQBkAgUNdG90YWxMcEFtb3VudAUYYWRkZWRUb3RhbExvY2tlZExwQW1vdW50BQ1haXJkcm9wSGVpZ2h0CQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIFFmtleVRvdGFsTG9ja2VkTHBBbW91bnQJAGQCBRN0b3RhbExvY2tlZExwQW1vdW50BRhhZGRlZFRvdGFsTG9ja2VkTHBBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFEGtleVRvdGFsTHBBbW91bnQJAGQCBQ10b3RhbExwQW1vdW50BRhhZGRlZFRvdGFsTG9ja2VkTHBBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFE2tleVRvdGFsQXNzZXRBbW91bnQFDW5ld1RvdGFsQXNzZXQJAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleVN0YXJ0QmxvY2sFDWFpcmRyb3BIZWlnaHQFA25pbAUOYWlyZHJvcEVudHJpZXMJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEVZ2V0VXNlckFzc2V0c1JFQURPTkxZAQt1c2VyQWRkcmVzcwQMdXNlckxwQW1vdW50CQEPZ2V0VXNlckxwQW1vdW50AQULdXNlckFkZHJlc3MEEnVzZXJMb2NrZWRMcEFtb3VudAkBFWdldFVzZXJMb2NrZWRMcEFtb3VudAEFC3VzZXJBZGRyZXNzBBV1c2VyTG9ja2VkQXNzZXRBbW91bnQJAQ9jYWxjQXNzZXRGcm9tTHACBRJ1c2VyTG9ja2VkTHBBbW91bnQFBmhlaWdodAQcdXNlckF2YWlsYWJsZUFzc2V0VG9XaXRoZHJhdwkBIGdldFVzZXJBdmFpbGFibGVBc3NldHNUb1dpdGhkcmF3AQULdXNlckFkZHJlc3MEFXVzZXJUb3RhbFN0YWtlZEFtb3VudAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEXa2V5VXNlclRvdGFsQXNzZXRTdGFrZWQBBQt1c2VyQWRkcmVzcwAABBd1c2VyVG90YWxBc3NldFdpdGhkcmF3bgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEaa2V5VXNlclRvdGFsQXNzZXRXaXRoZHJhd24BBQt1c2VyQWRkcmVzcwAABA0kdDAxMDg0NDEwOTM2CQEXZ2V0VXNlclN0YWtpbmdOb2Rlc0RhdGEBBQt1c2VyQWRkcmVzcwQUdXNlclN0YWtpbmdOb2Rlc0xpc3QIBQ0kdDAxMDg0NDEwOTM2Al8xBBl1c2VyU3Rha2luZ05vZGVTaGFyZXNMaXN0CAUNJHQwMTA4NDQxMDkzNgJfMgkAlAoCBQNuaWwJAJwKCgUMdXNlckxwQW1vdW50BRx1c2VyQXZhaWxhYmxlQXNzZXRUb1dpdGhkcmF3CQEPZ2V0Q3VycmVudFByaWNlAAUVdXNlclRvdGFsU3Rha2VkQW1vdW50BRd1c2VyVG90YWxBc3NldFdpdGhkcmF3bgUSdXNlckxvY2tlZExwQW1vdW50BRV1c2VyTG9ja2VkQXNzZXRBbW91bnQFFHVzZXJTdGFraW5nTm9kZXNMaXN0BRl1c2VyU3Rha2luZ05vZGVTaGFyZXNMaXN0CQESZ2V0UmVtYWluaW5nQmxvY2tzAAFpARZnZXRUb3RhbEFzc2V0c1JFQURPTkxZAAkAlAoCBQNuaWwJAJgKBgUNdG90YWxMcEFtb3VudAkBK2dldFRvdGFsQXNzZXRBbW91bnRXaXRoUHJvZml0T3JNYXhBdmFpbGFibGUBBQZoZWlnaHQJAQ9nZXRDdXJyZW50UHJpY2UABRN0b3RhbExvY2tlZExwQW1vdW50CQEPY2FsY0Fzc2V0RnJvbUxwAgUTdG90YWxMb2NrZWRMcEFtb3VudAUGaGVpZ2h0CQESZ2V0UmVtYWluaW5nQmxvY2tzAAAi1wxb", "chainId": 84, "height": 2881722, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: NeFC6cpeFqrTcnoiJfVZ9kpAxfjciHb61eLz4TjYt9W Next: 556Be5k5EjPD2vuid1nCnZpCfRs4d5WiK28kakswQGTG Diff:
OldNewDifferences
177177 func aB (aC,s,aD) = {
178178 let aE = [if ((aD >= M))
179179 then true
180- else i("startBlock is greater than stakeHeight"), if ((size(aC.payments) == 1))
180+ else i(makeString(["stakeHeight(", toString(aD), ") is greater than startBlock(", toString(M), ")"], "")), if ((size(aC.payments) == 1))
181181 then true
182182 else i("should include 1 payment"), if ((aC.payments[0].assetId == I))
183183 then true
238238 then true
239239 else i("permission denied"), if ((aP >= M))
240240 then true
241- else i("airdropHeight is greater than stakeHeight"), if ((size(aC.payments) == 1))
241+ else i(makeString(["airdropHeight(", toString(aP), ") is greater than startBlock(", toString(M), ")"], "")), if ((size(aC.payments) == 1))
242242 then true
243243 else i("should include 1 payment"), if ((aC.payments[0].assetId == I))
244244 then true
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "l2mp_staking.ride"
55
66 let b = "__"
77
88 let c = 100000000
99
1010 let d = 1000000000000000000
1111
1212 let e = toBigInt(d)
1313
1414 let f = 26
1515
1616 let g = 1440
1717
1818 let h = addressFromStringValue("3Mps7CZqB9nUbEirYyCMMoA7VbqrxLvJFSB")
1919
2020 func i (j) = throw(((a + ": ") + j))
2121
2222
2323 let k = makeString(["%s", "assetId"], b)
2424
2525 let l = makeString(["%s", "emissionPerBlock"], b)
2626
2727 let m = makeString(["%s", "emissionPeriodInBlocks"], b)
2828
2929 let n = makeString(["%s", "startBlock"], b)
3030
3131 let o = makeString(["%s", "totalLpAmount"], b)
3232
3333 let p = makeString(["%s", "totalAssetAmount"], b)
3434
3535 let q = makeString(["%s", "totalLockedLpAmount"], b)
3636
3737 func r (s) = makeString(["%s%s", "userLpAmount", s], b)
3838
3939
4040 func t (s) = makeString(["%s%s", "userLockedLpAmount", s], b)
4141
4242
4343 func u (s) = makeString(["%s%s", "userStakingNodes", s], b)
4444
4545
4646 func v (s) = makeString(["%s%s", "userStakingNodesShares", s], b)
4747
4848
4949 func w (s) = makeString(["%s%s", "totalAssetWithdrawn", s], b)
5050
5151
5252 func x (s) = makeString(["%s%s", "totalAssetStaked", s], b)
5353
5454
5555 func y (z,s,A) = makeString(["%s%s%s", z, s, toBase58String(A)], b)
5656
5757
5858 func B (C,D,E,F) = makeString(["%d%d%d%d", toString(C), toString(D), toString(E), toString(F)], b)
5959
6060
6161 let F = valueOrElse(getInteger(this, o), 0)
6262
6363 let E = valueOrElse(getInteger(this, p), 0)
6464
6565 let G = valueOrElse(getInteger(this, q), 0)
6666
6767 let H = valueOrElse(getString(this, k), "WAVES")
6868
6969 let I = if ((H == "WAVES"))
7070 then unit
7171 else fromBase58String(H)
7272
7373 let J = valueOrElse(getInteger(this, m), g)
7474
7575 let K = valueOrElse(getInteger(this, l), 0)
7676
7777 let L = (K * J)
7878
7979 let M = valueOrElse(getInteger(this, n), height)
8080
8181 func N (O,P) = (O :+ parseIntValue(P))
8282
8383
8484 func Q (R) = {
8585 let S = fraction(M, 1, J)
8686 let T = ((R / J) - S)
8787 max([0, (L * T)])
8888 }
8989
9090
9191 func U () = Q(height)
9292
9393
9494 func V () = {
9595 let W = I
9696 if ($isInstanceOf(W, "Unit"))
9797 then {
9898 let X = W
9999 wavesBalance(this).available
100100 }
101101 else if ($isInstanceOf(W, "ByteVector"))
102102 then {
103103 let Y = W
104104 assetBalance(this, Y)
105105 }
106106 else throw("Match error")
107107 }
108108
109109
110110 func Z (aa) = {
111111 let ab = (E + Q(aa))
112112 let ac = min([ab, V()])
113113 if ((F == 0))
114114 then 0
115115 else ac
116116 }
117117
118118
119119 func ad (R) = if ((F != 0))
120120 then fraction(toBigInt(Z(R)), e, toBigInt(F))
121121 else e
122122
123123
124124 func ae () = ad(height)
125125
126126
127127 func af () = if ((K == 0))
128128 then 0
129129 else fraction((V() - Z(height)), 1, K)
130130
131131
132132 func ag (s) = {
133133 let ah = valueOrElse(getString(this, u(s)), "")
134134 let ai = valueOrElse(getString(this, v(s)), "")
135135 let aj = if ((ah == ""))
136136 then nil
137137 else split(ah, b)
138138 let ak = if ((ai == ""))
139139 then nil
140140 else split(ai, b)
141141 let al = {
142142 let am = ak
143143 let an = size(am)
144144 let ao = nil
145145 func ap (aq,ar) = if ((ar >= an))
146146 then aq
147147 else N(aq, am[ar])
148148
149149 func as (aq,ar) = if ((ar >= an))
150150 then aq
151151 else throw("List size exceeds 20")
152152
153153 as(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
154154 }
155155 $Tuple2(aj, al)
156156 }
157157
158158
159159 func at (au,aa) = max([0, toInt(fraction(toBigInt(au), ad(aa), e))])
160160
161161
162162 func av (aw,aa) = max([0, toInt(fraction(toBigInt(aw), e, ad(aa)))])
163163
164164
165165 func ax (s) = valueOrElse(getInteger(this, r(s)), 0)
166166
167167
168168 func ay (s) = valueOrElse(getInteger(this, t(s)), 0)
169169
170170
171171 func az (s) = {
172172 let aA = ax(s)
173173 at(aA, height)
174174 }
175175
176176
177177 func aB (aC,s,aD) = {
178178 let aE = [if ((aD >= M))
179179 then true
180- else i("startBlock is greater than stakeHeight"), if ((size(aC.payments) == 1))
180+ else i(makeString(["stakeHeight(", toString(aD), ") is greater than startBlock(", toString(M), ")"], "")), if ((size(aC.payments) == 1))
181181 then true
182182 else i("should include 1 payment"), if ((aC.payments[0].assetId == I))
183183 then true
184184 else i(("payment should be in " + H)), if ((aC.payments[0].amount > 0))
185185 then true
186186 else "payment amount should be greater than 0", if ((size(fromBase58String(s)) == f))
187187 then true
188188 else i("user address is not valid")]
189189 if ((aE == aE))
190190 then {
191191 let aF = aC.payments[0].amount
192192 let aG = av(aF, aD)
193193 let aA = ax(s)
194194 let aH = valueOrElse(getInteger(this, x(s)), 0)
195195 let aI = (F + aG)
196196 let aJ = at(aI, aD)
197197 let aK = (aA + aG)
198198 let aL = (aH + aF)
199199 [StringEntry(y("stake", s, aC.transactionId), B(U(), ae(), F, E)), IntegerEntry(o, aI), IntegerEntry(p, aJ), IntegerEntry(r(s), aK), IntegerEntry(x(s), aL), IntegerEntry(n, aD)]
200200 }
201201 else throw("Strict value is not equal to itself.")
202202 }
203203
204204
205205 @Callable(aC)
206206 func stakeForAdmin (s,aD) = {
207207 let aM = [if ((aC.caller == h))
208208 then true
209209 else i("permission denied")]
210210 if ((aM == aM))
211211 then aB(aC, s, aD)
212212 else throw("Strict value is not equal to itself.")
213213 }
214214
215215
216216
217217 @Callable(aC)
218218 func airdrop (aN,aO,aP) = {
219219 func aQ (aR,aS) = if ((0 > aS))
220220 then i("negative amount value in amountList")
221221 else (aR + aS)
222222
223223 let aT = {
224224 let am = aO
225225 let an = size(am)
226226 let ao = 0
227227 func ap (aq,ar) = if ((ar >= an))
228228 then aq
229229 else aQ(aq, am[ar])
230230
231231 func as (aq,ar) = if ((ar >= an))
232232 then aq
233233 else throw("List size exceeds 90")
234234
235235 as(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90)
236236 }
237237 let aM = [if ((aC.caller == h))
238238 then true
239239 else i("permission denied"), if ((aP >= M))
240240 then true
241- else i("airdropHeight is greater than stakeHeight"), if ((size(aC.payments) == 1))
241+ else i(makeString(["airdropHeight(", toString(aP), ") is greater than startBlock(", toString(M), ")"], "")), if ((size(aC.payments) == 1))
242242 then true
243243 else i("should include 1 payment"), if ((aC.payments[0].assetId == I))
244244 then true
245245 else i(("payment should be in " + H)), if ((aC.payments[0].amount > 0))
246246 then true
247247 else "payment amount should be greater than 0", if ((size(aN) == size(aO)))
248248 then true
249249 else i("addressList should be same size as amountList"), if ((aC.payments[0].amount >= aT))
250250 then true
251251 else i("payment amount is less than sum of amountList")]
252252 if ((aM == aM))
253253 then {
254254 func aU (aR,aw) = {
255255 let aV = aR
256256 let aW = aV._1
257257 let aX = aV._2
258258 let aY = aV._3
259259 let aZ = aV._4
260260 let ba = aN[aX]
261261 let bb = {
262262 let W = addressFromString(ba)
263263 if ($isInstanceOf(W, "Address"))
264264 then {
265265 let bc = W
266266 bc
267267 }
268268 else i("invalid address in addressList")
269269 }
270270 let bd = [if (!(containsElement(aZ, bb)))
271271 then true
272272 else i("duplicate address is addressList")]
273273 if ((bd == bd))
274274 then {
275275 let be = av(aw, aP)
276276 let bf = t(ba)
277277 let bg = valueOrElse(getInteger(this, bf), 0)
278278 $Tuple4((aW :+ IntegerEntry(bf, (bg + be))), (aX + 1), (aY + be), (aZ :+ bb))
279279 }
280280 else throw("Strict value is not equal to itself.")
281281 }
282282
283283 let bh = {
284284 let am = aO
285285 let an = size(am)
286286 let ao = $Tuple4(nil, 0, 0, nil)
287287 func bi (aq,ar) = if ((ar >= an))
288288 then aq
289289 else aU(aq, am[ar])
290290
291291 func bj (aq,ar) = if ((ar >= an))
292292 then aq
293293 else throw("List size exceeds 90")
294294
295295 bj(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(bi(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90)
296296 }
297297 let bk = bh._1
298298 let bl = bh._2
299299 let bm = bh._3
300300 let bn = bh._4
301301 let bo = at((F + bm), aP)
302302 ([IntegerEntry(q, (G + bm)), IntegerEntry(o, (F + bm)), IntegerEntry(p, bo), IntegerEntry(n, aP)] ++ bk)
303303 }
304304 else throw("Strict value is not equal to itself.")
305305 }
306306
307307
308308
309309 @Callable(aC)
310310 func getUserAssetsREADONLY (s) = {
311311 let aA = ax(s)
312312 let bp = ay(s)
313313 let bq = at(bp, height)
314314 let br = az(s)
315315 let aH = valueOrElse(getInteger(this, x(s)), 0)
316316 let bs = valueOrElse(getInteger(this, w(s)), 0)
317317 let bt = ag(s)
318318 let bu = bt._1
319319 let bv = bt._2
320320 $Tuple2(nil, $Tuple10(aA, br, ae(), aH, bs, bp, bq, bu, bv, af()))
321321 }
322322
323323
324324
325325 @Callable(aC)
326326 func getTotalAssetsREADONLY () = $Tuple2(nil, $Tuple6(F, Z(height), ae(), G, at(G, height), af()))
327327
328328

github/deemru/w8io/c3f4982 
75.37 ms