tx · FmNdnm31vtbrKbFQnWZiMmqe2DuB1PF3yupbgZAiySzA

3PAucbbumdUXmhzcR421zGiayphEdo2tRoz:  -0.01100000 Waves

2023.10.02 08:58 [3846464] smart account 3PAucbbumdUXmhzcR421zGiayphEdo2tRoz > SELF 0.00000000 Waves

{ "type": 13, "id": "FmNdnm31vtbrKbFQnWZiMmqe2DuB1PF3yupbgZAiySzA", "fee": 1100000, "feeAssetId": null, "timestamp": 1696226424901, "version": 2, "chainId": 87, "sender": "3PAucbbumdUXmhzcR421zGiayphEdo2tRoz", "senderPublicKey": "AiArNcvVoWJyv8ktLosfrg7eoy6oUZYooeHTZwTLQkZm", "proofs": [ "4ZuWujCkUoKkFLfnR9c2g9y6tMEXDCBxKYXxtP4zMLEM93JXv3qBxvSCCo9U8wqRB7jvVyqrzwy2j8wqJ2mBqask" ], "script": "base64:BgIQCAISABIAEgASABIAEgASACEAAmQ4AIDC1y8ABnBvb2xJZAEaAVeFnSww1fwDPmHFrd6Sv8UqkfOZrhpBQAoACnBvb2xTdHJpbmcJANgEAQUGcG9vbElkAAVwb29sMgEaAVf1RmgngA1o304mdXq0odMoMeAJv/V5eTcABXh0bklkASC2JinDBPXOU5GkDkt1JC9kjFGx+t+vVCm9SNIdKrKq0QAJYnVybnh0bklkASAkT3V5an4zObj7DP+EqXFcXsot3jOgxF1p+epEEexMVAANYnVybnh0blN0cmluZwkA2AQBBQlidXJueHRuSWQABndlc3RJZAEgMYOEb0Wf3bcdWh4X/UF+RNg32QeT1+Tle4pnJF/jwPkAB3ZpcmVzSWQBILja4jcBYnBfmqhbshkMvQ/DZa91BrZYLd0Hk1ap3amXAAVlZ2dJZAEgo59/TyNyUdEs4iGSYohNDAvz6iJugdWv/AuTF85tsckABnN1cmZJZAEgktH0SuIRASv0fureIY49xfvJ8n3Oh7LtUhnwOk4kWPUABm5zYnRJZAEgVe7DvqoL8FDoccgbqm5wnqSxyP5KLrnB8czFaw94l0sABHd4SWQBIJMBHKupx24lV85mnnG2vapr+DzoWAsq7tmgTrs83BSxAAZzd29wSWQBIMuWPoXm9ZNWT495gxEUeE8mfozeVJJ81uGtwFxoqK7sAAd3YXZlc0lkAQQTq9kzAAd1c2R0ZXJjASCE2nqyCAM/TtG7yo7ui5O8yYLdC136B5ao1CP5qA//uQAHdXNkY2VyYwEg8b90j2kCa66vzjuwb/Nd8MVKoTFsVrfc+ipKoeuRGkkAB3VzZHRic2MBIIeFKhRdvRvgacOk2tYbd0/cBQSbrAXfQbCvgMBJMOmiAAd1c2RjYnNjASAvN5TEMA7UHoYvTQ14Xf3kXkI8Q97mJBxq1GB3huvltQAOYnVybnh0bmJhbGFuY2UJAPAHAgkBB0FkZHJlc3MBBQZwb29sSWQFCWJ1cm54dG5JZAAMd2F2ZXNiYWxhbmNlCAkA7wcBCQEHQWRkcmVzcwEFBnBvb2xJZAdyZWd1bGFyABFidXJueHRud2F2ZXNwcmljZQkAawMFAmQ4CQBoAgUMd2F2ZXNiYWxhbmNlAAsFDmJ1cm54dG5iYWxhbmNlAA9idXJueHRuYmFsYW5jZTIJAPAHAgkBB0FkZHJlc3MBBQVwb29sMgUJYnVybnh0bklkAAp1c2RiYWxhbmNlCQBpAgkAZAIJAGQCCQBkAgkA8AcCCQEHQWRkcmVzcwEFBXBvb2wyBQd1c2R0ZXJjCQDwBwIJAQdBZGRyZXNzAQUFcG9vbDIFB3VzZGNlcmMJAPAHAgkBB0FkZHJlc3MBBQVwb29sMgUHdXNkdGJzYwkA8AcCCQEHQWRkcmVzcwEFBXBvb2wyBQd1c2RjYnNjAAQAD2J1cm54dG51c2RwcmljZQkAawMFAmQ4BQp1c2RiYWxhbmNlBQ9idXJueHRuYmFsYW5jZTIAA0FUSAMJAGYCBRFidXJueHRud2F2ZXNwcmljZQkBEUBleHRyTmF0aXZlKDEwNTUpAQIPQVRIIGluIHdhdmVsZXRzBRFidXJueHRud2F2ZXNwcmljZQkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwIPQVRIIGluIHdhdmVsZXRzAAZBVEh1c2QDCQBmAgUPYnVybnh0bnVzZHByaWNlCQERQGV4dHJOYXRpdmUoMTA1NSkBAg9BVEggaW4gY2VudGxldHMFD2J1cm54dG51c2RwcmljZQkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwIPQVRIIGluIGNlbnRsZXRzAAt3YXZlc2lucG9vbAkBEUBleHRyTmF0aXZlKDEwNTApAgkBB0FkZHJlc3MBBQZwb29sSWQJAKwCAgkArAICAgdnbG9iYWxfCQDYBAEFB3dhdmVzSWQCCF9iYWxhbmNlAAxwcm9qZWN0c3Rha2UJARFAZXh0ck5hdGl2ZSgxMDUwKQIJAQdBZGRyZXNzAQUGcG9vbElkCQCsAgICIzNQQXVjYmJ1bWRVWG1oemNSNDIxekdpYXlwaEVkbzJ0Um96AgxfaW5kZXhTdGFrZWQACnRvdGFsc3Rha2UJARFAZXh0ck5hdGl2ZSgxMDUwKQIJAQdBZGRyZXNzAQUGcG9vbElkAhdnbG9iYWxfcG9vbFRva2VuX2Ftb3VudAAKdHZsaW53YXZlcwkAawMJAGsDBQt3YXZlc2lucG9vbAUMcHJvamVjdHN0YWtlBQp0b3RhbHN0YWtlAAkFAmQ4AAd0dmxwb29sCQBrAwULd2F2ZXNpbnBvb2wACQUCZDgAC3ByaWNlZ3Jvd3RoCQBpAgkAZQIJAGsDBQJkOAURYnVybnh0bndhdmVzcHJpY2UJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCIWludGlhbCBwcmljZSBCVVJOLVhUTiBpbiB3YXZlbGV0cwUCZDgAwIQ9BwFpAQtGaXJzdEludm9rZQADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhxhY2Nlc3Mgb25seSBieSBwcm9qZWN0IG93bmVyBA9Qb29sR3Jvd3RoU3RlcDEDCQBnAgURYnVybnh0bndhdmVzcHJpY2UJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCD0FUSCBpbiB3YXZlbGV0cwkA/AcEBQR0aGlzAg9Qb29sR3Jvd3RoU3RlcDEFA25pbAUDbmlsBQR1bml0AwkAAAIFD1Bvb2xHcm93dGhTdGVwMQUPUG9vbEdyb3d0aFN0ZXAxBA9Qb29sR3Jvd3RoU3RlcDIDCQBnAgURYnVybnh0bndhdmVzcHJpY2UJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCD0FUSCBpbiB3YXZlbGV0cwkA/AcEBQR0aGlzAg9Qb29sR3Jvd3RoU3RlcDIFA25pbAUDbmlsBQR1bml0AwkAAAIFD1Bvb2xHcm93dGhTdGVwMgUPUG9vbEdyb3d0aFN0ZXAyBAtQcmljZUdyb3d0aAMJAGYCCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAg9BVEggaW4gd2F2ZWxldHMFEWJ1cm54dG53YXZlc3ByaWNlCQD8BwQFBHRoaXMCBFB1bXAFA25pbAUDbmlsBQR1bml0AwkAAAIFC1ByaWNlR3Jvd3RoBQtQcmljZUdyb3d0aAQGZEVudHJ5CQD8BwQFBHRoaXMCBmRFbnRyeQUDbmlsBQNuaWwDCQAAAgUGZEVudHJ5BQZkRW50cnkFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQZkRW50cnkAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgkAzAgCCQEMSW50ZWdlckVudHJ5AgIiQlVSTi1YVE4gLyBXQVZFUyBwcmljZSBpbiB3YXZlbGV0cwURYnVybnh0bndhdmVzcHJpY2UJAMwIAgkBDEludGVnZXJFbnRyeQICDlByaWNlIGdyb3d0aCAlBQtwcmljZWdyb3d0aAkAzAgCCQEMSW50ZWdlckVudHJ5AgIPQVRIIGluIHdhdmVsZXRzBQNBVEgJAMwIAgkBDEludGVnZXJFbnRyeQICIEJVUk4tWFROIC8gVVNEIHByaWNlIGluIGNlbnRsZXRzBQ9idXJueHRudXNkcHJpY2UJAMwIAgkBDEludGVnZXJFbnRyeQICD0FUSCBpbiBjZW50bGV0cwUGQVRIdXNkCQDMCAIJAQxJbnRlZ2VyRW50cnkCAidUVkwgcHJvamVjdCBpbiBXQVZFUyBleGNsdWRpbmcgQlVSTi1YVE4FCnR2bGlud2F2ZXMJAMwIAgkBDEludGVnZXJFbnRyeQICJFRWTCBwb29sIGluIFdBVkVTIGV4Y2x1ZGluZyBCVVJOLVhUTgUHdHZscG9vbAkAzAgCCQEMSW50ZWdlckVudHJ5AgIVQWN0aXZhdGVkIGJsb2NraGVpZ2h0BQZoZWlnaHQFA25pbAFpAQ9Qb29sR3Jvd3RoU3RlcDEAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgQIY2xhaW1JbnYJAPwHBAkBB0FkZHJlc3MBARoBV4WdLDDV/AM+YcWt3pK/xSqR85muGkFACgIRY2xhaW1JbmRleFJld2FyZHMFA25pbAUDbmlsAwkAAAIFCGNsYWltSW52BQhjbGFpbUludgQNeHRuYnVybmFtb3VudAkA8AcCBQR0aGlzBQV4dG5JZAQHeHRuQnVybgkBBEJ1cm4CBQV4dG5JZAUNeHRuYnVybmFtb3VudAQLYnVybnh0bkJ1cm4JAQRCdXJuAgUJYnVybnh0bklkCQDwBwIFBHRoaXMFCWJ1cm54dG5JZAkAzAgCBQd4dG5CdXJuCQDMCAIFC2J1cm54dG5CdXJuCQDMCAIJAQxCb29sZWFuRW50cnkCAg9Qb29sR3Jvd3RoU3RlcDEGCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhBYVE4gdG90YWwgYnVybmVkCQBkAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwIQWFROIHRvdGFsIGJ1cm5lZAUNeHRuYnVybmFtb3VudAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBD1Bvb2xHcm93dGhTdGVwMgADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhxhY2Nlc3Mgb25seSBieSBwcm9qZWN0IG93bmVyBAVzd2VzdAkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCBQ1idXJueHRuU3RyaW5nCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQZ3ZXN0SWQJAPAHAgUEdGhpcwUGd2VzdElkBQNuaWwDCQAAAgUFc3dlc3QFBXN3ZXN0BAZzdmlyZXMJAPwHBAkBB0FkZHJlc3MBBQZwb29sSWQCBHN3YXAJAMwIAgUNYnVybnh0blN0cmluZwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUHdmlyZXNJZAkA8AcCBQR0aGlzBQd2aXJlc0lkBQNuaWwDCQAAAgUGc3ZpcmVzBQZzdmlyZXMEBHNlZ2cJAPwHBAkBB0FkZHJlc3MBBQZwb29sSWQCBHN3YXAJAMwIAgUNYnVybnh0blN0cmluZwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUFZWdnSWQJAPAHAgUEdGhpcwUFZWdnSWQFA25pbAMJAAACBQRzZWdnBQRzZWdnBAVzc3VyZgkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCBQ1idXJueHRuU3RyaW5nCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQZzdXJmSWQJAPAHAgUEdGhpcwUGc3VyZklkBQNuaWwDCQAAAgUFc3N1cmYFBXNzdXJmBAVzbnNidAkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCBQ1idXJueHRuU3RyaW5nCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQZuc2J0SWQJAPAHAgUEdGhpcwUGbnNidElkBQNuaWwDCQAAAgUFc25zYnQFBXNuc2J0BANzd3gJAPwHBAkBB0FkZHJlc3MBBQZwb29sSWQCBHN3YXAJAMwIAgUNYnVybnh0blN0cmluZwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEd3hJZAkA8AcCBQR0aGlzBQR3eElkBQNuaWwDCQAAAgUDc3d4BQNzd3gEBXNzd29wCQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAIFDWJ1cm54dG5TdHJpbmcJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBnN3b3BJZAkA8AcCBQR0aGlzBQZzd29wSWQFA25pbAMJAAACBQVzc3dvcAUFc3N3b3AEBnN3YXZlcwkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCBQ1idXJueHRuU3RyaW5nCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1bml0AwkAZgIJAGUCCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQCAreIEAAAJAGUCCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQCAreIEAAAFA25pbAMJAAACBQZzd2F2ZXMFBnN3YXZlcwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBD1Bvb2xHcm93dGhTdGVwMwADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhxhY2Nlc3Mgb25seSBieSBwcm9qZWN0IG93bmVyBA9wb29sT25lVG9rZW5JbnYJAPwHBAkBB0FkZHJlc3MBARoBV/0lw71OYZRB77peEmOPxTlvSbWIOvXpbQIhZ2VuZXJhdGVJbmRleFdpdGhPbmVUb2tlbkFuZFN0YWtlCQDMCAIFCnBvb2xTdHJpbmcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUJYnVybnh0bklkCQDwBwIFBHRoaXMFCWJ1cm54dG5JZAUDbmlsAwkAAAIFD3Bvb2xPbmVUb2tlbkludgUPcG9vbE9uZVRva2VuSW52CQDMCAIJAQxJbnRlZ2VyRW50cnkCAg9CVVJOLVhUTiBzdXBwbHkEByRtYXRjaDAJAOwHAQUJYnVybnh0bklkAwkAAQIFByRtYXRjaDACBUFzc2V0BAVhc3NldAUHJG1hdGNoMAkAaQIIBQVhc3NldAhxdWFudGl0eQUCZDgJAAIBAhBDYW4ndCBmaW5kIGFzc2V0CQDMCAIJAQxJbnRlZ2VyRW50cnkCAhVCVVJOLVhUTiB0b3RhbCBidXJuZWQJAGUCAICU69wDBAckbWF0Y2gwCQDsBwEFCWJ1cm54dG5JZAMJAAECBQckbWF0Y2gwAgVBc3NldAQFYXNzZXQFByRtYXRjaDAJAGkCCAUFYXNzZXQIcXVhbnRpdHkFAmQ4CQACAQIQQ2FuJ3QgZmluZCBhc3NldAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBFB1bXAAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgQIY2xhaW1JbnYJAPwHBAkBB0FkZHJlc3MBARoBV4WdLDDV/AM+YcWt3pK/xSqR85muGkFACgIRY2xhaW1JbmRleFJld2FyZHMFA25pbAUDbmlsAwkAAAIFCGNsYWltSW52BQhjbGFpbUludgQFc3dlc3QJAPwHBAkBB0FkZHJlc3MBBQZwb29sSWQCBHN3YXAJAMwIAgUNYnVybnh0blN0cmluZwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUGd2VzdElkCQDwBwIFBHRoaXMFBndlc3RJZAUDbmlsAwkAAAIFBXN3ZXN0BQVzd2VzdAQGc3ZpcmVzCQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAIFDWJ1cm54dG5TdHJpbmcJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFB3ZpcmVzSWQJAPAHAgUEdGhpcwUHdmlyZXNJZAUDbmlsAwkAAAIFBnN2aXJlcwUGc3ZpcmVzBARzZWdnCQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAIFDWJ1cm54dG5TdHJpbmcJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBWVnZ0lkCQDwBwIFBHRoaXMFBWVnZ0lkBQNuaWwDCQAAAgUEc2VnZwUEc2VnZwQFc3N1cmYJAPwHBAkBB0FkZHJlc3MBBQZwb29sSWQCBHN3YXAJAMwIAgUNYnVybnh0blN0cmluZwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUGc3VyZklkCQDwBwIFBHRoaXMFBnN1cmZJZAUDbmlsAwkAAAIFBXNzdXJmBQVzc3VyZgQFc25zYnQJAPwHBAkBB0FkZHJlc3MBBQZwb29sSWQCBHN3YXAJAMwIAgUNYnVybnh0blN0cmluZwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUGbnNidElkCQDwBwIFBHRoaXMFBm5zYnRJZAUDbmlsAwkAAAIFBXNuc2J0BQVzbnNidAQDc3d4CQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAIFDWJ1cm54dG5TdHJpbmcJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHd4SWQJAPAHAgUEdGhpcwUEd3hJZAUDbmlsAwkAAAIFA3N3eAUDc3d4BAVzc3dvcAkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCBQ1idXJueHRuU3RyaW5nCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQZzd29wSWQJAPAHAgUEdGhpcwUGc3dvcElkBQNuaWwDCQAAAgUFc3N3b3AFBXNzd29wBAZzd2F2ZXMJAPwHBAkBB0FkZHJlc3MBBQZwb29sSWQCBHN3YXAJAMwIAgUNYnVybnh0blN0cmluZwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAMJAGYCCQBlAggJAO8HAQUEdGhpcwlhdmFpbGFibGUAgK3iBAAACQBlAggJAO8HAQUEdGhpcwlhdmFpbGFibGUAgK3iBAAABQNuaWwDCQAAAgUGc3dhdmVzBQZzd2F2ZXMEDXh0bmJ1cm5hbW91bnQJAPAHAgUEdGhpcwUFeHRuSWQEB3h0bkJ1cm4JAQRCdXJuAgUFeHRuSWQFDXh0bmJ1cm5hbW91bnQEC2J1cm54dG5CdXJuCQEEQnVybgIFCWJ1cm54dG5JZAkA8AcCBQR0aGlzBQlidXJueHRuSWQJAMwIAgUHeHRuQnVybgkAzAgCBQtidXJueHRuQnVybgkAzAgCCQEMSW50ZWdlckVudHJ5AgIPQlVSTi1YVE4gc3VwcGx5BAckbWF0Y2gwCQDsBwEFCWJ1cm54dG5JZAMJAAECBQckbWF0Y2gwAgVBc3NldAQFYXNzZXQFByRtYXRjaDAJAGkCCAUFYXNzZXQIcXVhbnRpdHkFAmQ4CQACAQIQQ2FuJ3QgZmluZCBhc3NldAkAzAgCCQEMSW50ZWdlckVudHJ5AgIVQlVSTi1YVE4gdG90YWwgYnVybmVkCQBlAgCAlOvcAwQHJG1hdGNoMAkA7AcBBQlidXJueHRuSWQDCQABAgUHJG1hdGNoMAIFQXNzZXQEBWFzc2V0BQckbWF0Y2gwCQBpAggFBWFzc2V0CHF1YW50aXR5BQJkOAkAAgECEENhbid0IGZpbmQgYXNzZXQJAMwIAgkBDEludGVnZXJFbnRyeQICEFhUTiB0b3RhbCBidXJuZWQJAGQCCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhBYVE4gdG90YWwgYnVybmVkBQ14dG5idXJuYW1vdW50BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQENUHVtcEJ5QW55Ym9keQADCQBmAgkAZAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCFUFjdGl2YXRlZCBibG9ja2hlaWdodAkAaAIACACgCwUGaGVpZ2h0CQACAQkArAICAhZXYWl0IHRpbGwgYmxvY2toZWlnaHQ6CQCkAwEJAGQCCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhVBY3RpdmF0ZWQgYmxvY2toZWlnaHQJAGgCAAgAoAsECGNsYWltSW52CQD8BwQJAQdBZGRyZXNzAQEaAVeFnSww1fwDPmHFrd6Sv8UqkfOZrhpBQAoCEWNsYWltSW5kZXhSZXdhcmRzBQNuaWwFA25pbAMJAAACBQhjbGFpbUludgUIY2xhaW1JbnYEBXN3ZXN0CQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAIFDWJ1cm54dG5TdHJpbmcJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBndlc3RJZAkA8AcCBQR0aGlzBQZ3ZXN0SWQFA25pbAMJAAACBQVzd2VzdAUFc3dlc3QEBnN2aXJlcwkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCBQ1idXJueHRuU3RyaW5nCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQd2aXJlc0lkCQDwBwIFBHRoaXMFB3ZpcmVzSWQFA25pbAMJAAACBQZzdmlyZXMFBnN2aXJlcwQEc2VnZwkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCBQ1idXJueHRuU3RyaW5nCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQVlZ2dJZAkA8AcCBQR0aGlzBQVlZ2dJZAUDbmlsAwkAAAIFBHNlZ2cFBHNlZ2cEBXNzdXJmCQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAIFDWJ1cm54dG5TdHJpbmcJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBnN1cmZJZAkA8AcCBQR0aGlzBQZzdXJmSWQFA25pbAMJAAACBQVzc3VyZgUFc3N1cmYEBXNuc2J0CQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAIFDWJ1cm54dG5TdHJpbmcJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBm5zYnRJZAkA8AcCBQR0aGlzBQZuc2J0SWQFA25pbAMJAAACBQVzbnNidAUFc25zYnQEA3N3eAkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCBQ1idXJueHRuU3RyaW5nCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR3eElkCQDwBwIFBHRoaXMFBHd4SWQFA25pbAMJAAACBQNzd3gFA3N3eAQFc3N3b3AJAPwHBAkBB0FkZHJlc3MBBQZwb29sSWQCBHN3YXAJAMwIAgUNYnVybnh0blN0cmluZwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUGc3dvcElkCQDwBwIFBHRoaXMFBnN3b3BJZAUDbmlsAwkAAAIFBXNzd29wBQVzc3dvcAQGc3dhdmVzCQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAIFDWJ1cm54dG5TdHJpbmcJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHVuaXQDCQBmAgkAZQIICQDvBwEFBHRoaXMJYXZhaWxhYmxlAICt4gQAAAkAZQIICQDvBwEFBHRoaXMJYXZhaWxhYmxlAICt4gQAAAUDbmlsAwkAAAIFBnN3YXZlcwUGc3dhdmVzBA14dG5idXJuYW1vdW50CQDwBwIFBHRoaXMFBXh0bklkBAd4dG5CdXJuCQEEQnVybgIFBXh0bklkBQ14dG5idXJuYW1vdW50BAtidXJueHRuQnVybgkBBEJ1cm4CBQlidXJueHRuSWQJAPAHAgUEdGhpcwUJYnVybnh0bklkCQDMCAIFB3h0bkJ1cm4JAMwIAgULYnVybnh0bkJ1cm4JAMwIAgkBDEludGVnZXJFbnRyeQICD0JVUk4tWFROIHN1cHBseQQHJG1hdGNoMAkA7AcBBQlidXJueHRuSWQDCQABAgUHJG1hdGNoMAIFQXNzZXQEBWFzc2V0BQckbWF0Y2gwCQBpAggFBWFzc2V0CHF1YW50aXR5BQJkOAkAAgECEENhbid0IGZpbmQgYXNzZXQJAMwIAgkBDEludGVnZXJFbnRyeQICFUJVUk4tWFROIHRvdGFsIGJ1cm5lZAkAZQIAgJTr3AMEByRtYXRjaDAJAOwHAQUJYnVybnh0bklkAwkAAQIFByRtYXRjaDACBUFzc2V0BAVhc3NldAUHJG1hdGNoMAkAaQIIBQVhc3NldAhxdWFudGl0eQUCZDgJAAIBAhBDYW4ndCBmaW5kIGFzc2V0CQDMCAIJAQxJbnRlZ2VyRW50cnkCAhBYVE4gdG90YWwgYnVybmVkCQBkAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwIQWFROIHRvdGFsIGJ1cm5lZAUNeHRuYnVybmFtb3VudAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuABHqFYk=", "height": 3846464, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2KPpShyraEDEkGkZPoT2bs8SNTSooJDyzGru7sAbrzHb Next: 8xHYAxUmF4EFewgGQKTd1QHUPmCY1Z8KKrNtvcUheRYL Diff:
OldNewDifferences
7272 let pricegrowth = ((fraction(d8, burnxtnwavesprice, getIntegerValue(this, "intial price BURN-XTN in wavelets")) - d8) / 1000000)
7373
7474 @Callable(i)
75-func FirstInvoke () = if (if ((i.caller != this))
76- then (i.caller != Address(base58'3PLjwHcz9NEuaTo63NZR9B9okQiKQxZSbmf'))
77- else false)
78- then throw("access only by project owner or Puzzle master")
75+func FirstInvoke () = if ((i.caller != this))
76+ then throw("access only by project owner")
7977 else {
8078 let PoolGrowthStep1 = if ((burnxtnwavesprice >= getIntegerValue(this, "ATH in wavelets")))
8179 then invoke(this, "PoolGrowthStep1", nil, nil)
8886 if ((PoolGrowthStep2 == PoolGrowthStep2))
8987 then {
9088 let PriceGrowth = if ((getIntegerValue(this, "ATH in wavelets") > burnxtnwavesprice))
91- then invoke(this, "PriceGrowth", nil, nil)
89+ then invoke(this, "Pump", nil, nil)
9290 else unit
9391 if ((PriceGrowth == PriceGrowth))
9492 then {
107105
108106
109107 @Callable(i)
110-func dEntry () = if (if ((i.caller != this))
111- then (i.caller != Address(base58'3PLjwHcz9NEuaTo63NZR9B9okQiKQxZSbmf'))
112- else false)
113- then throw("access only by project owner or Puzzle master")
114- else [IntegerEntry("BURN-XTN / WAVES price in wavelets", burnxtnwavesprice), IntegerEntry("Price growth %", pricegrowth), IntegerEntry("ATH in wavelets", ATH), IntegerEntry("BURN-XTN / USD price in centlets", burnxtnusdprice), IntegerEntry("ATH in centlets", ATHusd), IntegerEntry("TVL project in WAVES excluding BURN-XTN", tvlinwaves), IntegerEntry("TVL pool in WAVES excluding BURN-XTN", tvlpool)]
108+func dEntry () = if ((i.caller != this))
109+ then throw("access only by project owner")
110+ else [IntegerEntry("BURN-XTN / WAVES price in wavelets", burnxtnwavesprice), IntegerEntry("Price growth %", pricegrowth), IntegerEntry("ATH in wavelets", ATH), IntegerEntry("BURN-XTN / USD price in centlets", burnxtnusdprice), IntegerEntry("ATH in centlets", ATHusd), IntegerEntry("TVL project in WAVES excluding BURN-XTN", tvlinwaves), IntegerEntry("TVL pool in WAVES excluding BURN-XTN", tvlpool), IntegerEntry("Activated blockheight", height)]
115111
116112
117113
118114 @Callable(i)
119-func PoolGrowthStep1 () = if (if ((i.caller != this))
120- then (i.caller != Address(base58'3PLjwHcz9NEuaTo63NZR9B9okQiKQxZSbmf'))
121- else false)
122- then throw("access only by project owner or Puzzle master")
123- else if ((getIntegerValue(this, "ATH in wavelets") > burnxtnwavesprice))
124- then throw("price is below ATH")
125- else {
126- let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
127- if ((claimInv == claimInv))
128- then {
129- let xtnburnamount = assetBalance(this, xtnId)
130- let xtnBurn = Burn(xtnId, xtnburnamount)
131- let burnxtnBurn = Burn(burnxtnId, assetBalance(this, burnxtnId))
115+func PoolGrowthStep1 () = if ((i.caller != this))
116+ then throw("access only by project owner")
117+ else {
118+ let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
119+ if ((claimInv == claimInv))
120+ then {
121+ let xtnburnamount = assetBalance(this, xtnId)
122+ let xtnBurn = Burn(xtnId, xtnburnamount)
123+ let burnxtnBurn = Burn(burnxtnId, assetBalance(this, burnxtnId))
132124 [xtnBurn, burnxtnBurn, BooleanEntry("PoolGrowthStep1", true), IntegerEntry("XTN total burned", (getIntegerValue(this, "XTN total burned") + xtnburnamount))]
133- }
134- else throw("Strict value is not equal to itself.")
135- }
125+ }
126+ else throw("Strict value is not equal to itself.")
127+ }
136128
137129
138130
139131 @Callable(i)
140-func PoolGrowthStep2 () = if ((if (isDefined(getBoolean("PoolGrowthStep1")))
141- then value(getBoolean("PoolGrowthStep1"))
142- else false != true))
143- then throw("do PoolGrowthStep1 first")
144- else if (if ((i.caller != this))
145- then (i.caller != Address(base58'3PLjwHcz9NEuaTo63NZR9B9okQiKQxZSbmf'))
146- else false)
147- then throw("access only by project owner or Puzzle master")
148- else if ((getIntegerValue(this, "ATH in wavelets") > burnxtnwavesprice))
149- then throw("price is below ATH")
150- else {
132+func PoolGrowthStep2 () = if ((i.caller != this))
133+ then throw("access only by project owner")
134+ else {
135+ let swest = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(westId, assetBalance(this, westId))])
136+ if ((swest == swest))
137+ then {
138+ let svires = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(viresId, assetBalance(this, viresId))])
139+ if ((svires == svires))
140+ then {
141+ let segg = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(eggId, assetBalance(this, eggId))])
142+ if ((segg == segg))
143+ then {
144+ let ssurf = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(surfId, assetBalance(this, surfId))])
145+ if ((ssurf == ssurf))
146+ then {
147+ let snsbt = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(nsbtId, assetBalance(this, nsbtId))])
148+ if ((snsbt == snsbt))
149+ then {
150+ let swx = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(wxId, assetBalance(this, wxId))])
151+ if ((swx == swx))
152+ then {
153+ let sswop = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(swopId, assetBalance(this, swopId))])
154+ if ((sswop == sswop))
155+ then {
156+ let swaves = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(unit, if (((wavesBalance(this).available - 10000000) > 0))
157+ then (wavesBalance(this).available - 10000000)
158+ else 0)])
159+ if ((swaves == swaves))
160+ then nil
161+ else throw("Strict value is not equal to itself.")
162+ }
163+ else throw("Strict value is not equal to itself.")
164+ }
165+ else throw("Strict value is not equal to itself.")
166+ }
167+ else throw("Strict value is not equal to itself.")
168+ }
169+ else throw("Strict value is not equal to itself.")
170+ }
171+ else throw("Strict value is not equal to itself.")
172+ }
173+ else throw("Strict value is not equal to itself.")
174+ }
175+ else throw("Strict value is not equal to itself.")
176+ }
177+
178+
179+
180+@Callable(i)
181+func PoolGrowthStep3 () = if ((i.caller != this))
182+ then throw("access only by project owner")
183+ else {
184+ let poolOneTokenInv = invoke(Address(base58'3PR1Qvi9mHT35SwWEkLSqqE2L8thiPLdVWU'), "generateIndexWithOneTokenAndStake", [poolString], [AttachedPayment(burnxtnId, assetBalance(this, burnxtnId))])
185+ if ((poolOneTokenInv == poolOneTokenInv))
186+ then [IntegerEntry("BURN-XTN supply", match assetInfo(burnxtnId) {
187+ case asset: Asset =>
188+ (asset.quantity / d8)
189+ case _ =>
190+ throw("Can't find asset")
191+ }), IntegerEntry("BURN-XTN total burned", (1000000000 - match assetInfo(burnxtnId) {
192+ case asset: Asset =>
193+ (asset.quantity / d8)
194+ case _ =>
195+ throw("Can't find asset")
196+ }))]
197+ else throw("Strict value is not equal to itself.")
198+ }
199+
200+
201+
202+@Callable(i)
203+func Pump () = if ((i.caller != this))
204+ then throw("access only by project owner")
205+ else {
206+ let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
207+ if ((claimInv == claimInv))
208+ then {
151209 let swest = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(westId, assetBalance(this, westId))])
152210 if ((swest == swest))
153211 then {
173231 then (wavesBalance(this).available - 10000000)
174232 else 0)])
175233 if ((swaves == swaves))
176- then [BooleanEntry("PoolGrowthStep2", true)]
234+ then {
235+ let xtnburnamount = assetBalance(this, xtnId)
236+ let xtnBurn = Burn(xtnId, xtnburnamount)
237+ let burnxtnBurn = Burn(burnxtnId, assetBalance(this, burnxtnId))
238+[xtnBurn, burnxtnBurn, IntegerEntry("BURN-XTN supply", match assetInfo(burnxtnId) {
239+ case asset: Asset =>
240+ (asset.quantity / d8)
241+ case _ =>
242+ throw("Can't find asset")
243+ }), IntegerEntry("BURN-XTN total burned", (1000000000 - match assetInfo(burnxtnId) {
244+ case asset: Asset =>
245+ (asset.quantity / d8)
246+ case _ =>
247+ throw("Can't find asset")
248+ })), IntegerEntry("XTN total burned", (getIntegerValue(this, "XTN total burned") + xtnburnamount))]
249+ }
177250 else throw("Strict value is not equal to itself.")
178251 }
179252 else throw("Strict value is not equal to itself.")
190263 }
191264 else throw("Strict value is not equal to itself.")
192265 }
266+ else throw("Strict value is not equal to itself.")
267+ }
193268
194269
195270
196271 @Callable(i)
197-func PoolGrowthStep3 () = if ((if (isDefined(getBoolean("PoolGrowthStep2")))
198- then value(getBoolean("PoolGrowthStep2"))
199- else false != true))
200- then throw("do PoolGrowthStep2 first")
201- else if (if ((i.caller != this))
202- then (i.caller != Address(base58'3PLjwHcz9NEuaTo63NZR9B9okQiKQxZSbmf'))
203- else false)
204- then throw("access only by project owner or Puzzle master")
205- else {
206- let poolOneTokenInv = invoke(Address(base58'3PR1Qvi9mHT35SwWEkLSqqE2L8thiPLdVWU'), "generateIndexWithOneTokenAndStake", [poolString], [AttachedPayment(burnxtnId, assetBalance(this, burnxtnId))])
207- if ((poolOneTokenInv == poolOneTokenInv))
208- then [BooleanEntry("PoolGrowthStep1", false), BooleanEntry("PoolGrowthStep2", false), IntegerEntry("BURN-XTN supply", match assetInfo(burnxtnId) {
209- case asset: Asset =>
210- (asset.quantity / d8)
211- case _ =>
212- throw("Can't find asset")
213- }), IntegerEntry("BURN-XTN total burned", (1000000000 - match assetInfo(burnxtnId) {
214- case asset: Asset =>
215- (asset.quantity / d8)
216- case _ =>
217- throw("Can't find asset")
218- }))]
219- else throw("Strict value is not equal to itself.")
220- }
221-
222-
223-
224-@Callable(i)
225-func PriceGrowth () = if (if ((i.caller != this))
226- then (i.caller != Address(base58'3PLjwHcz9NEuaTo63NZR9B9okQiKQxZSbmf'))
227- else false)
228- then throw("access only by project owner or Puzzle master")
229- else if ((burnxtnwavesprice >= getIntegerValue(this, "ATH in wavelets")))
230- then throw("price is at/above ATH")
231- else {
232- let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
233- if ((claimInv == claimInv))
234- then {
235- let swest = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(westId, assetBalance(this, westId))])
236- if ((swest == swest))
237- then {
238- let svires = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(viresId, assetBalance(this, viresId))])
239- if ((svires == svires))
240- then {
241- let segg = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(eggId, assetBalance(this, eggId))])
242- if ((segg == segg))
243- then {
244- let ssurf = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(surfId, assetBalance(this, surfId))])
245- if ((ssurf == ssurf))
246- then {
247- let snsbt = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(nsbtId, assetBalance(this, nsbtId))])
248- if ((snsbt == snsbt))
249- then {
250- let swx = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(wxId, assetBalance(this, wxId))])
251- if ((swx == swx))
252- then {
253- let sswop = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(swopId, assetBalance(this, swopId))])
254- if ((sswop == sswop))
255- then {
256- let swaves = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(unit, if (((wavesBalance(this).available - 10000000) > 0))
257- then (wavesBalance(this).available - 10000000)
258- else 0)])
259- if ((swaves == swaves))
260- then {
261- let xtnburnamount = assetBalance(this, xtnId)
262- let xtnBurn = Burn(xtnId, xtnburnamount)
263- let burnxtnBurn = Burn(burnxtnId, assetBalance(this, burnxtnId))
264-[xtnBurn, burnxtnBurn, IntegerEntry("BURN-XTN supply", match assetInfo(burnxtnId) {
265- case asset: Asset =>
266- (asset.quantity / d8)
267- case _ =>
268- throw("Can't find asset")
269- }), IntegerEntry("BURN-XTN total burned", (1000000000 - match assetInfo(burnxtnId) {
270- case asset: Asset =>
271- (asset.quantity / d8)
272- case _ =>
273- throw("Can't find asset")
274- })), IntegerEntry("XTN total burned", (getIntegerValue(this, "XTN total burned") + xtnburnamount))]
275- }
276- else throw("Strict value is not equal to itself.")
277- }
278- else throw("Strict value is not equal to itself.")
279- }
280- else throw("Strict value is not equal to itself.")
281- }
282- else throw("Strict value is not equal to itself.")
283- }
284- else throw("Strict value is not equal to itself.")
285- }
286- else throw("Strict value is not equal to itself.")
287- }
288- else throw("Strict value is not equal to itself.")
289- }
290- else throw("Strict value is not equal to itself.")
291- }
292- else throw("Strict value is not equal to itself.")
293- }
294-
295-
296-
297-@Callable(i)
298-func ManualDataEntry () = if ((i.caller != this))
299- then throw("access only by project owner")
300- else [IntegerEntry("ATH in wavelets", 763)]
272+func PumpByAnybody () = if (((getIntegerValue(this, "Activated blockheight") + (8 * 1440)) > height))
273+ then throw(("Wait till blockheight:" + toString((getIntegerValue(this, "Activated blockheight") + (8 * 1440)))))
274+ else {
275+ let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
276+ if ((claimInv == claimInv))
277+ then {
278+ let swest = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(westId, assetBalance(this, westId))])
279+ if ((swest == swest))
280+ then {
281+ let svires = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(viresId, assetBalance(this, viresId))])
282+ if ((svires == svires))
283+ then {
284+ let segg = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(eggId, assetBalance(this, eggId))])
285+ if ((segg == segg))
286+ then {
287+ let ssurf = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(surfId, assetBalance(this, surfId))])
288+ if ((ssurf == ssurf))
289+ then {
290+ let snsbt = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(nsbtId, assetBalance(this, nsbtId))])
291+ if ((snsbt == snsbt))
292+ then {
293+ let swx = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(wxId, assetBalance(this, wxId))])
294+ if ((swx == swx))
295+ then {
296+ let sswop = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(swopId, assetBalance(this, swopId))])
297+ if ((sswop == sswop))
298+ then {
299+ let swaves = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(unit, if (((wavesBalance(this).available - 10000000) > 0))
300+ then (wavesBalance(this).available - 10000000)
301+ else 0)])
302+ if ((swaves == swaves))
303+ then {
304+ let xtnburnamount = assetBalance(this, xtnId)
305+ let xtnBurn = Burn(xtnId, xtnburnamount)
306+ let burnxtnBurn = Burn(burnxtnId, assetBalance(this, burnxtnId))
307+[xtnBurn, burnxtnBurn, IntegerEntry("BURN-XTN supply", match assetInfo(burnxtnId) {
308+ case asset: Asset =>
309+ (asset.quantity / d8)
310+ case _ =>
311+ throw("Can't find asset")
312+ }), IntegerEntry("BURN-XTN total burned", (1000000000 - match assetInfo(burnxtnId) {
313+ case asset: Asset =>
314+ (asset.quantity / d8)
315+ case _ =>
316+ throw("Can't find asset")
317+ })), IntegerEntry("XTN total burned", (getIntegerValue(this, "XTN total burned") + xtnburnamount))]
318+ }
319+ else throw("Strict value is not equal to itself.")
320+ }
321+ else throw("Strict value is not equal to itself.")
322+ }
323+ else throw("Strict value is not equal to itself.")
324+ }
325+ else throw("Strict value is not equal to itself.")
326+ }
327+ else throw("Strict value is not equal to itself.")
328+ }
329+ else throw("Strict value is not equal to itself.")
330+ }
331+ else throw("Strict value is not equal to itself.")
332+ }
333+ else throw("Strict value is not equal to itself.")
334+ }
335+ else throw("Strict value is not equal to itself.")
336+ }
301337
302338
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let d8 = 100000000
55
66 let poolId = base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'
77
88 let poolString = toBase58String(poolId)
99
1010 let pool2 = base58'3PQHndCUVrv3wBuQjbvVP9SnGmfbfitGxfx'
1111
1212 let xtnId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
1313
1414 let burnxtnId = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns'
1515
1616 let burnxtnString = toBase58String(burnxtnId)
1717
1818 let westId = base58'4LHHvYGNKJUg5hj65aGD5vgScvCBmLpdRFtjokvCjSL8'
1919
2020 let viresId = base58'DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p'
2121
2222 let eggId = base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS'
2323
2424 let surfId = base58'At8D6NFFpheCbvKVnjVoeLL84Eo8NZn6ovManxfLaFWL'
2525
2626 let nsbtId = base58'6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g'
2727
2828 let wxId = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
2929
3030 let swopId = base58'Ehie5xYpeN8op1Cctc6aGUrqx8jq3jtf1DSjXDbfm7aT'
3131
3232 let wavesId = base58'WAVES'
3333
3434 let usdterc = base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
3535
3636 let usdcerc = base58'HGgabTqUS8WtVFUJzfmrTDMgEccJuZLBPhFgQFxvnsoW'
3737
3838 let usdtbsc = base58'A81p1LTRyoq2rDR2TNxB2dWYxsiNwCSSi8sXef2SEkwb'
3939
4040 let usdcbsc = base58'4BKKSp6NoNcrFHyorZogDyctq1fq6w7114Ym1pw6HUtC'
4141
4242 let burnxtnbalance = assetBalance(Address(poolId), burnxtnId)
4343
4444 let wavesbalance = wavesBalance(Address(poolId)).regular
4545
4646 let burnxtnwavesprice = fraction(d8, (wavesbalance * 11), burnxtnbalance)
4747
4848 let burnxtnbalance2 = assetBalance(Address(pool2), burnxtnId)
4949
5050 let usdbalance = ((((assetBalance(Address(pool2), usdterc) + assetBalance(Address(pool2), usdcerc)) + assetBalance(Address(pool2), usdtbsc)) + assetBalance(Address(pool2), usdcbsc)) / 4)
5151
5252 let burnxtnusdprice = fraction(d8, usdbalance, burnxtnbalance2)
5353
5454 let ATH = if ((burnxtnwavesprice > getIntegerValue("ATH in wavelets")))
5555 then burnxtnwavesprice
5656 else getIntegerValue(this, "ATH in wavelets")
5757
5858 let ATHusd = if ((burnxtnusdprice > getIntegerValue("ATH in centlets")))
5959 then burnxtnusdprice
6060 else getIntegerValue(this, "ATH in centlets")
6161
6262 let wavesinpool = getIntegerValue(Address(poolId), (("global_" + toBase58String(wavesId)) + "_balance"))
6363
6464 let projectstake = getIntegerValue(Address(poolId), ("3PAucbbumdUXmhzcR421zGiayphEdo2tRoz" + "_indexStaked"))
6565
6666 let totalstake = getIntegerValue(Address(poolId), "global_poolToken_amount")
6767
6868 let tvlinwaves = fraction(fraction(wavesinpool, projectstake, totalstake), 9, d8)
6969
7070 let tvlpool = fraction(wavesinpool, 9, d8)
7171
7272 let pricegrowth = ((fraction(d8, burnxtnwavesprice, getIntegerValue(this, "intial price BURN-XTN in wavelets")) - d8) / 1000000)
7373
7474 @Callable(i)
75-func FirstInvoke () = if (if ((i.caller != this))
76- then (i.caller != Address(base58'3PLjwHcz9NEuaTo63NZR9B9okQiKQxZSbmf'))
77- else false)
78- then throw("access only by project owner or Puzzle master")
75+func FirstInvoke () = if ((i.caller != this))
76+ then throw("access only by project owner")
7977 else {
8078 let PoolGrowthStep1 = if ((burnxtnwavesprice >= getIntegerValue(this, "ATH in wavelets")))
8179 then invoke(this, "PoolGrowthStep1", nil, nil)
8280 else unit
8381 if ((PoolGrowthStep1 == PoolGrowthStep1))
8482 then {
8583 let PoolGrowthStep2 = if ((burnxtnwavesprice >= getIntegerValue(this, "ATH in wavelets")))
8684 then invoke(this, "PoolGrowthStep2", nil, nil)
8785 else unit
8886 if ((PoolGrowthStep2 == PoolGrowthStep2))
8987 then {
9088 let PriceGrowth = if ((getIntegerValue(this, "ATH in wavelets") > burnxtnwavesprice))
91- then invoke(this, "PriceGrowth", nil, nil)
89+ then invoke(this, "Pump", nil, nil)
9290 else unit
9391 if ((PriceGrowth == PriceGrowth))
9492 then {
9593 let dEntry = invoke(this, "dEntry", nil, nil)
9694 if ((dEntry == dEntry))
9795 then nil
9896 else throw("Strict value is not equal to itself.")
9997 }
10098 else throw("Strict value is not equal to itself.")
10199 }
102100 else throw("Strict value is not equal to itself.")
103101 }
104102 else throw("Strict value is not equal to itself.")
105103 }
106104
107105
108106
109107 @Callable(i)
110-func dEntry () = if (if ((i.caller != this))
111- then (i.caller != Address(base58'3PLjwHcz9NEuaTo63NZR9B9okQiKQxZSbmf'))
112- else false)
113- then throw("access only by project owner or Puzzle master")
114- else [IntegerEntry("BURN-XTN / WAVES price in wavelets", burnxtnwavesprice), IntegerEntry("Price growth %", pricegrowth), IntegerEntry("ATH in wavelets", ATH), IntegerEntry("BURN-XTN / USD price in centlets", burnxtnusdprice), IntegerEntry("ATH in centlets", ATHusd), IntegerEntry("TVL project in WAVES excluding BURN-XTN", tvlinwaves), IntegerEntry("TVL pool in WAVES excluding BURN-XTN", tvlpool)]
108+func dEntry () = if ((i.caller != this))
109+ then throw("access only by project owner")
110+ else [IntegerEntry("BURN-XTN / WAVES price in wavelets", burnxtnwavesprice), IntegerEntry("Price growth %", pricegrowth), IntegerEntry("ATH in wavelets", ATH), IntegerEntry("BURN-XTN / USD price in centlets", burnxtnusdprice), IntegerEntry("ATH in centlets", ATHusd), IntegerEntry("TVL project in WAVES excluding BURN-XTN", tvlinwaves), IntegerEntry("TVL pool in WAVES excluding BURN-XTN", tvlpool), IntegerEntry("Activated blockheight", height)]
115111
116112
117113
118114 @Callable(i)
119-func PoolGrowthStep1 () = if (if ((i.caller != this))
120- then (i.caller != Address(base58'3PLjwHcz9NEuaTo63NZR9B9okQiKQxZSbmf'))
121- else false)
122- then throw("access only by project owner or Puzzle master")
123- else if ((getIntegerValue(this, "ATH in wavelets") > burnxtnwavesprice))
124- then throw("price is below ATH")
125- else {
126- let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
127- if ((claimInv == claimInv))
128- then {
129- let xtnburnamount = assetBalance(this, xtnId)
130- let xtnBurn = Burn(xtnId, xtnburnamount)
131- let burnxtnBurn = Burn(burnxtnId, assetBalance(this, burnxtnId))
115+func PoolGrowthStep1 () = if ((i.caller != this))
116+ then throw("access only by project owner")
117+ else {
118+ let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
119+ if ((claimInv == claimInv))
120+ then {
121+ let xtnburnamount = assetBalance(this, xtnId)
122+ let xtnBurn = Burn(xtnId, xtnburnamount)
123+ let burnxtnBurn = Burn(burnxtnId, assetBalance(this, burnxtnId))
132124 [xtnBurn, burnxtnBurn, BooleanEntry("PoolGrowthStep1", true), IntegerEntry("XTN total burned", (getIntegerValue(this, "XTN total burned") + xtnburnamount))]
133- }
134- else throw("Strict value is not equal to itself.")
135- }
125+ }
126+ else throw("Strict value is not equal to itself.")
127+ }
136128
137129
138130
139131 @Callable(i)
140-func PoolGrowthStep2 () = if ((if (isDefined(getBoolean("PoolGrowthStep1")))
141- then value(getBoolean("PoolGrowthStep1"))
142- else false != true))
143- then throw("do PoolGrowthStep1 first")
144- else if (if ((i.caller != this))
145- then (i.caller != Address(base58'3PLjwHcz9NEuaTo63NZR9B9okQiKQxZSbmf'))
146- else false)
147- then throw("access only by project owner or Puzzle master")
148- else if ((getIntegerValue(this, "ATH in wavelets") > burnxtnwavesprice))
149- then throw("price is below ATH")
150- else {
132+func PoolGrowthStep2 () = if ((i.caller != this))
133+ then throw("access only by project owner")
134+ else {
135+ let swest = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(westId, assetBalance(this, westId))])
136+ if ((swest == swest))
137+ then {
138+ let svires = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(viresId, assetBalance(this, viresId))])
139+ if ((svires == svires))
140+ then {
141+ let segg = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(eggId, assetBalance(this, eggId))])
142+ if ((segg == segg))
143+ then {
144+ let ssurf = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(surfId, assetBalance(this, surfId))])
145+ if ((ssurf == ssurf))
146+ then {
147+ let snsbt = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(nsbtId, assetBalance(this, nsbtId))])
148+ if ((snsbt == snsbt))
149+ then {
150+ let swx = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(wxId, assetBalance(this, wxId))])
151+ if ((swx == swx))
152+ then {
153+ let sswop = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(swopId, assetBalance(this, swopId))])
154+ if ((sswop == sswop))
155+ then {
156+ let swaves = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(unit, if (((wavesBalance(this).available - 10000000) > 0))
157+ then (wavesBalance(this).available - 10000000)
158+ else 0)])
159+ if ((swaves == swaves))
160+ then nil
161+ else throw("Strict value is not equal to itself.")
162+ }
163+ else throw("Strict value is not equal to itself.")
164+ }
165+ else throw("Strict value is not equal to itself.")
166+ }
167+ else throw("Strict value is not equal to itself.")
168+ }
169+ else throw("Strict value is not equal to itself.")
170+ }
171+ else throw("Strict value is not equal to itself.")
172+ }
173+ else throw("Strict value is not equal to itself.")
174+ }
175+ else throw("Strict value is not equal to itself.")
176+ }
177+
178+
179+
180+@Callable(i)
181+func PoolGrowthStep3 () = if ((i.caller != this))
182+ then throw("access only by project owner")
183+ else {
184+ let poolOneTokenInv = invoke(Address(base58'3PR1Qvi9mHT35SwWEkLSqqE2L8thiPLdVWU'), "generateIndexWithOneTokenAndStake", [poolString], [AttachedPayment(burnxtnId, assetBalance(this, burnxtnId))])
185+ if ((poolOneTokenInv == poolOneTokenInv))
186+ then [IntegerEntry("BURN-XTN supply", match assetInfo(burnxtnId) {
187+ case asset: Asset =>
188+ (asset.quantity / d8)
189+ case _ =>
190+ throw("Can't find asset")
191+ }), IntegerEntry("BURN-XTN total burned", (1000000000 - match assetInfo(burnxtnId) {
192+ case asset: Asset =>
193+ (asset.quantity / d8)
194+ case _ =>
195+ throw("Can't find asset")
196+ }))]
197+ else throw("Strict value is not equal to itself.")
198+ }
199+
200+
201+
202+@Callable(i)
203+func Pump () = if ((i.caller != this))
204+ then throw("access only by project owner")
205+ else {
206+ let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
207+ if ((claimInv == claimInv))
208+ then {
151209 let swest = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(westId, assetBalance(this, westId))])
152210 if ((swest == swest))
153211 then {
154212 let svires = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(viresId, assetBalance(this, viresId))])
155213 if ((svires == svires))
156214 then {
157215 let segg = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(eggId, assetBalance(this, eggId))])
158216 if ((segg == segg))
159217 then {
160218 let ssurf = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(surfId, assetBalance(this, surfId))])
161219 if ((ssurf == ssurf))
162220 then {
163221 let snsbt = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(nsbtId, assetBalance(this, nsbtId))])
164222 if ((snsbt == snsbt))
165223 then {
166224 let swx = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(wxId, assetBalance(this, wxId))])
167225 if ((swx == swx))
168226 then {
169227 let sswop = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(swopId, assetBalance(this, swopId))])
170228 if ((sswop == sswop))
171229 then {
172230 let swaves = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(unit, if (((wavesBalance(this).available - 10000000) > 0))
173231 then (wavesBalance(this).available - 10000000)
174232 else 0)])
175233 if ((swaves == swaves))
176- then [BooleanEntry("PoolGrowthStep2", true)]
234+ then {
235+ let xtnburnamount = assetBalance(this, xtnId)
236+ let xtnBurn = Burn(xtnId, xtnburnamount)
237+ let burnxtnBurn = Burn(burnxtnId, assetBalance(this, burnxtnId))
238+[xtnBurn, burnxtnBurn, IntegerEntry("BURN-XTN supply", match assetInfo(burnxtnId) {
239+ case asset: Asset =>
240+ (asset.quantity / d8)
241+ case _ =>
242+ throw("Can't find asset")
243+ }), IntegerEntry("BURN-XTN total burned", (1000000000 - match assetInfo(burnxtnId) {
244+ case asset: Asset =>
245+ (asset.quantity / d8)
246+ case _ =>
247+ throw("Can't find asset")
248+ })), IntegerEntry("XTN total burned", (getIntegerValue(this, "XTN total burned") + xtnburnamount))]
249+ }
177250 else throw("Strict value is not equal to itself.")
178251 }
179252 else throw("Strict value is not equal to itself.")
180253 }
181254 else throw("Strict value is not equal to itself.")
182255 }
183256 else throw("Strict value is not equal to itself.")
184257 }
185258 else throw("Strict value is not equal to itself.")
186259 }
187260 else throw("Strict value is not equal to itself.")
188261 }
189262 else throw("Strict value is not equal to itself.")
190263 }
191264 else throw("Strict value is not equal to itself.")
192265 }
266+ else throw("Strict value is not equal to itself.")
267+ }
193268
194269
195270
196271 @Callable(i)
197-func PoolGrowthStep3 () = if ((if (isDefined(getBoolean("PoolGrowthStep2")))
198- then value(getBoolean("PoolGrowthStep2"))
199- else false != true))
200- then throw("do PoolGrowthStep2 first")
201- else if (if ((i.caller != this))
202- then (i.caller != Address(base58'3PLjwHcz9NEuaTo63NZR9B9okQiKQxZSbmf'))
203- else false)
204- then throw("access only by project owner or Puzzle master")
205- else {
206- let poolOneTokenInv = invoke(Address(base58'3PR1Qvi9mHT35SwWEkLSqqE2L8thiPLdVWU'), "generateIndexWithOneTokenAndStake", [poolString], [AttachedPayment(burnxtnId, assetBalance(this, burnxtnId))])
207- if ((poolOneTokenInv == poolOneTokenInv))
208- then [BooleanEntry("PoolGrowthStep1", false), BooleanEntry("PoolGrowthStep2", false), IntegerEntry("BURN-XTN supply", match assetInfo(burnxtnId) {
209- case asset: Asset =>
210- (asset.quantity / d8)
211- case _ =>
212- throw("Can't find asset")
213- }), IntegerEntry("BURN-XTN total burned", (1000000000 - match assetInfo(burnxtnId) {
214- case asset: Asset =>
215- (asset.quantity / d8)
216- case _ =>
217- throw("Can't find asset")
218- }))]
219- else throw("Strict value is not equal to itself.")
220- }
221-
222-
223-
224-@Callable(i)
225-func PriceGrowth () = if (if ((i.caller != this))
226- then (i.caller != Address(base58'3PLjwHcz9NEuaTo63NZR9B9okQiKQxZSbmf'))
227- else false)
228- then throw("access only by project owner or Puzzle master")
229- else if ((burnxtnwavesprice >= getIntegerValue(this, "ATH in wavelets")))
230- then throw("price is at/above ATH")
231- else {
232- let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
233- if ((claimInv == claimInv))
234- then {
235- let swest = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(westId, assetBalance(this, westId))])
236- if ((swest == swest))
237- then {
238- let svires = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(viresId, assetBalance(this, viresId))])
239- if ((svires == svires))
240- then {
241- let segg = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(eggId, assetBalance(this, eggId))])
242- if ((segg == segg))
243- then {
244- let ssurf = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(surfId, assetBalance(this, surfId))])
245- if ((ssurf == ssurf))
246- then {
247- let snsbt = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(nsbtId, assetBalance(this, nsbtId))])
248- if ((snsbt == snsbt))
249- then {
250- let swx = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(wxId, assetBalance(this, wxId))])
251- if ((swx == swx))
252- then {
253- let sswop = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(swopId, assetBalance(this, swopId))])
254- if ((sswop == sswop))
255- then {
256- let swaves = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(unit, if (((wavesBalance(this).available - 10000000) > 0))
257- then (wavesBalance(this).available - 10000000)
258- else 0)])
259- if ((swaves == swaves))
260- then {
261- let xtnburnamount = assetBalance(this, xtnId)
262- let xtnBurn = Burn(xtnId, xtnburnamount)
263- let burnxtnBurn = Burn(burnxtnId, assetBalance(this, burnxtnId))
264-[xtnBurn, burnxtnBurn, IntegerEntry("BURN-XTN supply", match assetInfo(burnxtnId) {
265- case asset: Asset =>
266- (asset.quantity / d8)
267- case _ =>
268- throw("Can't find asset")
269- }), IntegerEntry("BURN-XTN total burned", (1000000000 - match assetInfo(burnxtnId) {
270- case asset: Asset =>
271- (asset.quantity / d8)
272- case _ =>
273- throw("Can't find asset")
274- })), IntegerEntry("XTN total burned", (getIntegerValue(this, "XTN total burned") + xtnburnamount))]
275- }
276- else throw("Strict value is not equal to itself.")
277- }
278- else throw("Strict value is not equal to itself.")
279- }
280- else throw("Strict value is not equal to itself.")
281- }
282- else throw("Strict value is not equal to itself.")
283- }
284- else throw("Strict value is not equal to itself.")
285- }
286- else throw("Strict value is not equal to itself.")
287- }
288- else throw("Strict value is not equal to itself.")
289- }
290- else throw("Strict value is not equal to itself.")
291- }
292- else throw("Strict value is not equal to itself.")
293- }
294-
295-
296-
297-@Callable(i)
298-func ManualDataEntry () = if ((i.caller != this))
299- then throw("access only by project owner")
300- else [IntegerEntry("ATH in wavelets", 763)]
272+func PumpByAnybody () = if (((getIntegerValue(this, "Activated blockheight") + (8 * 1440)) > height))
273+ then throw(("Wait till blockheight:" + toString((getIntegerValue(this, "Activated blockheight") + (8 * 1440)))))
274+ else {
275+ let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
276+ if ((claimInv == claimInv))
277+ then {
278+ let swest = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(westId, assetBalance(this, westId))])
279+ if ((swest == swest))
280+ then {
281+ let svires = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(viresId, assetBalance(this, viresId))])
282+ if ((svires == svires))
283+ then {
284+ let segg = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(eggId, assetBalance(this, eggId))])
285+ if ((segg == segg))
286+ then {
287+ let ssurf = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(surfId, assetBalance(this, surfId))])
288+ if ((ssurf == ssurf))
289+ then {
290+ let snsbt = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(nsbtId, assetBalance(this, nsbtId))])
291+ if ((snsbt == snsbt))
292+ then {
293+ let swx = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(wxId, assetBalance(this, wxId))])
294+ if ((swx == swx))
295+ then {
296+ let sswop = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(swopId, assetBalance(this, swopId))])
297+ if ((sswop == sswop))
298+ then {
299+ let swaves = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(unit, if (((wavesBalance(this).available - 10000000) > 0))
300+ then (wavesBalance(this).available - 10000000)
301+ else 0)])
302+ if ((swaves == swaves))
303+ then {
304+ let xtnburnamount = assetBalance(this, xtnId)
305+ let xtnBurn = Burn(xtnId, xtnburnamount)
306+ let burnxtnBurn = Burn(burnxtnId, assetBalance(this, burnxtnId))
307+[xtnBurn, burnxtnBurn, IntegerEntry("BURN-XTN supply", match assetInfo(burnxtnId) {
308+ case asset: Asset =>
309+ (asset.quantity / d8)
310+ case _ =>
311+ throw("Can't find asset")
312+ }), IntegerEntry("BURN-XTN total burned", (1000000000 - match assetInfo(burnxtnId) {
313+ case asset: Asset =>
314+ (asset.quantity / d8)
315+ case _ =>
316+ throw("Can't find asset")
317+ })), IntegerEntry("XTN total burned", (getIntegerValue(this, "XTN total burned") + xtnburnamount))]
318+ }
319+ else throw("Strict value is not equal to itself.")
320+ }
321+ else throw("Strict value is not equal to itself.")
322+ }
323+ else throw("Strict value is not equal to itself.")
324+ }
325+ else throw("Strict value is not equal to itself.")
326+ }
327+ else throw("Strict value is not equal to itself.")
328+ }
329+ else throw("Strict value is not equal to itself.")
330+ }
331+ else throw("Strict value is not equal to itself.")
332+ }
333+ else throw("Strict value is not equal to itself.")
334+ }
335+ else throw("Strict value is not equal to itself.")
336+ }
301337
302338

github/deemru/w8io/6500d08 
71.84 ms