tx · 6wk6TpjNv9YmMNDpqoz7HAXUqJgERb9F3M4zTJLp3kKZ 3PAkmJniMgnnAej5pYf2jFYkCbZow5pt9tr: -0.01000000 Waves 2023.09.08 08:46 [3811724] smart account 3PAkmJniMgnnAej5pYf2jFYkCbZow5pt9tr > SELF 0.00000000 Waves
{ "type": 13, "id": "6wk6TpjNv9YmMNDpqoz7HAXUqJgERb9F3M4zTJLp3kKZ", "fee": 1000000, "feeAssetId": null, "timestamp": 1694152171834, "version": 2, "chainId": 87, "sender": "3PAkmJniMgnnAej5pYf2jFYkCbZow5pt9tr", "senderPublicKey": "A5AvSRrbVauQKBhPtuWTLTQdE5ka4nVCSDaVANpFur26", "proofs": [ "X7ww73s3YQcMwuJSHjxjSpvvktbSDz1w19qnHwDo5sFRhvgcPsi49HDwLRa7gRAjvKvRUDost845EunZQy3cnJA" ], "script": "base64:BgIKCAISABIAEgASABcAAmQ4AIDC1y8ABnBvb2xJZAEaAVf1RmgngA1o304mdXq0odMoMeAJv/V5eTcACnBvb2xTdHJpbmcJANgEAQUGcG9vbElkAAxwcm9qZWN0b3duZXIBGgFXjh3mUco4I87DkcPEVovVg9NviFb/Nt0LAA93aGlybHBvb2xQb29sSWQBBQV0o/bXAAl3aGlybHBvb2wBIFnjjdzCtSO6ShTcxNCvFAnmZOYEviUGCyZO5VBtl1nHAAZzd2F2ZXMBIAgfyPcWMO1Rwikb7Kwaj/yQcRxZOC3rIYGwN0HwRdFKAAV3YXZlcwEEE6vZMwAHdXNkdGVyYwEghNp6sggDP07Ru8qO7ouTvMmC3Qtd+geWqNQj+agP/7kAB3VzZGNlcmMBIPG/dI9pAmuur847sG/zXfDFSqExbFa33PoqSqHrkRpJAAd1c2R0YnNjASCHhSoUXb0b4GnDpNrWG3dP3AUEm6wF30Gwr4DASTDpogAHdXNkY2JzYwEgLzeUxDAO1B6GL00NeF395F5CPEPe5iQcatRgd4br5bUACWJ1cm54dG5JZAEgJE91eWp+Mzm4+wz/hKlxXF7KLd4zoMRdafnqRBHsTFQAA2V0aAEgJR76/9ghyXCe+8C03j63q4aeBTtm79wH/FHj9agzKHIAA2JuYgEgS7ep4jwDLeZJ/TwoM/wRUkbi6v6x+mu9cBafRBfVHhwABHdidGMBIBKeo3EHNGSP6mN2enCiK9cwBs75vPQVGctmd0xybol/AARidGNiASDIlsraYoy6SPYFNHcPBbtsEP/v2GRaY5157d4CGOemoQALd2F2ZXNpbnBvb2wJARFAZXh0ck5hdGl2ZSgxMDUwKQIJAQdBZGRyZXNzAQUGcG9vbElkCQCsAgIJAKwCAgIHZ2xvYmFsXwkA2AQBBQV3YXZlcwIIX2JhbGFuY2UADHByb2plY3RzdGFrZQkBEUBleHRyTmF0aXZlKDEwNTApAgkBB0FkZHJlc3MBBQZwb29sSWQJAKwCAgIjM1BBa21KbmlNZ25uQWVqNXBZZjJqRllrQ2Jab3c1cHQ5dHICDF9pbmRleFN0YWtlZAAKdG90YWxzdGFrZQkBEUBleHRyTmF0aXZlKDEwNTApAgkBB0FkZHJlc3MBBQZwb29sSWQCF2dsb2JhbF9wb29sVG9rZW5fYW1vdW50AAp0dmxpbndhdmVzCQBrAwkAaAIFC3dhdmVzaW5wb29sAAoFDHByb2plY3RzdGFrZQUKdG90YWxzdGFrZQAPd2hpcmxwb29sc3VwcGx5BAckbWF0Y2gwCQDsBwEFCXdoaXJscG9vbAMJAAECBQckbWF0Y2gwAgVBc3NldAQFYXNzZXQFByRtYXRjaDAIBQVhc3NldAhxdWFudGl0eQkAAgECEENhbid0IGZpbmQgYXNzZXQABXByaWNlAwkAZwIJAGQCCQBrAwkAZAIFCnR2bGlud2F2ZXMJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCHHN1cnBsdXMgcmVjZWl2ZWQgaW4gd2F2ZWxldHMFAmQ4BQ93aGlybHBvb2xzdXBwbHkFAmQ4CQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAiFXSElSTFBPT0wgaXNzdWUgcHJpY2UgaW4gd2F2ZWxldHMJAGQCCQBrAwkAZAIFCnR2bGlud2F2ZXMJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCHHN1cnBsdXMgcmVjZWl2ZWQgaW4gd2F2ZWxldHMFAmQ4BQ93aGlybHBvb2xzdXBwbHkFAmQ4CQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAiFXSElSTFBPT0wgaXNzdWUgcHJpY2UgaW4gd2F2ZWxldHMEAWkBFWJ1eVdISVJMUE9PTHdpdGhXQVZFUwADAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQECIT0CCAUBaQZjYWxsZXIJAQdBZGRyZXNzAQEaAVfpZiEq0gbg3BaK6whal9SfnWKjf/fCWkwHCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgQDcG10CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAEB3N1cnBsdXMJAGsDCQBlAgUFcHJpY2UFAmQ4CAUDcG10BmFtb3VudAUCZDgEBmFtb3VudAkAawMIBQNwbXQGYW1vdW50BQJkOAUFcHJpY2UEDHN1cHBseWFtb3VudAkAaQIJAGUCCAUDcG10BmFtb3VudAUHc3VycGx1cwADAwkBAiE9AggFA3BtdAdhc3NldElkBQR1bml0CQACAQIXYXR0YWNoIFdBVkVTIHRva2VuIG9ubHkEE1N1cHBseVdhdmVzTWFpblBvb2wJAPwHBAkBB0FkZHJlc3MBARoBVyCUXEqtz/RIOTuIQLO/2+6MUKCnas/a6AIGc3VwcGx5BQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHVuaXQFDHN1cHBseWFtb3VudAUDbmlsAwkAAAIFE1N1cHBseVdhdmVzTWFpblBvb2wFE1N1cHBseVdhdmVzTWFpblBvb2wEGFN1cHBseVdhdmVzV2F2ZXNEZWZpUG9vbAkA/AcECQEHQWRkcmVzcwEBGgFXGQs7jz/NxfUAUkO466aMyKy/FDkxPiS+AgZzdXBwbHkFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAUMc3VwcGx5YW1vdW50BQNuaWwDCQAAAgUYU3VwcGx5V2F2ZXNXYXZlc0RlZmlQb29sBRhTdXBwbHlXYXZlc1dhdmVzRGVmaVBvb2wEEVN1cHBseVdhdmVzTG93Q2FwCQD8BwQJAQdBZGRyZXNzAQEaAVeuYBTSZnAM8D/cdMXSdOYavqngUsHqC5ACBnN1cHBseQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1bml0BQxzdXBwbHlhbW91bnQFA25pbAMJAAACBRFTdXBwbHlXYXZlc0xvd0NhcAURU3VwcGx5V2F2ZXNMb3dDYXAJAMwIAgkBB1JlaXNzdWUDBQl3aGlybHBvb2wFBmFtb3VudAYJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQZhbW91bnQFCXdoaXJscG9vbAkAzAgCCQEMSW50ZWdlckVudHJ5AgIhV0hJUkxQT09MIGlzc3VlIHByaWNlIGluIHdhdmVsZXRzBQVwcmljZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIgdG90YWwgV0FWRVMgcmVjZWl2ZWQgaW4gd2F2ZWxldHMJAGQCCAUDcG10BmFtb3VudAkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwIgdG90YWwgV0FWRVMgcmVjZWl2ZWQgaW4gd2F2ZWxldHMJAMwIAgkBDEludGVnZXJFbnRyeQICHHN1cnBsdXMgcmVjZWl2ZWQgaW4gd2F2ZWxldHMJAGQCBQdzdXJwbHVzCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhxzdXJwbHVzIHJlY2VpdmVkIGluIHdhdmVsZXRzCQDMCAIJAQxJbnRlZ2VyRW50cnkCAh53YXZlbGV0cyByZWNlaXZlZCBmb3IgdHJlYXN1cnkJAGQCCQBlAgUGYW1vdW50BQdzdXJwbHVzCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAh53YXZlbGV0cyByZWNlaXZlZCBmb3IgdHJlYXN1cnkFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARJQcmljZVN1cnBsdXNTdXBwbHkACQDMCAIJAQxJbnRlZ2VyRW50cnkCAg1XQVZFUyBpbiBwb29sBQt3YXZlc2lucG9vbAkAzAgCCQEMSW50ZWdlckVudHJ5AgIMcHJvamVjdHN0YWtlBQxwcm9qZWN0c3Rha2UJAMwIAgkBDEludGVnZXJFbnRyeQICCnRvdGFsc3Rha2UFCnRvdGFsc3Rha2UJAMwIAgkBDEludGVnZXJFbnRyeQICIVdISVJMUE9PTCBpc3N1ZSBwcmljZSBpbiB3YXZlbGV0cwUFcHJpY2UJAMwIAgkBDEludGVnZXJFbnRyeQICInN1cnBsdXMgdHJlYXN1cnkgdmFsdWUgaW4gd2F2ZWxldHMFCnR2bGlud2F2ZXMJAMwIAgkBDEludGVnZXJFbnRyeQICFldISVJMUE9PTCB0b3RhbCBzdXBwbHkFD3doaXJscG9vbHN1cHBseQkAzAgCCQEMSW50ZWdlckVudHJ5AgIgdG90YWwgV0FWRVMgcmVjZWl2ZWQgaW4gd2F2ZWxldHMJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCIHRvdGFsIFdBVkVTIHJlY2VpdmVkIGluIHdhdmVsZXRzCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhxzdXJwbHVzIHJlY2VpdmVkIGluIHdhdmVsZXRzCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhxzdXJwbHVzIHJlY2VpdmVkIGluIHdhdmVsZXRzCQDMCAIJAQxJbnRlZ2VyRW50cnkCAh53YXZlbGV0cyByZWNlaXZlZCBmb3IgdHJlYXN1cnkJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCHndhdmVsZXRzIHJlY2VpdmVkIGZvciB0cmVhc3VyeQkAzAgCCQEMSW50ZWdlckVudHJ5AgIgdG90YWwgV0FWRVMgcGFpZCBvdXQgaW4gd2F2ZWxldHMJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCIHRvdGFsIFdBVkVTIHBhaWQgb3V0IGluIHdhdmVsZXRzCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhBST0kgYmFzaXMgcG9pbnRzCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhBST0kgYmFzaXMgcG9pbnRzBQNuaWwBaQETUG9vbE9uZVRva2VuU3VycGx1cwADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhxhY2Nlc3Mgb25seSBieSBwcm9qZWN0IG93bmVyBA1zdXJwbHVzYW1vdW50CQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhxzdXJwbHVzIHJlY2VpdmVkIGluIHdhdmVsZXRzBBNQb29sT25lVG9rZW5TdXJwbHVzCQD8BwQJAQdBZGRyZXNzAQEaAVf9JcO9TmGUQe+6XhJjj8U5b0m1iDr16W0CIWdlbmVyYXRlSW5kZXhXaXRoT25lVG9rZW5BbmRTdGFrZQkAzAgCBQpwb29sU3RyaW5nBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHVuaXQFDXN1cnBsdXNhbW91bnQFA25pbAMJAAACBRNQb29sT25lVG9rZW5TdXJwbHVzBRNQb29sT25lVG9rZW5TdXJwbHVzCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhxzdXJwbHVzIHJlY2VpdmVkIGluIHdhdmVsZXRzCQBlAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwIcc3VycGx1cyByZWNlaXZlZCBpbiB3YXZlbGV0cwUNc3VycGx1c2Ftb3VudAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDEJvb3N0UG9vbEFQWQADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhxhY2Nlc3Mgb25seSBieSBwcm9qZWN0IG93bmVyBBNzd2F2ZXNCYWxhbmNlQmVmb3JlCQDwBwIFBHRoaXMFBnN3YXZlcwMJAAACBRNzd2F2ZXNCYWxhbmNlQmVmb3JlBRNzd2F2ZXNCYWxhbmNlQmVmb3JlBBJ3YXZlc0JhbGFuY2VCZWZvcmUICQDvBwEFBHRoaXMJYXZhaWxhYmxlAwkAAAIFEndhdmVzQmFsYW5jZUJlZm9yZQUSd2F2ZXNCYWxhbmNlQmVmb3JlBAtzd2FwYnVybnh0bgkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCAgV3YXZlcwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUJYnVybnh0bklkCQDwBwIFBHRoaXMFCWJ1cm54dG5JZAUDbmlsAwkAAAIFC3N3YXBidXJueHRuBQtzd2FwYnVybnh0bgQLc3dhcHVzZHRlcmMJAPwHBAkBB0FkZHJlc3MBBQZwb29sSWQCBHN3YXAJAMwIAgIFd2F2ZXMJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFB3VzZHRlcmMJAPAHAgUEdGhpcwUHdXNkdGVyYwUDbmlsAwkAAAIFC3N3YXB1c2R0ZXJjBQtzd2FwdXNkdGVyYwQLc3dhcHVzZHRic2MJAPwHBAkBB0FkZHJlc3MBBQZwb29sSWQCBHN3YXAJAMwIAgIFd2F2ZXMJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFB3VzZHRic2MJAPAHAgUEdGhpcwUHdXNkdGJzYwUDbmlsAwkAAAIFC3N3YXB1c2R0YnNjBQtzd2FwdXNkdGJzYwQLc3dhcHVzZGNlcmMJAPwHBAkBB0FkZHJlc3MBBQZwb29sSWQCBHN3YXAJAMwIAgIFd2F2ZXMJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFB3VzZGNlcmMJAPAHAgUEdGhpcwUHdXNkY2VyYwUDbmlsAwkAAAIFC3N3YXB1c2RjZXJjBQtzd2FwdXNkY2VyYwQLc3dhcHVzZGNic2MJAPwHBAkBB0FkZHJlc3MBBQZwb29sSWQCBHN3YXAJAMwIAgIFd2F2ZXMJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFB3VzZGNic2MJAPAHAgUEdGhpcwUHdXNkY2JzYwUDbmlsAwkAAAIFC3N3YXB1c2RjYnNjBQtzd2FwdXNkY2JzYwQHc3dhcGV0aAkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCAgV3YXZlcwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUDZXRoCQDwBwIFBHRoaXMFA2V0aAUDbmlsAwkAAAIFB3N3YXBldGgFB3N3YXBldGgEB3N3YXBibmIJAPwHBAkBB0FkZHJlc3MBBQZwb29sSWQCBHN3YXAJAMwIAgIFd2F2ZXMJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFA2JuYgkA8AcCBQR0aGlzBQNibmIFA25pbAMJAAACBQdzd2FwYm5iBQdzd2FwYm5iBAhzd2Fwd2J0YwkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCAgV3YXZlcwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEd2J0YwkA8AcCBQR0aGlzBQR3YnRjBQNuaWwDCQAAAgUIc3dhcHdidGMFCHN3YXB3YnRjBAhzd2FwYnRjYgkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCAgV3YXZlcwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEYnRjYgkA8AcCBQR0aGlzBQRidGNiBQNuaWwDCQAAAgUIc3dhcGJ0Y2IFCHN3YXBidGNiBBF3YXZlc0JhbGFuY2VBZnRlcggJAO8HAQUEdGhpcwlhdmFpbGFibGUED3dhdmVzRGlmZmVyZW5jZQkAZQIFEXdhdmVzQmFsYW5jZUFmdGVyBRJ3YXZlc0JhbGFuY2VCZWZvcmUEEHdhdmVzQW1vdW50Qm9vc3QJAGsDBQ93YXZlc0RpZmZlcmVuY2UAUABkBA1Td2F2ZXNEZXBvc2l0CQD8BwQJAQdBZGRyZXNzAQEaAVd9yXuTFHn/51HxsUrHb/lqHYCVR89YI34CB2RlcG9zaXQFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAMJAGYCCQBlAggJAO8HAQUEdGhpcwlhdmFpbGFibGUFAmQ4AAAJAGUCCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQUCZDgAAAUDbmlsAwkAAAIFDVN3YXZlc0RlcG9zaXQFDVN3YXZlc0RlcG9zaXQEEnN3YXZlc0JhbGFuY2VBZnRlcgkA8AcCBQR0aGlzBQZzd2F2ZXMEEHN3YXZlc0RpZmZlcmVuY2UJAGUCBRJzd2F2ZXNCYWxhbmNlQWZ0ZXIFE3N3YXZlc0JhbGFuY2VCZWZvcmUEC2Ftb3VudEJvb3N0CQBrAwUQc3dhdmVzRGlmZmVyZW5jZQBQAGQEC2Ftb3VudE93bmVyCQBrAwUQc3dhdmVzRGlmZmVyZW5jZQAUAGQEBWJvb3N0CQD8BwQJAQdBZGRyZXNzAQUPd2hpcmxwb29sUG9vbElkAgthZGRCb29zdGluZwkAzAgCAB4FA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUGc3dhdmVzBQthbW91bnRCb29zdAUDbmlsAwkAAAIFBWJvb3N0BQVib29zdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEFDHByb2plY3Rvd25lcgULYW1vdW50T3duZXIFBnN3YXZlcwkAzAgCCQEMSW50ZWdlckVudHJ5AgIgdG90YWwgV0FWRVMgcGFpZCBvdXQgaW4gd2F2ZWxldHMJAGQCBRB3YXZlc0Ftb3VudEJvb3N0CQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAiB0b3RhbCBXQVZFUyBwYWlkIG91dCBpbiB3YXZlbGV0cwkAzAgCCQEMSW50ZWdlckVudHJ5AgIQUk9JIGJhc2lzIHBvaW50cwkAawMJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCIHRvdGFsIFdBVkVTIHBhaWQgb3V0IGluIHdhdmVsZXRzAJBOCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAiB0b3RhbCBXQVZFUyByZWNlaXZlZCBpbiB3YXZlbGV0cwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuADD6PKM=", "height": 3811724, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9VLq6cqHKetXp3JVjEH4a9M48Cg3GW74GoaqN2FCRSye Next: H3zT7XudwUgfrt2xvKesH9r7za27byTiyeyEwAN4SAB1 Diff:
Old | New | Differences | |
---|---|---|---|
184 | 184 | } | |
185 | 185 | ||
186 | 186 | ||
187 | - | ||
188 | - | @Callable(i) | |
189 | - | func dEntryReset () = if (if ((i.caller != this)) | |
190 | - | then (i.caller != Address(base58'3PPCzX2doZ7agBNuGSKqjrbdXgGEtE7CpQ3')) | |
191 | - | else false) | |
192 | - | then throw("access only by project owner") | |
193 | - | else [IntegerEntry("total WAVES paid out in wavelets", 0), IntegerEntry("ROI basis points", 0), IntegerEntry("total WAVES paid out in wavelets", 0), IntegerEntry("wavelets received for treasury", 50000000)] | |
194 | - | ||
195 | - |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let d8 = 100000000 | |
5 | 5 | ||
6 | 6 | let poolId = base58'3PQHndCUVrv3wBuQjbvVP9SnGmfbfitGxfx' | |
7 | 7 | ||
8 | 8 | let poolString = toBase58String(poolId) | |
9 | 9 | ||
10 | 10 | let projectowner = base58'3PEtLVxDT8mxAh1SDAn8m7JTGNkdpkaFxBk' | |
11 | 11 | ||
12 | 12 | let whirlpoolPoolId = base58'change' | |
13 | 13 | ||
14 | 14 | let whirlpool = base58'73tY3E6Gd5AWYmsuq8m8Kek7KnJNAYyS3GoveTbc6jCi' | |
15 | 15 | ||
16 | 16 | let swaves = base58'YiNbofFzC17jEHHCMwrRcpy9MrrjabMMLZxg8g5xmf7' | |
17 | 17 | ||
18 | 18 | let waves = base58'WAVES' | |
19 | 19 | ||
20 | 20 | let usdterc = base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi' | |
21 | 21 | ||
22 | 22 | let usdcerc = base58'HGgabTqUS8WtVFUJzfmrTDMgEccJuZLBPhFgQFxvnsoW' | |
23 | 23 | ||
24 | 24 | let usdtbsc = base58'A81p1LTRyoq2rDR2TNxB2dWYxsiNwCSSi8sXef2SEkwb' | |
25 | 25 | ||
26 | 26 | let usdcbsc = base58'4BKKSp6NoNcrFHyorZogDyctq1fq6w7114Ym1pw6HUtC' | |
27 | 27 | ||
28 | 28 | let burnxtnId = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns' | |
29 | 29 | ||
30 | 30 | let eth = base58'3VuV5WTmDz47Dmdn3QpcYjzbSdipjQE4JMdNe1xZpX13' | |
31 | 31 | ||
32 | 32 | let bnb = base58'66a1br3BrkoaJgP7yEar9hJcSTvJPoH6PYBLqscXcMGo' | |
33 | 33 | ||
34 | 34 | let wbtc = base58'2Fge5HEBRD3XTeg7Xg3FW5yiB9HVJFQtMXiWMQo72Up6' | |
35 | 35 | ||
36 | 36 | let btcb = base58'EW1uGLVo21Wd9i2Rhq8o4VKDTCQTGCGXE8DqayHGrLg8' | |
37 | 37 | ||
38 | 38 | let wavesinpool = getIntegerValue(Address(poolId), (("global_" + toBase58String(waves)) + "_balance")) | |
39 | 39 | ||
40 | 40 | let projectstake = getIntegerValue(Address(poolId), ("3PAkmJniMgnnAej5pYf2jFYkCbZow5pt9tr" + "_indexStaked")) | |
41 | 41 | ||
42 | 42 | let totalstake = getIntegerValue(Address(poolId), "global_poolToken_amount") | |
43 | 43 | ||
44 | 44 | let tvlinwaves = fraction((wavesinpool * 10), projectstake, totalstake) | |
45 | 45 | ||
46 | 46 | let whirlpoolsupply = match assetInfo(whirlpool) { | |
47 | 47 | case asset: Asset => | |
48 | 48 | asset.quantity | |
49 | 49 | case _ => | |
50 | 50 | throw("Can't find asset") | |
51 | 51 | } | |
52 | 52 | ||
53 | 53 | let price = if (((fraction((tvlinwaves + getIntegerValue(this, "surplus received in wavelets")), d8, whirlpoolsupply) + d8) >= getIntegerValue(this, "WHIRLPOOL issue price in wavelets"))) | |
54 | 54 | then (fraction((tvlinwaves + getIntegerValue(this, "surplus received in wavelets")), d8, whirlpoolsupply) + d8) | |
55 | 55 | else getIntegerValue(this, "WHIRLPOOL issue price in wavelets") | |
56 | 56 | ||
57 | 57 | @Callable(i) | |
58 | 58 | func buyWHIRLPOOLwithWAVES () = if (if ((i.caller != this)) | |
59 | 59 | then (i.caller != Address(base58'3PPCzX2doZ7agBNuGSKqjrbdXgGEtE7CpQ3')) | |
60 | 60 | else false) | |
61 | 61 | then throw("access only by project owner") | |
62 | 62 | else { | |
63 | 63 | let pmt = value(i.payments[0]) | |
64 | 64 | let surplus = fraction((price - d8), pmt.amount, d8) | |
65 | 65 | let amount = fraction(pmt.amount, d8, price) | |
66 | 66 | let supplyamount = ((pmt.amount - surplus) / 3) | |
67 | 67 | if ((pmt.assetId != unit)) | |
68 | 68 | then throw("attach WAVES token only") | |
69 | 69 | else { | |
70 | 70 | let SupplyWavesMainPool = invoke(Address(base58'3P4uA5etnZi4AmBabKinq2bMiWU8KcnHZdH'), "supply", nil, [AttachedPayment(unit, supplyamount)]) | |
71 | 71 | if ((SupplyWavesMainPool == SupplyWavesMainPool)) | |
72 | 72 | then { | |
73 | 73 | let SupplyWavesWavesDefiPool = invoke(Address(base58'3P4DK5VzDwL3vfc5ahUEhtoe5ByZNyacJ3X'), "supply", nil, [AttachedPayment(unit, supplyamount)]) | |
74 | 74 | if ((SupplyWavesWavesDefiPool == SupplyWavesWavesDefiPool)) | |
75 | 75 | then { | |
76 | 76 | let SupplyWavesLowCap = invoke(Address(base58'3PHpuQUPVUoR3AYzFeJzeWJfYLsLTmWssVH'), "supply", nil, [AttachedPayment(unit, supplyamount)]) | |
77 | 77 | if ((SupplyWavesLowCap == SupplyWavesLowCap)) | |
78 | 78 | then [Reissue(whirlpool, amount, true), ScriptTransfer(i.caller, amount, whirlpool), IntegerEntry("WHIRLPOOL issue price in wavelets", price), 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) + getIntegerValue(this, "wavelets received for treasury")))] | |
79 | 79 | else throw("Strict value is not equal to itself.") | |
80 | 80 | } | |
81 | 81 | else throw("Strict value is not equal to itself.") | |
82 | 82 | } | |
83 | 83 | else throw("Strict value is not equal to itself.") | |
84 | 84 | } | |
85 | 85 | } | |
86 | 86 | ||
87 | 87 | ||
88 | 88 | ||
89 | 89 | @Callable(i) | |
90 | 90 | 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, "wavelets received for treasury")), IntegerEntry("total WAVES paid out in wavelets", getIntegerValue(this, "total WAVES paid out in wavelets")), IntegerEntry("ROI basis points", getIntegerValue(this, "ROI basis points"))] | |
91 | 91 | ||
92 | 92 | ||
93 | 93 | ||
94 | 94 | @Callable(i) | |
95 | 95 | func PoolOneTokenSurplus () = if ((i.caller != this)) | |
96 | 96 | then throw("access only by project owner") | |
97 | 97 | else { | |
98 | 98 | let surplusamount = getIntegerValue(this, "surplus received in wavelets") | |
99 | 99 | let PoolOneTokenSurplus = invoke(Address(base58'3PR1Qvi9mHT35SwWEkLSqqE2L8thiPLdVWU'), "generateIndexWithOneTokenAndStake", [poolString], [AttachedPayment(unit, surplusamount)]) | |
100 | 100 | if ((PoolOneTokenSurplus == PoolOneTokenSurplus)) | |
101 | 101 | then [IntegerEntry("surplus received in wavelets", (getIntegerValue(this, "surplus received in wavelets") - surplusamount))] | |
102 | 102 | else throw("Strict value is not equal to itself.") | |
103 | 103 | } | |
104 | 104 | ||
105 | 105 | ||
106 | 106 | ||
107 | 107 | @Callable(i) | |
108 | 108 | func BoostPoolAPY () = if ((i.caller != this)) | |
109 | 109 | then throw("access only by project owner") | |
110 | 110 | else { | |
111 | 111 | let swavesBalanceBefore = assetBalance(this, swaves) | |
112 | 112 | if ((swavesBalanceBefore == swavesBalanceBefore)) | |
113 | 113 | then { | |
114 | 114 | let wavesBalanceBefore = wavesBalance(this).available | |
115 | 115 | if ((wavesBalanceBefore == wavesBalanceBefore)) | |
116 | 116 | then { | |
117 | 117 | let swapburnxtn = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(burnxtnId, assetBalance(this, burnxtnId))]) | |
118 | 118 | if ((swapburnxtn == swapburnxtn)) | |
119 | 119 | then { | |
120 | 120 | let swapusdterc = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(usdterc, assetBalance(this, usdterc))]) | |
121 | 121 | if ((swapusdterc == swapusdterc)) | |
122 | 122 | then { | |
123 | 123 | let swapusdtbsc = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(usdtbsc, assetBalance(this, usdtbsc))]) | |
124 | 124 | if ((swapusdtbsc == swapusdtbsc)) | |
125 | 125 | then { | |
126 | 126 | let swapusdcerc = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(usdcerc, assetBalance(this, usdcerc))]) | |
127 | 127 | if ((swapusdcerc == swapusdcerc)) | |
128 | 128 | then { | |
129 | 129 | let swapusdcbsc = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(usdcbsc, assetBalance(this, usdcbsc))]) | |
130 | 130 | if ((swapusdcbsc == swapusdcbsc)) | |
131 | 131 | then { | |
132 | 132 | let swapeth = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(eth, assetBalance(this, eth))]) | |
133 | 133 | if ((swapeth == swapeth)) | |
134 | 134 | then { | |
135 | 135 | let swapbnb = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(bnb, assetBalance(this, bnb))]) | |
136 | 136 | if ((swapbnb == swapbnb)) | |
137 | 137 | then { | |
138 | 138 | let swapwbtc = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(wbtc, assetBalance(this, wbtc))]) | |
139 | 139 | if ((swapwbtc == swapwbtc)) | |
140 | 140 | then { | |
141 | 141 | let swapbtcb = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(btcb, assetBalance(this, btcb))]) | |
142 | 142 | if ((swapbtcb == swapbtcb)) | |
143 | 143 | then { | |
144 | 144 | let wavesBalanceAfter = wavesBalance(this).available | |
145 | 145 | let wavesDifference = (wavesBalanceAfter - wavesBalanceBefore) | |
146 | 146 | let wavesAmountBoost = fraction(wavesDifference, 80, 100) | |
147 | 147 | let SwavesDeposit = invoke(Address(base58'3PDPzZVLhN1EuzGy4xAxjjTVkawKDLEaHiV'), "deposit", nil, [AttachedPayment(unit, if (((wavesBalance(this).available - d8) > 0)) | |
148 | 148 | then (wavesBalance(this).available - d8) | |
149 | 149 | else 0)]) | |
150 | 150 | if ((SwavesDeposit == SwavesDeposit)) | |
151 | 151 | then { | |
152 | 152 | let swavesBalanceAfter = assetBalance(this, swaves) | |
153 | 153 | let swavesDifference = (swavesBalanceAfter - swavesBalanceBefore) | |
154 | 154 | let amountBoost = fraction(swavesDifference, 80, 100) | |
155 | 155 | let amountOwner = fraction(swavesDifference, 20, 100) | |
156 | 156 | let boost = invoke(Address(whirlpoolPoolId), "addBoosting", [30], [AttachedPayment(swaves, amountBoost)]) | |
157 | 157 | if ((boost == boost)) | |
158 | 158 | 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")))] | |
159 | 159 | else throw("Strict value is not equal to itself.") | |
160 | 160 | } | |
161 | 161 | else throw("Strict value is not equal to itself.") | |
162 | 162 | } | |
163 | 163 | else throw("Strict value is not equal to itself.") | |
164 | 164 | } | |
165 | 165 | else throw("Strict value is not equal to itself.") | |
166 | 166 | } | |
167 | 167 | else throw("Strict value is not equal to itself.") | |
168 | 168 | } | |
169 | 169 | else throw("Strict value is not equal to itself.") | |
170 | 170 | } | |
171 | 171 | else throw("Strict value is not equal to itself.") | |
172 | 172 | } | |
173 | 173 | else throw("Strict value is not equal to itself.") | |
174 | 174 | } | |
175 | 175 | else throw("Strict value is not equal to itself.") | |
176 | 176 | } | |
177 | 177 | else throw("Strict value is not equal to itself.") | |
178 | 178 | } | |
179 | 179 | else throw("Strict value is not equal to itself.") | |
180 | 180 | } | |
181 | 181 | else throw("Strict value is not equal to itself.") | |
182 | 182 | } | |
183 | 183 | else throw("Strict value is not equal to itself.") | |
184 | 184 | } | |
185 | 185 | ||
186 | 186 | ||
187 | - | ||
188 | - | @Callable(i) | |
189 | - | func dEntryReset () = if (if ((i.caller != this)) | |
190 | - | then (i.caller != Address(base58'3PPCzX2doZ7agBNuGSKqjrbdXgGEtE7CpQ3')) | |
191 | - | else false) | |
192 | - | then throw("access only by project owner") | |
193 | - | else [IntegerEntry("total WAVES paid out in wavelets", 0), IntegerEntry("ROI basis points", 0), IntegerEntry("total WAVES paid out in wavelets", 0), IntegerEntry("wavelets received for treasury", 50000000)] | |
194 | - | ||
195 | - |
github/deemru/w8io/3ef1775 43.16 ms ◑