tx · 3xf9bdxd43emt1oMJuVtByyiVhQv62ft5P4tojeH51FJ

3PAkmJniMgnnAej5pYf2jFYkCbZow5pt9tr:  -0.01000000 Waves

2023.08.31 10:28 [3800222] smart account 3PAkmJniMgnnAej5pYf2jFYkCbZow5pt9tr > SELF 0.00000000 Waves

{ "type": 13, "id": "3xf9bdxd43emt1oMJuVtByyiVhQv62ft5P4tojeH51FJ", "fee": 1000000, "feeAssetId": null, "timestamp": 1693466933798, "version": 2, "chainId": 87, "sender": "3PAkmJniMgnnAej5pYf2jFYkCbZow5pt9tr", "senderPublicKey": "A5AvSRrbVauQKBhPtuWTLTQdE5ka4nVCSDaVANpFur26", "proofs": [ "5mqxSedJNeVxekdCCymdneCGCnQjGpixuSDUrW4kUzBJy4BVxHje9i2hbjAvoMqkGzSpVBgtMZAodutNgNXss5xF" ], "script": "base64:BgIKCAISABIAEgASABcAAmQ4AIDC1y8ABnBvb2xJZAEaAVf1RmgngA1o304mdXq0odMoMeAJv/V5eTcACnBvb2xTdHJpbmcJANgEAQUGcG9vbElkAAxwcm9qZWN0b3duZXIBGgFXjh3mUco4I87DkcPEVovVg9NviFb/Nt0LAA93aGlybHBvb2xQb29sSWQBBQV0o/bXAAl3aGlybHBvb2wBIFnjjdzCtSO6ShTcxNCvFAnmZOYEviUGCyZO5VBtl1nHAAZzd2F2ZXMBIAgfyPcWMO1Rwikb7Kwaj/yQcRxZOC3rIYGwN0HwRdFKAAV3YXZlcwEEE6vZMwAHdXNkdGVyYwEghNp6sggDP07Ru8qO7ouTvMmC3Qtd+geWqNQj+agP/7kAB3VzZGNlcmMBIPG/dI9pAmuur847sG/zXfDFSqExbFa33PoqSqHrkRpJAAd1c2R0YnNjASCHhSoUXb0b4GnDpNrWG3dP3AUEm6wF30Gwr4DASTDpogAHdXNkY2JzYwEgLzeUxDAO1B6GL00NeF395F5CPEPe5iQcatRgd4br5bUACWJ1cm54dG5JZAEgJE91eWp+Mzm4+wz/hKlxXF7KLd4zoMRdafnqRBHsTFQAA2V0aAEgJR76/9ghyXCe+8C03j63q4aeBTtm79wH/FHj9agzKHIAA2JuYgEgS7ep4jwDLeZJ/TwoM/wRUkbi6v6x+mu9cBafRBfVHhwABHdidGMBIBKeo3EHNGSP6mN2enCiK9cwBs75vPQVGctmd0xybol/AARidGNiASDIlsraYoy6SPYFNHcPBbtsEP/v2GRaY5157d4CGOemoQALd2F2ZXNpbnBvb2wJARFAZXh0ck5hdGl2ZSgxMDUwKQIJAQdBZGRyZXNzAQUGcG9vbElkCQCsAgIJAKwCAgIHZ2xvYmFsXwkA2AQBBQV3YXZlcwIIX2JhbGFuY2UADHByb2plY3RzdGFrZQkBEUBleHRyTmF0aXZlKDEwNTApAgkBB0FkZHJlc3MBBQZwb29sSWQJAKwCAgIjM1BBa21KbmlNZ25uQWVqNXBZZjJqRllrQ2Jab3c1cHQ5dHICDF9pbmRleFN0YWtlZAAKdG90YWxzdGFrZQkBEUBleHRyTmF0aXZlKDEwNTApAgkBB0FkZHJlc3MBBQZwb29sSWQCF2dsb2JhbF9wb29sVG9rZW5fYW1vdW50AAp0dmxpbndhdmVzCQBrAwkAaAIFC3dhdmVzaW5wb29sAAoFDHByb2plY3RzdGFrZQUKdG90YWxzdGFrZQAPd2hpcmxwb29sc3VwcGx5BAckbWF0Y2gwCQDsBwEFCXdoaXJscG9vbAMJAAECBQckbWF0Y2gwAgVBc3NldAQFYXNzZXQFByRtYXRjaDAIBQVhc3NldAhxdWFudGl0eQkAAgECEENhbid0IGZpbmQgYXNzZXQABXByaWNlAwkAZwIJAGQCCQBrAwkAZAIFCnR2bGlud2F2ZXMJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCHHN1cnBsdXMgcmVjZWl2ZWQgaW4gd2F2ZWxldHMFAmQ4BQ93aGlybHBvb2xzdXBwbHkFAmQ4CQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAiFXSElSTFBPT0wgaXNzdWUgcHJpY2UgaW4gd2F2ZWxldHMJAGQCCQBrAwkAZAIFCnR2bGlud2F2ZXMJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCHHN1cnBsdXMgcmVjZWl2ZWQgaW4gd2F2ZWxldHMFAmQ4BQ93aGlybHBvb2xzdXBwbHkFAmQ4CQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAiFXSElSTFBPT0wgaXNzdWUgcHJpY2UgaW4gd2F2ZWxldHMEAWkBFWJ1eVdISVJMUE9PTHdpdGhXQVZFUwAEA3BtdAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwAABAdzdXJwbHVzCQBrAwkAZQIFBXByaWNlBQJkOAgFA3BtdAZhbW91bnQFAmQ4BAZhbW91bnQJAGsDCAUDcG10BmFtb3VudAUCZDgFBXByaWNlBAxzdXBwbHlhbW91bnQJAGkCCQBlAggFA3BtdAZhbW91bnQFB3N1cnBsdXMAAgQTc3dhdmVzQmFsYW5jZUJlZm9yZQkA8AcCBQR0aGlzBQZzd2F2ZXMDCQAAAgUTc3dhdmVzQmFsYW5jZUJlZm9yZQUTc3dhdmVzQmFsYW5jZUJlZm9yZQMJAQIhPQIIBQNwbXQHYXNzZXRJZAUEdW5pdAkAAgECF2F0dGFjaCBXQVZFUyB0b2tlbiBvbmx5BBNTdXBwbHlXYXZlc01haW5Qb29sCQD8BwQJAQdBZGRyZXNzAQEaAVcglFxKrc/0SDk7iECzv9vujFCgp2rP2ugCBnN1cHBseQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1bml0BQxzdXBwbHlhbW91bnQFA25pbAMJAAACBRNTdXBwbHlXYXZlc01haW5Qb29sBRNTdXBwbHlXYXZlc01haW5Qb29sBBhTdXBwbHlXYXZlc1dhdmVzRGVmaVBvb2wJAPwHBAkBB0FkZHJlc3MBARoBVxkLO48/zcX1AFJDuOumjMisvxQ5MT4kvgIGc3VwcGx5BQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHVuaXQFDHN1cHBseWFtb3VudAUDbmlsAwkAAAIFGFN1cHBseVdhdmVzV2F2ZXNEZWZpUG9vbAUYU3VwcGx5V2F2ZXNXYXZlc0RlZmlQb29sCQDMCAIJAQdSZWlzc3VlAwUJd2hpcmxwb29sBQZhbW91bnQGCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUGYW1vdW50BQl3aGlybHBvb2wJAMwIAgkBDEludGVnZXJFbnRyeQICIVdISVJMUE9PTCBpc3N1ZSBwcmljZSBpbiB3YXZlbGV0cwUFcHJpY2UJAMwIAgkBDEludGVnZXJFbnRyeQICInN1cnBsdXMgdHJlYXN1cnkgdmFsdWUgaW4gd2F2ZWxldHMFCnR2bGlud2F2ZXMJAMwIAgkBDEludGVnZXJFbnRyeQICFldISVJMUE9PTCB0b3RhbCBzdXBwbHkFD3doaXJscG9vbHN1cHBseQkAzAgCCQEMSW50ZWdlckVudHJ5AgIcc3VycGx1cyByZWNlaXZlZCBpbiB3YXZlbGV0cwkAZAIFB3N1cnBsdXMJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCHHN1cnBsdXMgcmVjZWl2ZWQgaW4gd2F2ZWxldHMJAMwIAgkBDEludGVnZXJFbnRyeQICHndhdmVsZXRzIHJlY2VpdmVkIGZvciB0cmVhc3VyeQkAZQIFBmFtb3VudAUHc3VycGx1cwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBElByaWNlU3VycGx1c1N1cHBseQAJAMwIAgkBDEludGVnZXJFbnRyeQICDVdBVkVTIGluIHBvb2wFC3dhdmVzaW5wb29sCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgxwcm9qZWN0c3Rha2UFDHByb2plY3RzdGFrZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIKdG90YWxzdGFrZQUKdG90YWxzdGFrZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIhV0hJUkxQT09MIGlzc3VlIHByaWNlIGluIHdhdmVsZXRzBQVwcmljZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIic3VycGx1cyB0cmVhc3VyeSB2YWx1ZSBpbiB3YXZlbGV0cwUKdHZsaW53YXZlcwkAzAgCCQEMSW50ZWdlckVudHJ5AgIWV0hJUkxQT09MIHRvdGFsIHN1cHBseQUPd2hpcmxwb29sc3VwcGx5CQDMCAIJAQxJbnRlZ2VyRW50cnkCAhxzdXJwbHVzIHJlY2VpdmVkIGluIHdhdmVsZXRzCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhxzdXJwbHVzIHJlY2VpdmVkIGluIHdhdmVsZXRzCQDMCAIJAQxJbnRlZ2VyRW50cnkCAh53YXZlbGV0cyByZWNlaXZlZCBmb3IgdHJlYXN1cnkJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCH3N3YXZlbGV0cyByZWNlaXZlZCBmb3IgdHJlYXN1cnkFA25pbAFpARNQb29sT25lVG9rZW5TdXJwbHVzAAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECHGFjY2VzcyBvbmx5IGJ5IHByb2plY3Qgb3duZXIEDXN1cnBsdXNhbW91bnQJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCHHN1cnBsdXMgcmVjZWl2ZWQgaW4gd2F2ZWxldHMEE1Bvb2xPbmVUb2tlblN1cnBsdXMJAPwHBAkBB0FkZHJlc3MBARoBV/0lw71OYZRB77peEmOPxTlvSbWIOvXpbQIhZ2VuZXJhdGVJbmRleFdpdGhPbmVUb2tlbkFuZFN0YWtlCQDMCAIFCnBvb2xTdHJpbmcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAUNc3VycGx1c2Ftb3VudAUDbmlsAwkAAAIFE1Bvb2xPbmVUb2tlblN1cnBsdXMFE1Bvb2xPbmVUb2tlblN1cnBsdXMJAMwIAgkBDEludGVnZXJFbnRyeQICHHN1cnBsdXMgcmVjZWl2ZWQgaW4gd2F2ZWxldHMJAGUCCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhxzdXJwbHVzIHJlY2VpdmVkIGluIHdhdmVsZXRzBQ1zdXJwbHVzYW1vdW50BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEMQm9vc3RQb29sQVBZAAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECHGFjY2VzcyBvbmx5IGJ5IHByb2plY3Qgb3duZXIEE3N3YXZlc0JhbGFuY2VCZWZvcmUJAPAHAgUEdGhpcwUGc3dhdmVzAwkAAAIFE3N3YXZlc0JhbGFuY2VCZWZvcmUFE3N3YXZlc0JhbGFuY2VCZWZvcmUEC3N3YXBidXJueHRuCQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAICBXdhdmVzCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQlidXJueHRuSWQJAPAHAgUEdGhpcwUJYnVybnh0bklkBQNuaWwDCQAAAgULc3dhcGJ1cm54dG4FC3N3YXBidXJueHRuBAtzd2FwdXNkdGVyYwkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCAgV3YXZlcwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUHdXNkdGVyYwkA8AcCBQR0aGlzBQd1c2R0ZXJjBQNuaWwDCQAAAgULc3dhcHVzZHRlcmMFC3N3YXB1c2R0ZXJjBAtzd2FwdXNkdGJzYwkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCAgV3YXZlcwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUHdXNkdGJzYwkA8AcCBQR0aGlzBQd1c2R0YnNjBQNuaWwDCQAAAgULc3dhcHVzZHRic2MFC3N3YXB1c2R0YnNjBAtzd2FwdXNkY2VyYwkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCAgV3YXZlcwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUHdXNkY2VyYwkA8AcCBQR0aGlzBQd1c2RjZXJjBQNuaWwDCQAAAgULc3dhcHVzZGNlcmMFC3N3YXB1c2RjZXJjBAtzd2FwdXNkY2JzYwkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCAgV3YXZlcwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUHdXNkY2JzYwkA8AcCBQR0aGlzBQd1c2RjYnNjBQNuaWwDCQAAAgULc3dhcHVzZGNic2MFC3N3YXB1c2RjYnNjBAdzd2FwZXRoCQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAICBXdhdmVzCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQNldGgJAPAHAgUEdGhpcwUDZXRoBQNuaWwDCQAAAgUHc3dhcGV0aAUHc3dhcGV0aAQHc3dhcGJuYgkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCAgV3YXZlcwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUDYm5iCQDwBwIFBHRoaXMFA2JuYgUDbmlsAwkAAAIFB3N3YXBibmIFB3N3YXBibmIECHN3YXB3YnRjCQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAICBXdhdmVzCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR3YnRjCQDwBwIFBHRoaXMFBHdidGMFA25pbAMJAAACBQhzd2Fwd2J0YwUIc3dhcHdidGMECHN3YXBidGNiCQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAICBXdhdmVzCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQRidGNiCQDwBwIFBHRoaXMFBGJ0Y2IFA25pbAMJAAACBQhzd2FwYnRjYgUIc3dhcGJ0Y2IEDVN3YXZlc0RlcG9zaXQJAPwHBAkBB0FkZHJlc3MBARoBV33Je5MUef/nUfGxSsdv+WodgJVHz1gjfgIHZGVwb3NpdAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1bml0AwkAZgIJAGUCCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQUCZDgAAAkAZQIICQDvBwEFBHRoaXMJYXZhaWxhYmxlBQJkOAAABQNuaWwDCQAAAgUNU3dhdmVzRGVwb3NpdAUNU3dhdmVzRGVwb3NpdAQSc3dhdmVzQmFsYW5jZUFmdGVyCQDwBwIFBHRoaXMFBnN3YXZlcwQQc3dhdmVzRGlmZmVyZW5jZQkAZQIFEnN3YXZlc0JhbGFuY2VBZnRlcgUTc3dhdmVzQmFsYW5jZUJlZm9yZQQLYW1vdW50Qm9vc3QJAGsDBRBzd2F2ZXNEaWZmZXJlbmNlAFAAZAQLYW1vdW50T3duZXIJAGsDBRBzd2F2ZXNEaWZmZXJlbmNlABQAZAQFYm9vc3QJAPwHBAkBB0FkZHJlc3MBBQ93aGlybHBvb2xQb29sSWQCC2FkZEJvb3N0aW5nCQDMCAIAHgUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQZzd2F2ZXMFC2Ftb3VudEJvb3N0BQNuaWwDCQAAAgUFYm9vc3QFBWJvb3N0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQUMcHJvamVjdG93bmVyBQthbW91bnRPd25lcgUGc3dhdmVzBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AnbEuhg==", "height": 3800222, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EmBDvhh7wBDyx8dUVtSxfEmd4EejCD87CCqTHAW6xTdF Next: 8PvYYdYYhteKsXaXJFTmv7wbYXJugzB12d9zk2wJ7qD8 Diff:
OldNewDifferences
5454 then (fraction((tvlinwaves + getIntegerValue(this, "surplus received in wavelets")), d8, whirlpoolsupply) + d8)
5555 else getIntegerValue(this, "WHIRLPOOL issue price in wavelets")
5656
57-let bonuspercentage = 10
58-
5957 @Callable(i)
6058 func buyWHIRLPOOLwithWAVES () = {
6159 let pmt = value(i.payments[0])
7270 then {
7371 let SupplyWavesWavesDefiPool = invoke(Address(base58'3P4DK5VzDwL3vfc5ahUEhtoe5ByZNyacJ3X'), "supply", nil, [AttachedPayment(unit, supplyamount)])
7472 if ((SupplyWavesWavesDefiPool == SupplyWavesWavesDefiPool))
75- then [Reissue(whirlpool, fraction(amount, (100 + bonuspercentage), 100), true), ScriptTransfer(i.caller, fraction(amount, (100 + bonuspercentage), 100), whirlpool), IntegerEntry("WHIRLPOOL issue price in wavelets", price), IntegerEntry("surplus treasury value in wavelets", tvlinwaves), IntegerEntry("WHIRLPOOL total supply", whirlpoolsupply), IntegerEntry("surplus received in wavelets", (surplus + getIntegerValue(this, "surplus received in wavelets"))), IntegerEntry("wavelets received for treasury", (amount - surplus))]
73+ 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("surplus received in wavelets", (surplus + getIntegerValue(this, "surplus received in wavelets"))), IntegerEntry("wavelets received for treasury", (amount - surplus))]
7674 else throw("Strict value is not equal to itself.")
7775 }
7876 else throw("Strict value is not equal to itself.")
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
57-let bonuspercentage = 10
58-
5957 @Callable(i)
6058 func buyWHIRLPOOLwithWAVES () = {
6159 let pmt = value(i.payments[0])
6260 let surplus = fraction((price - d8), pmt.amount, d8)
6361 let amount = fraction(pmt.amount, d8, price)
6462 let supplyamount = ((pmt.amount - surplus) / 2)
6563 let swavesBalanceBefore = assetBalance(this, swaves)
6664 if ((swavesBalanceBefore == swavesBalanceBefore))
6765 then if ((pmt.assetId != unit))
6866 then throw("attach WAVES token only")
6967 else {
7068 let SupplyWavesMainPool = invoke(Address(base58'3P4uA5etnZi4AmBabKinq2bMiWU8KcnHZdH'), "supply", nil, [AttachedPayment(unit, supplyamount)])
7169 if ((SupplyWavesMainPool == SupplyWavesMainPool))
7270 then {
7371 let SupplyWavesWavesDefiPool = invoke(Address(base58'3P4DK5VzDwL3vfc5ahUEhtoe5ByZNyacJ3X'), "supply", nil, [AttachedPayment(unit, supplyamount)])
7472 if ((SupplyWavesWavesDefiPool == SupplyWavesWavesDefiPool))
75- then [Reissue(whirlpool, fraction(amount, (100 + bonuspercentage), 100), true), ScriptTransfer(i.caller, fraction(amount, (100 + bonuspercentage), 100), whirlpool), IntegerEntry("WHIRLPOOL issue price in wavelets", price), IntegerEntry("surplus treasury value in wavelets", tvlinwaves), IntegerEntry("WHIRLPOOL total supply", whirlpoolsupply), IntegerEntry("surplus received in wavelets", (surplus + getIntegerValue(this, "surplus received in wavelets"))), IntegerEntry("wavelets received for treasury", (amount - surplus))]
73+ 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("surplus received in wavelets", (surplus + getIntegerValue(this, "surplus received in wavelets"))), IntegerEntry("wavelets received for treasury", (amount - surplus))]
7674 else throw("Strict value is not equal to itself.")
7775 }
7876 else throw("Strict value is not equal to itself.")
7977 }
8078 else throw("Strict value is not equal to itself.")
8179 }
8280
8381
8482
8583 @Callable(i)
8684 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("surplus received in wavelets", getIntegerValue(this, "surplus received in wavelets")), IntegerEntry("wavelets received for treasury", getIntegerValue(this, "swavelets received for treasury"))]
8785
8886
8987
9088 @Callable(i)
9189 func PoolOneTokenSurplus () = if ((i.caller != this))
9290 then throw("access only by project owner")
9391 else {
9492 let surplusamount = getIntegerValue(this, "surplus received in wavelets")
9593 let PoolOneTokenSurplus = invoke(Address(base58'3PR1Qvi9mHT35SwWEkLSqqE2L8thiPLdVWU'), "generateIndexWithOneTokenAndStake", [poolString], [AttachedPayment(unit, surplusamount)])
9694 if ((PoolOneTokenSurplus == PoolOneTokenSurplus))
9795 then [IntegerEntry("surplus received in wavelets", (getIntegerValue(this, "surplus received in wavelets") - surplusamount))]
9896 else throw("Strict value is not equal to itself.")
9997 }
10098
10199
102100
103101 @Callable(i)
104102 func BoostPoolAPY () = if ((i.caller != this))
105103 then throw("access only by project owner")
106104 else {
107105 let swavesBalanceBefore = assetBalance(this, swaves)
108106 if ((swavesBalanceBefore == swavesBalanceBefore))
109107 then {
110108 let swapburnxtn = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(burnxtnId, assetBalance(this, burnxtnId))])
111109 if ((swapburnxtn == swapburnxtn))
112110 then {
113111 let swapusdterc = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(usdterc, assetBalance(this, usdterc))])
114112 if ((swapusdterc == swapusdterc))
115113 then {
116114 let swapusdtbsc = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(usdtbsc, assetBalance(this, usdtbsc))])
117115 if ((swapusdtbsc == swapusdtbsc))
118116 then {
119117 let swapusdcerc = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(usdcerc, assetBalance(this, usdcerc))])
120118 if ((swapusdcerc == swapusdcerc))
121119 then {
122120 let swapusdcbsc = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(usdcbsc, assetBalance(this, usdcbsc))])
123121 if ((swapusdcbsc == swapusdcbsc))
124122 then {
125123 let swapeth = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(eth, assetBalance(this, eth))])
126124 if ((swapeth == swapeth))
127125 then {
128126 let swapbnb = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(bnb, assetBalance(this, bnb))])
129127 if ((swapbnb == swapbnb))
130128 then {
131129 let swapwbtc = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(wbtc, assetBalance(this, wbtc))])
132130 if ((swapwbtc == swapwbtc))
133131 then {
134132 let swapbtcb = invoke(Address(poolId), "swap", ["waves", 0], [AttachedPayment(btcb, assetBalance(this, btcb))])
135133 if ((swapbtcb == swapbtcb))
136134 then {
137135 let SwavesDeposit = invoke(Address(base58'3PDPzZVLhN1EuzGy4xAxjjTVkawKDLEaHiV'), "deposit", nil, [AttachedPayment(unit, if (((wavesBalance(this).available - d8) > 0))
138136 then (wavesBalance(this).available - d8)
139137 else 0)])
140138 if ((SwavesDeposit == SwavesDeposit))
141139 then {
142140 let swavesBalanceAfter = assetBalance(this, swaves)
143141 let swavesDifference = (swavesBalanceAfter - swavesBalanceBefore)
144142 let amountBoost = fraction(swavesDifference, 80, 100)
145143 let amountOwner = fraction(swavesDifference, 20, 100)
146144 let boost = invoke(Address(whirlpoolPoolId), "addBoosting", [30], [AttachedPayment(swaves, amountBoost)])
147145 if ((boost == boost))
148146 then [ScriptTransfer(Address(projectowner), amountOwner, swaves)]
149147 else throw("Strict value is not equal to itself.")
150148 }
151149 else throw("Strict value is not equal to itself.")
152150 }
153151 else throw("Strict value is not equal to itself.")
154152 }
155153 else throw("Strict value is not equal to itself.")
156154 }
157155 else throw("Strict value is not equal to itself.")
158156 }
159157 else throw("Strict value is not equal to itself.")
160158 }
161159 else throw("Strict value is not equal to itself.")
162160 }
163161 else throw("Strict value is not equal to itself.")
164162 }
165163 else throw("Strict value is not equal to itself.")
166164 }
167165 else throw("Strict value is not equal to itself.")
168166 }
169167 else throw("Strict value is not equal to itself.")
170168 }
171169 else throw("Strict value is not equal to itself.")
172170 }
173171
174172

github/deemru/w8io/6500d08 
61.59 ms