tx · 3JtEJx9pBWM7vCTfezhaDCRWejPnbjZGzykLz4mQXzYa

3PAkmJniMgnnAej5pYf2jFYkCbZow5pt9tr:  -0.01000000 Waves

2023.09.07 16:56 [3810782] smart account 3PAkmJniMgnnAej5pYf2jFYkCbZow5pt9tr > SELF 0.00000000 Waves

{ "type": 13, "id": "3JtEJx9pBWM7vCTfezhaDCRWejPnbjZGzykLz4mQXzYa", "fee": 1000000, "feeAssetId": null, "timestamp": 1694095022445, "version": 2, "chainId": 87, "sender": "3PAkmJniMgnnAej5pYf2jFYkCbZow5pt9tr", "senderPublicKey": "A5AvSRrbVauQKBhPtuWTLTQdE5ka4nVCSDaVANpFur26", "proofs": [ "5DhFnHPWTzHWGuP8G1TjS2uswDrH7shg9bZutzAfMKwiuVscUVk7StRgwFNuYomC3YiMjLyGTgLHZq7QEMGUvzpB" ], "script": "base64:BgIMCAISABIAEgASABIAFwACZDgAgMLXLwAGcG9vbElkARoBV/VGaCeADWjfTiZ1erSh0ygx4Am/9Xl5NwAKcG9vbFN0cmluZwkA2AQBBQZwb29sSWQADHByb2plY3Rvd25lcgEaAVeOHeZRyjgjzsORw8RWi9WD02+IVv823QsAD3doaXJscG9vbFBvb2xJZAEFBXSj9tcACXdoaXJscG9vbAEgWeON3MK1I7pKFNzE0K8UCeZk5gS+JQYLJk7lUG2XWccABnN3YXZlcwEgCB/I9xYw7VHCKRvsrBqP/JBxHFk4LeshgbA3QfBF0UoABXdhdmVzAQQTq9kzAAd1c2R0ZXJjASCE2nqyCAM/TtG7yo7ui5O8yYLdC136B5ao1CP5qA//uQAHdXNkY2VyYwEg8b90j2kCa66vzjuwb/Nd8MVKoTFsVrfc+ipKoeuRGkkAB3VzZHRic2MBIIeFKhRdvRvgacOk2tYbd0/cBQSbrAXfQbCvgMBJMOmiAAd1c2RjYnNjASAvN5TEMA7UHoYvTQ14Xf3kXkI8Q97mJBxq1GB3huvltQAJYnVybnh0bklkASAkT3V5an4zObj7DP+EqXFcXsot3jOgxF1p+epEEexMVAADZXRoASAlHvr/2CHJcJ77wLTePrerhp4FO2bv3Af8UeP1qDMocgADYm5iASBLt6niPAMt5kn9PCgz/BFSRuLq/rH6a71wFp9EF9UeHAAEd2J0YwEgEp6jcQc0ZI/qY3Z6cKIr1zAGzvm89BUZy2Z3THJuiX8ABGJ0Y2IBIMiWytpijLpI9gU0dw8Fu2wQ/+/YZFpjnXnt3gIY56ahAAt3YXZlc2lucG9vbAkBEUBleHRyTmF0aXZlKDEwNTApAgkBB0FkZHJlc3MBBQZwb29sSWQJAKwCAgkArAICAgdnbG9iYWxfCQDYBAEFBXdhdmVzAghfYmFsYW5jZQAMcHJvamVjdHN0YWtlCQERQGV4dHJOYXRpdmUoMTA1MCkCCQEHQWRkcmVzcwEFBnBvb2xJZAkArAICAiMzUEFrbUpuaU1nbm5BZWo1cFlmMmpGWWtDYlpvdzVwdDl0cgIMX2luZGV4U3Rha2VkAAp0b3RhbHN0YWtlCQERQGV4dHJOYXRpdmUoMTA1MCkCCQEHQWRkcmVzcwEFBnBvb2xJZAIXZ2xvYmFsX3Bvb2xUb2tlbl9hbW91bnQACnR2bGlud2F2ZXMJAGsDCQBoAgULd2F2ZXNpbnBvb2wACgUMcHJvamVjdHN0YWtlBQp0b3RhbHN0YWtlAA93aGlybHBvb2xzdXBwbHkEByRtYXRjaDAJAOwHAQUJd2hpcmxwb29sAwkAAQIFByRtYXRjaDACBUFzc2V0BAVhc3NldAUHJG1hdGNoMAgFBWFzc2V0CHF1YW50aXR5CQACAQIQQ2FuJ3QgZmluZCBhc3NldAAFcHJpY2UDCQBnAgkAZAIJAGsDCQBkAgUKdHZsaW53YXZlcwkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwIcc3VycGx1cyByZWNlaXZlZCBpbiB3YXZlbGV0cwUCZDgFD3doaXJscG9vbHN1cHBseQUCZDgJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCIVdISVJMUE9PTCBpc3N1ZSBwcmljZSBpbiB3YXZlbGV0cwkAZAIJAGsDCQBkAgUKdHZsaW53YXZlcwkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwIcc3VycGx1cyByZWNlaXZlZCBpbiB3YXZlbGV0cwUCZDgFD3doaXJscG9vbHN1cHBseQUCZDgJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCIVdISVJMUE9PTCBpc3N1ZSBwcmljZSBpbiB3YXZlbGV0cwUBaQEVYnV5V0hJUkxQT09Md2l0aFdBVkVTAAMDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAQIhPQIIBQFpBmNhbGxlcgkBB0FkZHJlc3MBARoBV+lmISrSBuDcForrCFqX1J+dYqN/98JaTAcJAAIBAhxhY2Nlc3Mgb25seSBieSBwcm9qZWN0IG93bmVyBANwbXQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQHc3VycGx1cwkAawMJAGUCBQVwcmljZQUCZDgIBQNwbXQGYW1vdW50BQJkOAQGYW1vdW50CQBrAwgFA3BtdAZhbW91bnQFAmQ4BQVwcmljZQQMc3VwcGx5YW1vdW50CQBpAgkAZQIIBQNwbXQGYW1vdW50BQdzdXJwbHVzAAMEE3N3YXZlc0JhbGFuY2VCZWZvcmUJAPAHAgUEdGhpcwUGc3dhdmVzAwkAAAIFE3N3YXZlc0JhbGFuY2VCZWZvcmUFE3N3YXZlc0JhbGFuY2VCZWZvcmUDCQECIT0CCAUDcG10B2Fzc2V0SWQFBHVuaXQJAAIBAhdhdHRhY2ggV0FWRVMgdG9rZW4gb25seQQTU3VwcGx5V2F2ZXNNYWluUG9vbAkA/AcECQEHQWRkcmVzcwEBGgFXIJRcSq3P9Eg5O4hAs7/b7oxQoKdqz9roAgZzdXBwbHkFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAUMc3VwcGx5YW1vdW50BQNuaWwDCQAAAgUTU3VwcGx5V2F2ZXNNYWluUG9vbAUTU3VwcGx5V2F2ZXNNYWluUG9vbAQYU3VwcGx5V2F2ZXNXYXZlc0RlZmlQb29sCQD8BwQJAQdBZGRyZXNzAQEaAVcZCzuPP83F9QBSQ7jrpozIrL8UOTE+JL4CBnN1cHBseQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1bml0BQxzdXBwbHlhbW91bnQFA25pbAMJAAACBRhTdXBwbHlXYXZlc1dhdmVzRGVmaVBvb2wFGFN1cHBseVdhdmVzV2F2ZXNEZWZpUG9vbAQRU3VwcGx5V2F2ZXNMb3dDYXAJAPwHBAkBB0FkZHJlc3MBARoBV65gFNJmcAzwP9x0xdJ05hq+qeBSweoLkAIGc3VwcGx5BQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHVuaXQFDHN1cHBseWFtb3VudAUDbmlsAwkAAAIFEVN1cHBseVdhdmVzTG93Q2FwBRFTdXBwbHlXYXZlc0xvd0NhcAkAzAgCCQEHUmVpc3N1ZQMFCXdoaXJscG9vbAUGYW1vdW50BgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFBmFtb3VudAUJd2hpcmxwb29sCQDMCAIJAQxJbnRlZ2VyRW50cnkCAiFXSElSTFBPT0wgaXNzdWUgcHJpY2UgaW4gd2F2ZWxldHMFBXByaWNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAiJzdXJwbHVzIHRyZWFzdXJ5IHZhbHVlIGluIHdhdmVsZXRzBQp0dmxpbndhdmVzCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhZXSElSTFBPT0wgdG90YWwgc3VwcGx5BQ93aGlybHBvb2xzdXBwbHkJAMwIAgkBDEludGVnZXJFbnRyeQICIHRvdGFsIFdBVkVTIHJlY2VpdmVkIGluIHdhdmVsZXRzCQBkAggFA3BtdAZhbW91bnQJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCIHRvdGFsIFdBVkVTIHJlY2VpdmVkIGluIHdhdmVsZXRzCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhxzdXJwbHVzIHJlY2VpdmVkIGluIHdhdmVsZXRzCQBkAgUHc3VycGx1cwkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwIcc3VycGx1cyByZWNlaXZlZCBpbiB3YXZlbGV0cwkAzAgCCQEMSW50ZWdlckVudHJ5AgIed2F2ZWxldHMgcmVjZWl2ZWQgZm9yIHRyZWFzdXJ5CQBlAgUGYW1vdW50BQdzdXJwbHVzCQDMCAIJAQxJbnRlZ2VyRW50cnkCAiB0b3RhbCBXQVZFUyBwYWlkIG91dCBpbiB3YXZlbGV0cwkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwIgdG90YWwgV0FWRVMgcGFpZCBvdXQgaW4gd2F2ZWxldHMJAMwIAgkBDEludGVnZXJFbnRyeQICEFJPSSBiYXNpcyBwb2ludHMJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCEFJPSSBiYXNpcyBwb2ludHMFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARJQcmljZVN1cnBsdXNTdXBwbHkACQDMCAIJAQxJbnRlZ2VyRW50cnkCAg1XQVZFUyBpbiBwb29sBQt3YXZlc2lucG9vbAkAzAgCCQEMSW50ZWdlckVudHJ5AgIMcHJvamVjdHN0YWtlBQxwcm9qZWN0c3Rha2UJAMwIAgkBDEludGVnZXJFbnRyeQICCnRvdGFsc3Rha2UFCnRvdGFsc3Rha2UJAMwIAgkBDEludGVnZXJFbnRyeQICIVdISVJMUE9PTCBpc3N1ZSBwcmljZSBpbiB3YXZlbGV0cwUFcHJpY2UJAMwIAgkBDEludGVnZXJFbnRyeQICInN1cnBsdXMgdHJlYXN1cnkgdmFsdWUgaW4gd2F2ZWxldHMFCnR2bGlud2F2ZXMJAMwIAgkBDEludGVnZXJFbnRyeQICFldISVJMUE9PTCB0b3RhbCBzdXBwbHkFD3doaXJscG9vbHN1cHBseQkAzAgCCQEMSW50ZWdlckVudHJ5AgIgdG90YWwgV0FWRVMgcmVjZWl2ZWQgaW4gd2F2ZWxldHMJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCIHRvdGFsIFdBVkVTIHJlY2VpdmVkIGluIHdhdmVsZXRzCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhxzdXJwbHVzIHJlY2VpdmVkIGluIHdhdmVsZXRzCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhxzdXJwbHVzIHJlY2VpdmVkIGluIHdhdmVsZXRzCQDMCAIJAQxJbnRlZ2VyRW50cnkCAh53YXZlbGV0cyByZWNlaXZlZCBmb3IgdHJlYXN1cnkJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCH3N3YXZlbGV0cyByZWNlaXZlZCBmb3IgdHJlYXN1cnkFA25pbAFpARNQb29sT25lVG9rZW5TdXJwbHVzAAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECHGFjY2VzcyBvbmx5IGJ5IHByb2plY3Qgb3duZXIEDXN1cnBsdXNhbW91bnQJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCHHN1cnBsdXMgcmVjZWl2ZWQgaW4gd2F2ZWxldHMEE1Bvb2xPbmVUb2tlblN1cnBsdXMJAPwHBAkBB0FkZHJlc3MBARoBV/0lw71OYZRB77peEmOPxTlvSbWIOvXpbQIhZ2VuZXJhdGVJbmRleFdpdGhPbmVUb2tlbkFuZFN0YWtlCQDMCAIFCnBvb2xTdHJpbmcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAUNc3VycGx1c2Ftb3VudAUDbmlsAwkAAAIFE1Bvb2xPbmVUb2tlblN1cnBsdXMFE1Bvb2xPbmVUb2tlblN1cnBsdXMJAMwIAgkBDEludGVnZXJFbnRyeQICHHN1cnBsdXMgcmVjZWl2ZWQgaW4gd2F2ZWxldHMJAGUCCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhxzdXJwbHVzIHJlY2VpdmVkIGluIHdhdmVsZXRzBQ1zdXJwbHVzYW1vdW50BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEMQm9vc3RQb29sQVBZAAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECHGFjY2VzcyBvbmx5IGJ5IHByb2plY3Qgb3duZXIEE3N3YXZlc0JhbGFuY2VCZWZvcmUJAPAHAgUEdGhpcwUGc3dhdmVzAwkAAAIFE3N3YXZlc0JhbGFuY2VCZWZvcmUFE3N3YXZlc0JhbGFuY2VCZWZvcmUEEndhdmVzQmFsYW5jZUJlZm9yZQgJAO8HAQUEdGhpcwlhdmFpbGFibGUDCQAAAgUSd2F2ZXNCYWxhbmNlQmVmb3JlBRJ3YXZlc0JhbGFuY2VCZWZvcmUEC3N3YXBidXJueHRuCQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAICBXdhdmVzCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQlidXJueHRuSWQJAPAHAgUEdGhpcwUJYnVybnh0bklkBQNuaWwDCQAAAgULc3dhcGJ1cm54dG4FC3N3YXBidXJueHRuBAtzd2FwdXNkdGVyYwkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCAgV3YXZlcwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUHdXNkdGVyYwkA8AcCBQR0aGlzBQd1c2R0ZXJjBQNuaWwDCQAAAgULc3dhcHVzZHRlcmMFC3N3YXB1c2R0ZXJjBAtzd2FwdXNkdGJzYwkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCAgV3YXZlcwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUHdXNkdGJzYwkA8AcCBQR0aGlzBQd1c2R0YnNjBQNuaWwDCQAAAgULc3dhcHVzZHRic2MFC3N3YXB1c2R0YnNjBAtzd2FwdXNkY2VyYwkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCAgV3YXZlcwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUHdXNkY2VyYwkA8AcCBQR0aGlzBQd1c2RjZXJjBQNuaWwDCQAAAgULc3dhcHVzZGNlcmMFC3N3YXB1c2RjZXJjBAtzd2FwdXNkY2JzYwkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCAgV3YXZlcwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUHdXNkY2JzYwkA8AcCBQR0aGlzBQd1c2RjYnNjBQNuaWwDCQAAAgULc3dhcHVzZGNic2MFC3N3YXB1c2RjYnNjBAdzd2FwZXRoCQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAICBXdhdmVzCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQNldGgJAPAHAgUEdGhpcwUDZXRoBQNuaWwDCQAAAgUHc3dhcGV0aAUHc3dhcGV0aAQHc3dhcGJuYgkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCAgV3YXZlcwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUDYm5iCQDwBwIFBHRoaXMFA2JuYgUDbmlsAwkAAAIFB3N3YXBibmIFB3N3YXBibmIECHN3YXB3YnRjCQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAICBXdhdmVzCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR3YnRjCQDwBwIFBHRoaXMFBHdidGMFA25pbAMJAAACBQhzd2Fwd2J0YwUIc3dhcHdidGMECHN3YXBidGNiCQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAICBXdhdmVzCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQRidGNiCQDwBwIFBHRoaXMFBGJ0Y2IFA25pbAMJAAACBQhzd2FwYnRjYgUIc3dhcGJ0Y2IEEXdhdmVzQmFsYW5jZUFmdGVyCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQQPd2F2ZXNEaWZmZXJlbmNlCQBlAgURd2F2ZXNCYWxhbmNlQWZ0ZXIFEndhdmVzQmFsYW5jZUJlZm9yZQQQd2F2ZXNBbW91bnRCb29zdAkAawMFD3dhdmVzRGlmZmVyZW5jZQBQAGQEDVN3YXZlc0RlcG9zaXQJAPwHBAkBB0FkZHJlc3MBARoBV33Je5MUef/nUfGxSsdv+WodgJVHz1gjfgIHZGVwb3NpdAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1bml0AwkAZgIJAGUCCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQUCZDgAAAkAZQIICQDvBwEFBHRoaXMJYXZhaWxhYmxlBQJkOAAABQNuaWwDCQAAAgUNU3dhdmVzRGVwb3NpdAUNU3dhdmVzRGVwb3NpdAQSc3dhdmVzQmFsYW5jZUFmdGVyCQDwBwIFBHRoaXMFBnN3YXZlcwQQc3dhdmVzRGlmZmVyZW5jZQkAZQIFEnN3YXZlc0JhbGFuY2VBZnRlcgUTc3dhdmVzQmFsYW5jZUJlZm9yZQQLYW1vdW50Qm9vc3QJAGsDBRBzd2F2ZXNEaWZmZXJlbmNlAFAAZAQLYW1vdW50T3duZXIJAGsDBRBzd2F2ZXNEaWZmZXJlbmNlABQAZAQFYm9vc3QJAPwHBAkBB0FkZHJlc3MBBQ93aGlybHBvb2xQb29sSWQCC2FkZEJvb3N0aW5nCQDMCAIAHgUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQZzd2F2ZXMFC2Ftb3VudEJvb3N0BQNuaWwDCQAAAgUFYm9vc3QFBWJvb3N0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQUMcHJvamVjdG93bmVyBQthbW91bnRPd25lcgUGc3dhdmVzCQDMCAIJAQxJbnRlZ2VyRW50cnkCAiB0b3RhbCBXQVZFUyBwYWlkIG91dCBpbiB3YXZlbGV0cwkAZAIFEHdhdmVzQW1vdW50Qm9vc3QJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCIHRvdGFsIFdBVkVTIHBhaWQgb3V0IGluIHdhdmVsZXRzCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhBST0kgYmFzaXMgcG9pbnRzCQBrAwkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwIgdG90YWwgV0FWRVMgcGFpZCBvdXQgaW4gd2F2ZWxldHMAkE4JARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCIHRvdGFsIFdBVkVTIHJlY2VpdmVkIGluIHdhdmVsZXRzBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQELZEVudHJ5UmVzZXQAAwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkBAiE9AggFAWkGY2FsbGVyCQEHQWRkcmVzcwEBGgFX6WYhKtIG4NwWiusIWpfUn51io3/3wlpMBwkAAgECHGFjY2VzcyBvbmx5IGJ5IHByb2plY3Qgb3duZXIJAMwIAgkBDEludGVnZXJFbnRyeQICIVdISVJMUE9PTCBpc3N1ZSBwcmljZSBpbiB3YXZlbGV0cwkAaAIAAQUCZDgJAMwIAgkBDEludGVnZXJFbnRyeQICInN1cnBsdXMgdHJlYXN1cnkgdmFsdWUgaW4gd2F2ZWxldHMAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgIWV0hJUkxQT09MIHRvdGFsIHN1cHBseQUPd2hpcmxwb29sc3VwcGx5CQDMCAIJAQxJbnRlZ2VyRW50cnkCAhxzdXJwbHVzIHJlY2VpdmVkIGluIHdhdmVsZXRzAAAJAMwIAgkBDEludGVnZXJFbnRyeQICHndhdmVsZXRzIHJlY2VpdmVkIGZvciB0cmVhc3VyeQkAaQIJAGgCAAIFAmQ4AAoJAMwIAgkBDEludGVnZXJFbnRyeQICIHRvdGFsIFdBVkVTIHJlY2VpdmVkIGluIHdhdmVsZXRzCQBpAgkAaAIAAgUCZDgACgkAzAgCCQEMSW50ZWdlckVudHJ5AgIgdG90YWwgV0FWRVMgcGFpZCBvdXQgaW4gd2F2ZWxldHMAAAUDbmlsAEuTZSQ=", "height": 3810782, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 41RNHBvuosf2s6SkdGvQc7Kp6Et5MH1pBWtTmi8DLDba Next: GR6c2qyo6zApyaHp2mYRMZfwBvFkE6JFjwUBfLT62gDt Diff:
OldNewDifferences
193193 then (i.caller != Address(base58'3PPCzX2doZ7agBNuGSKqjrbdXgGEtE7CpQ3'))
194194 else false)
195195 then throw("access only by project owner")
196- else [IntegerEntry("WHIRLPOOL issue price in wavelets", (1 * d8)), IntegerEntry("surplus treasury value in wavelets", 0), IntegerEntry("WHIRLPOOL total supply", whirlpoolsupply), IntegerEntry("surplus received in wavelets", 0), IntegerEntry("wavelets received for treasury", 0), IntegerEntry("total WAVES received in wavelets", (d8 / 10)), IntegerEntry("total WAVES paid out in wavelets", 0)]
196+ else [IntegerEntry("WHIRLPOOL issue price in wavelets", (1 * d8)), IntegerEntry("surplus treasury value in wavelets", 0), IntegerEntry("WHIRLPOOL total supply", whirlpoolsupply), IntegerEntry("surplus received in wavelets", 0), IntegerEntry("wavelets received for treasury", ((2 * d8) / 10)), IntegerEntry("total WAVES received in wavelets", ((2 * d8) / 10)), IntegerEntry("total WAVES paid out in wavelets", 0)]
197197
198198
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let d8 = 100000000
55
66 let poolId = base58'3PQHndCUVrv3wBuQjbvVP9SnGmfbfitGxfx'
77
88 let poolString = toBase58String(poolId)
99
1010 let projectowner = base58'3PEtLVxDT8mxAh1SDAn8m7JTGNkdpkaFxBk'
1111
1212 let whirlpoolPoolId = base58'change'
1313
1414 let whirlpool = base58'73tY3E6Gd5AWYmsuq8m8Kek7KnJNAYyS3GoveTbc6jCi'
1515
1616 let swaves = base58'YiNbofFzC17jEHHCMwrRcpy9MrrjabMMLZxg8g5xmf7'
1717
1818 let waves = base58'WAVES'
1919
2020 let usdterc = base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
2121
2222 let usdcerc = base58'HGgabTqUS8WtVFUJzfmrTDMgEccJuZLBPhFgQFxvnsoW'
2323
2424 let usdtbsc = base58'A81p1LTRyoq2rDR2TNxB2dWYxsiNwCSSi8sXef2SEkwb'
2525
2626 let usdcbsc = base58'4BKKSp6NoNcrFHyorZogDyctq1fq6w7114Ym1pw6HUtC'
2727
2828 let burnxtnId = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns'
2929
3030 let eth = base58'3VuV5WTmDz47Dmdn3QpcYjzbSdipjQE4JMdNe1xZpX13'
3131
3232 let bnb = base58'66a1br3BrkoaJgP7yEar9hJcSTvJPoH6PYBLqscXcMGo'
3333
3434 let wbtc = base58'2Fge5HEBRD3XTeg7Xg3FW5yiB9HVJFQtMXiWMQo72Up6'
3535
3636 let btcb = base58'EW1uGLVo21Wd9i2Rhq8o4VKDTCQTGCGXE8DqayHGrLg8'
3737
3838 let wavesinpool = getIntegerValue(Address(poolId), (("global_" + toBase58String(waves)) + "_balance"))
3939
4040 let projectstake = getIntegerValue(Address(poolId), ("3PAkmJniMgnnAej5pYf2jFYkCbZow5pt9tr" + "_indexStaked"))
4141
4242 let totalstake = getIntegerValue(Address(poolId), "global_poolToken_amount")
4343
4444 let tvlinwaves = fraction((wavesinpool * 10), projectstake, totalstake)
4545
4646 let whirlpoolsupply = match assetInfo(whirlpool) {
4747 case asset: Asset =>
4848 asset.quantity
4949 case _ =>
5050 throw("Can't find asset")
5151 }
5252
5353 let price = if (((fraction((tvlinwaves + getIntegerValue(this, "surplus received in wavelets")), d8, whirlpoolsupply) + d8) >= getIntegerValue(this, "WHIRLPOOL issue price in wavelets")))
5454 then (fraction((tvlinwaves + getIntegerValue(this, "surplus received in wavelets")), d8, whirlpoolsupply) + d8)
5555 else getIntegerValue(this, "WHIRLPOOL issue price in wavelets")
5656
5757 @Callable(i)
5858 func buyWHIRLPOOLwithWAVES () = if (if ((i.caller != this))
5959 then (i.caller != Address(base58'3PPCzX2doZ7agBNuGSKqjrbdXgGEtE7CpQ3'))
6060 else false)
6161 then throw("access only by project owner")
6262 else {
6363 let pmt = value(i.payments[0])
6464 let surplus = fraction((price - d8), pmt.amount, d8)
6565 let amount = fraction(pmt.amount, d8, price)
6666 let supplyamount = ((pmt.amount - surplus) / 3)
6767 let swavesBalanceBefore = assetBalance(this, swaves)
6868 if ((swavesBalanceBefore == swavesBalanceBefore))
6969 then if ((pmt.assetId != unit))
7070 then throw("attach WAVES token only")
7171 else {
7272 let SupplyWavesMainPool = invoke(Address(base58'3P4uA5etnZi4AmBabKinq2bMiWU8KcnHZdH'), "supply", nil, [AttachedPayment(unit, supplyamount)])
7373 if ((SupplyWavesMainPool == SupplyWavesMainPool))
7474 then {
7575 let SupplyWavesWavesDefiPool = invoke(Address(base58'3P4DK5VzDwL3vfc5ahUEhtoe5ByZNyacJ3X'), "supply", nil, [AttachedPayment(unit, supplyamount)])
7676 if ((SupplyWavesWavesDefiPool == SupplyWavesWavesDefiPool))
7777 then {
7878 let SupplyWavesLowCap = invoke(Address(base58'3PHpuQUPVUoR3AYzFeJzeWJfYLsLTmWssVH'), "supply", nil, [AttachedPayment(unit, supplyamount)])
7979 if ((SupplyWavesLowCap == SupplyWavesLowCap))
8080 then [Reissue(whirlpool, amount, true), ScriptTransfer(i.caller, amount, whirlpool), IntegerEntry("WHIRLPOOL issue price in wavelets", price), IntegerEntry("surplus treasury value in wavelets", tvlinwaves), IntegerEntry("WHIRLPOOL total supply", whirlpoolsupply), IntegerEntry("total WAVES received in wavelets", (pmt.amount + getIntegerValue(this, "total WAVES received in wavelets"))), IntegerEntry("surplus received in wavelets", (surplus + getIntegerValue(this, "surplus received in wavelets"))), IntegerEntry("wavelets received for treasury", (amount - surplus)), IntegerEntry("total WAVES paid out in wavelets", getIntegerValue(this, "total WAVES paid out in wavelets")), IntegerEntry("ROI basis points", getIntegerValue(this, "ROI basis points"))]
8181 else throw("Strict value is not equal to itself.")
8282 }
8383 else throw("Strict value is not equal to itself.")
8484 }
8585 else throw("Strict value is not equal to itself.")
8686 }
8787 else throw("Strict value is not equal to itself.")
8888 }
8989
9090
9191
9292 @Callable(i)
9393 func PriceSurplusSupply () = [IntegerEntry("WAVES in pool", wavesinpool), IntegerEntry("projectstake", projectstake), IntegerEntry("totalstake", totalstake), IntegerEntry("WHIRLPOOL issue price in wavelets", price), IntegerEntry("surplus treasury value in wavelets", tvlinwaves), IntegerEntry("WHIRLPOOL total supply", whirlpoolsupply), IntegerEntry("total WAVES received in wavelets", getIntegerValue(this, "total WAVES received in wavelets")), IntegerEntry("surplus received in wavelets", getIntegerValue(this, "surplus received in wavelets")), IntegerEntry("wavelets received for treasury", getIntegerValue(this, "swavelets received for treasury"))]
9494
9595
9696
9797 @Callable(i)
9898 func PoolOneTokenSurplus () = if ((i.caller != this))
9999 then throw("access only by project owner")
100100 else {
101101 let surplusamount = getIntegerValue(this, "surplus received in wavelets")
102102 let PoolOneTokenSurplus = invoke(Address(base58'3PR1Qvi9mHT35SwWEkLSqqE2L8thiPLdVWU'), "generateIndexWithOneTokenAndStake", [poolString], [AttachedPayment(unit, surplusamount)])
103103 if ((PoolOneTokenSurplus == PoolOneTokenSurplus))
104104 then [IntegerEntry("surplus received in wavelets", (getIntegerValue(this, "surplus received in wavelets") - surplusamount))]
105105 else throw("Strict value is not equal to itself.")
106106 }
107107
108108
109109
110110 @Callable(i)
111111 func BoostPoolAPY () = if ((i.caller != this))
112112 then throw("access only by project owner")
113113 else {
114114 let swavesBalanceBefore = assetBalance(this, swaves)
115115 if ((swavesBalanceBefore == swavesBalanceBefore))
116116 then {
117117 let wavesBalanceBefore = wavesBalance(this).available
118118 if ((wavesBalanceBefore == wavesBalanceBefore))
119119 then {
120120 let swapburnxtn = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(burnxtnId, assetBalance(this, burnxtnId))])
121121 if ((swapburnxtn == swapburnxtn))
122122 then {
123123 let swapusdterc = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(usdterc, assetBalance(this, usdterc))])
124124 if ((swapusdterc == swapusdterc))
125125 then {
126126 let swapusdtbsc = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(usdtbsc, assetBalance(this, usdtbsc))])
127127 if ((swapusdtbsc == swapusdtbsc))
128128 then {
129129 let swapusdcerc = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(usdcerc, assetBalance(this, usdcerc))])
130130 if ((swapusdcerc == swapusdcerc))
131131 then {
132132 let swapusdcbsc = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(usdcbsc, assetBalance(this, usdcbsc))])
133133 if ((swapusdcbsc == swapusdcbsc))
134134 then {
135135 let swapeth = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(eth, assetBalance(this, eth))])
136136 if ((swapeth == swapeth))
137137 then {
138138 let swapbnb = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(bnb, assetBalance(this, bnb))])
139139 if ((swapbnb == swapbnb))
140140 then {
141141 let swapwbtc = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(wbtc, assetBalance(this, wbtc))])
142142 if ((swapwbtc == swapwbtc))
143143 then {
144144 let swapbtcb = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(btcb, assetBalance(this, btcb))])
145145 if ((swapbtcb == swapbtcb))
146146 then {
147147 let wavesBalanceAfter = wavesBalance(this).available
148148 let wavesDifference = (wavesBalanceAfter - wavesBalanceBefore)
149149 let wavesAmountBoost = fraction(wavesDifference, 80, 100)
150150 let SwavesDeposit = invoke(Address(base58'3PDPzZVLhN1EuzGy4xAxjjTVkawKDLEaHiV'), "deposit", nil, [AttachedPayment(unit, if (((wavesBalance(this).available - d8) > 0))
151151 then (wavesBalance(this).available - d8)
152152 else 0)])
153153 if ((SwavesDeposit == SwavesDeposit))
154154 then {
155155 let swavesBalanceAfter = assetBalance(this, swaves)
156156 let swavesDifference = (swavesBalanceAfter - swavesBalanceBefore)
157157 let amountBoost = fraction(swavesDifference, 80, 100)
158158 let amountOwner = fraction(swavesDifference, 20, 100)
159159 let boost = invoke(Address(whirlpoolPoolId), "addBoosting", [30], [AttachedPayment(swaves, amountBoost)])
160160 if ((boost == boost))
161161 then [ScriptTransfer(Address(projectowner), amountOwner, swaves), IntegerEntry("total WAVES paid out in wavelets", (wavesAmountBoost + getIntegerValue(this, "total WAVES paid out in wavelets"))), IntegerEntry("ROI basis points", fraction(getIntegerValue(this, "total WAVES paid out in wavelets"), 10000, getIntegerValue(this, "total WAVES received in wavelets")))]
162162 else throw("Strict value is not equal to itself.")
163163 }
164164 else throw("Strict value is not equal to itself.")
165165 }
166166 else throw("Strict value is not equal to itself.")
167167 }
168168 else throw("Strict value is not equal to itself.")
169169 }
170170 else throw("Strict value is not equal to itself.")
171171 }
172172 else throw("Strict value is not equal to itself.")
173173 }
174174 else throw("Strict value is not equal to itself.")
175175 }
176176 else throw("Strict value is not equal to itself.")
177177 }
178178 else throw("Strict value is not equal to itself.")
179179 }
180180 else throw("Strict value is not equal to itself.")
181181 }
182182 else throw("Strict value is not equal to itself.")
183183 }
184184 else throw("Strict value is not equal to itself.")
185185 }
186186 else throw("Strict value is not equal to itself.")
187187 }
188188
189189
190190
191191 @Callable(i)
192192 func dEntryReset () = if (if ((i.caller != this))
193193 then (i.caller != Address(base58'3PPCzX2doZ7agBNuGSKqjrbdXgGEtE7CpQ3'))
194194 else false)
195195 then throw("access only by project owner")
196- else [IntegerEntry("WHIRLPOOL issue price in wavelets", (1 * d8)), IntegerEntry("surplus treasury value in wavelets", 0), IntegerEntry("WHIRLPOOL total supply", whirlpoolsupply), IntegerEntry("surplus received in wavelets", 0), IntegerEntry("wavelets received for treasury", 0), IntegerEntry("total WAVES received in wavelets", (d8 / 10)), IntegerEntry("total WAVES paid out in wavelets", 0)]
196+ else [IntegerEntry("WHIRLPOOL issue price in wavelets", (1 * d8)), IntegerEntry("surplus treasury value in wavelets", 0), IntegerEntry("WHIRLPOOL total supply", whirlpoolsupply), IntegerEntry("surplus received in wavelets", 0), IntegerEntry("wavelets received for treasury", ((2 * d8) / 10)), IntegerEntry("total WAVES received in wavelets", ((2 * d8) / 10)), IntegerEntry("total WAVES paid out in wavelets", 0)]
197197
198198

github/deemru/w8io/6500d08 
76.05 ms