tx · svqG5bkjW2fiqCx7VqUZftKrb3SLcs2GmCBrCgi2fQJ

3P4AdC9J6MzTEi2LL9xgQN8EimMnbk4d6Nt:  -0.01300000 Waves

2024.03.25 15:57 [4099521] smart account 3P4AdC9J6MzTEi2LL9xgQN8EimMnbk4d6Nt > SELF 0.00000000 Waves

{ "type": 13, "id": "svqG5bkjW2fiqCx7VqUZftKrb3SLcs2GmCBrCgi2fQJ", "fee": 1300000, "feeAssetId": null, "timestamp": 1711371470182, "version": 2, "chainId": 87, "sender": "3P4AdC9J6MzTEi2LL9xgQN8EimMnbk4d6Nt", "senderPublicKey": "33BMe2b9KpjJyCQXAKa3DKHqSBjB7q2mEJoiP17cRLAN", "proofs": [ "55shFkY75d7dfLVXqRYawcALNp3Y6Mu976qSpFQn1MTw3psxuHsxHQQscVtbwLHK5mf4uJbv8MsjGAmXkGfNRd2q" ], "script": "base64:BgIYCAISAwoBBBIECgIBCBIAEgASABIDCgEBKwANa2V5SW52b2tlTmV4dAILaW52b2tlIG5leHQAAmQ4AIDC1y8ACHByb2plY3RCCQEHQWRkcmVzcwEBGgFXcGw0ZoYqwwE1OkKAC93DkGP9o1uAAEutAAdyZXdhcmRzCQEHQWRkcmVzcwEBGgFXL67xcGkDY58tIGVFIdRxHf4xnfL4rKNiAAZib3VudHkJAQdBZGRyZXNzAQEaAVe2I6AGGozgWRbvMMr/Xvz4DJHWAJ1rT8MAB3Z2eHRubHABIGyt+ODPiuFxRw0KeWgBdGI46+9tefPNjbO2xkfCuGkHAAZzd2F2ZXMBIAgfyPcWMO1Rwikb7Kwaj/yQcRxZOC3rIYGwN0HwRdFKAAlidXJueHRuSWQBICRPdXlqfjM5uPsM/4SpcVxeyi3eM6DEXWn56kQR7ExUAAhVU0RUZGFwcAkBB0FkZHJlc3MBARoBV/vUnCdwV8wz3/ojSSJAuO9JsGyMCfRFeQAIVVNEQ2RhcHAJAQdBZGRyZXNzAQEaAVfPpo3ezb7Njd2/69fniUZAvbnmA3k/GHIACnplcm9CaWdJbnQJALYCAQAAAARiaWcwCQC2AgEAAAAEYmlnMQkAtgIBAAEABGJpZzIJALYCAQACAARiaWczCQC2AgEAAwAEYmlnNAkAtgIBAAQAC3dhdmVzU3RyaW5nAgVXQVZFUwAFQW11bHQCAzEwMAEPYXNzZXRJZFRvU3RyaW5nAQVpbnB1dAMJAAACBQVpbnB1dAUEdW5pdAULd2F2ZXNTdHJpbmcJANgEAQkBBXZhbHVlAQUFaW5wdXQBCWFic0JpZ0ludAEDdmFsAwkAvwICBQp6ZXJvQmlnSW50BQN2YWwJAL4CAQUDdmFsBQN2YWwABGFtSWQCLDNheUgzUGhXTWtoRnN5U3NVVmNDOEJ2RmYxUXl4R0I1Qlp1VFB5VnRtUDR2AARwcklkAixHNVdXV3p6VnNXUnl6R2YzMnhvamJuZnA3Z1hiV3JncUpUOFJjVldFZkxtQwABQQIEMjAwMAADZmVlAAEACGZlZVNjYWxlAJBOAQ1nZXRBY2NCYWxhbmNlAQdhc3NldElkAwkAAAIFB2Fzc2V0SWQFBGFtSWQJAGQCCQDwBwIFBHRoaXMJANkEAQUHYXNzZXRJZAkBEUBleHRyTmF0aXZlKDEwNTApAgUIVVNEQ2RhcHAJAKwCAgIJVVNFUl9MUF9fCQClCAEFBHRoaXMJAGQCCQDwBwIFBHRoaXMJANkEAQUHYXNzZXRJZAkBEUBleHRyTmF0aXZlKDEwNTApAgUIVVNEVGRhcHAJAKwCAgIJVVNFUl9MUF9fCQClCAEFBHRoaXMBDHBhcnNlQXNzZXRJZAEFaW5wdXQDCQAAAgUFaW5wdXQFC3dhdmVzU3RyaW5nBQR1bml0CQDZBAEFBWlucHV0AQRnZXREAQJ4cAQDeHAwCQCRAwIFAnhwAAAEA3hwMQkAkQMCBQJ4cAABBAFzCQC3AgIFA3hwMAUDeHAxAwkAAAIFAXMFBGJpZzAFBGJpZzAEAWEJAQ1wYXJzZUludFZhbHVlAQUBQQQDYW5uCQBoAgUBYQACBAFwCQC8AgMFA3hwMAUDeHAxBQRiaWcxBAt4cDBfeHAxX25fbgkAvAIDBQFwBQRiaWc0BQRiaWcxBAVhbm5fcwkAvAIDCQC2AgEFA2FubgUBcwUEYmlnMQQFYW5uXzEJALYCAQkAZQIFA2FubgABCgEJY2FsY0ROZXh0AQFkBAJkZAkAvAIDBQFkBQFkBQRiaWcxBANkZGQJALwCAwUCZGQFAWQFBGJpZzEEAmRwCQC8AgMFA2RkZAUEYmlnMQULeHAwX3hwMV9uX24JALwCAwkAtwICBQVhbm5fcwkAvAIDBQJkcAUEYmlnMgUEYmlnMQUBZAkAtwICCQC8AgMFBWFubl8xBQFkBQRiaWcxCQC8AgMFBGJpZzMFAmRwBQRiaWcxCgEEY2FsYwIDYWNjAWkDCAUDYWNjAl8yBQNhY2MEAWQIBQNhY2MCXzEEBWROZXh0CQEJY2FsY0ROZXh0AQUBZAQIZERpZmZSYXcJALgCAgUFZE5leHQJAQV2YWx1ZQEFAWQEBWREaWZmAwkAvwICBQRiaWcwBQhkRGlmZlJhdwkAvgIBBQhkRGlmZlJhdwUIZERpZmZSYXcDCQDAAgIFBGJpZzEFBWREaWZmCQCUCgIFBWROZXh0BgkAlAoCBQVkTmV4dAcEA2FycgkAzAgCAAAJAMwIAgABCQDMCAIAAgkAzAgCAAMJAMwIAgAECQDMCAIABQkAzAgCAAYJAMwIAgAHCQDMCAIACAkAzAgCAAkJAMwIAgAKCQDMCAIACwkAzAgCAAwJ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ciwgWSA9IAkApgMBBQF5AAxTV0FWRVNfc3Rha2UJAQdBZGRyZXNzAQEaAVd9yXuTFHn/51HxsUrHb/lqHYCVR89YI34BCF9sb2FkSW50AgRrZXlfCGRlZmF1bHRfBAckbWF0Y2gwCQCaCAIFDFNXQVZFU19zdGFrZQUEa2V5XwMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEFCGRlZmF1bHRfAQtfbG9hZEJpZ0ludAIEa2V5XwhkZWZhdWx0XwQHJG1hdGNoMAkAnAgCBQxTV0FWRVNfc3Rha2UFBGtleV8DCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBYQUHJG1hdGNoMAkAngMBBQFhBQhkZWZhdWx0XwAQV1hfQlVSTlhUTl9XQVZFUwkBB0FkZHJlc3MBARoBVyvirnF7fckwtSB55xbFa21XQIGlOBY9PgAIbGFzdFJhdGUJAQtfbG9hZEJpZ0ludAICCUxBU1RfUkFURQkAtgIBAICglKWNHQALY3VycmVudFJhdGUJAQtfbG9hZEJpZ0ludAICDENVUlJFTlRfUkFURQkAtgIBAAAACmxhc3RIZWlnaHQJAQhfbG9hZEludAICC0xBU1RfSEVJR0hUAAAADHRhcmdldEhlaWdodAkAlwMBCQDMCAIJAQhfbG9hZEludAICDVRBUkdFVF9IRUlHSFQAAAkAzAgCBQZoZWlnaHQFA25pbAAPbGFzdFJhdGVVcGRhdGVkCQC3AgIFCGxhc3RSYXRlCQC5AgIFC2N1cnJlbnRSYXRlCQC2AgEJAGUCBQx0YXJnZXRIZWlnaHQFCmxhc3RIZWlnaHQACmJhc2VBbW91bnQJAKADAQkAvQIECQC2AgEJAPAHAgUQV1hfQlVSTlhUTl9XQVZFUwUGc3dhdmVzBQ9sYXN0UmF0ZVVwZGF0ZWQJALYCAQCAoJSljR0FBUZMT09SAAl3YXZlc0luV1gJAGQCCAkA7wcBBRBXWF9CVVJOWFROX1dBVkVTB3JlZ3VsYXIFCmJhc2VBbW91bnQAC2J1cm54dG5JbldYCQDwBwIFEFdYX0JVUk5YVE5fV0FWRVMFCWJ1cm54dG5JZAARYnVybnh0bndhdmVzcHJpY2UJAGsDBQJkOAUJd2F2ZXNJbldYBQtidXJueHRuSW5XWAEKaXNTaHV0ZG93bgAEByRtYXRjaDAJAJsIAgUEdGhpcwILaXNfc2h1dGRvd24DCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBeAUHJG1hdGNoMAUBeAcGAWkBCHNodXRkb3duAQhzaHV0ZG93bgMJAAACCAUBaQZjYWxsZXIFBHRoaXMJAMwIAgkBDEJvb2xlYW5FbnRyeQICC2lzX3NodXRkb3duBQhzaHV0ZG93bgUDbmlsCQACAQIKYWRtaW4gb25seQFpAQRzd2FwAgxhbW91bnRPdXRNaW4IQXNzZXRPdXQDAwkAAAIJAQppc1NodXRkb3duAAYJAQIhPQIIBQFpBmNhbGxlcgkBB0FkZHJlc3MBARoBV44d5lHKOCPOw5HDxFaL1YPTb4hW/zbdCwcJAAIBAhRjb250cmFjdCBpcyBzaHV0ZG93bgQDcG10CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAECGFtb3VudEluCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQNZmVlUG9vbEFtb3VudAkAawMFCGFtb3VudEluBQNmZWUFCGZlZVNjYWxlBA1jbGVhbkFtb3VudEluCQBlAgUIYW1vdW50SW4FDWZlZVBvb2xBbW91bnQEB2Fzc2V0SW4JAQ9hc3NldElkVG9TdHJpbmcBCAUDcG10B2Fzc2V0SWQECWlzUmV2ZXJzZQMJAAACBQdhc3NldEluBQRhbUlkBwYECyR0MDc1NjQ3OTQ0AwkAAAIFCWlzUmV2ZXJzZQcECGFzc2V0T3V0BQRwcklkBBNwb29sQW1vdW50SW5CYWxhbmNlCQC3AgIJALYCAQkBDWdldEFjY0JhbGFuY2UBBQRhbUlkCQC2AgEFDWNsZWFuQW1vdW50SW4JAJQKAgUIYXNzZXRPdXQFE3Bvb2xBbW91bnRJbkJhbGFuY2UECGFzc2V0T3V0BQRhbUlkBBNwb29sQW1vdW50SW5CYWxhbmNlCQC3AgIJALYCAQkBDWdldEFjY0JhbGFuY2UBBQRwcklkCQC2AgEFDWNsZWFuQW1vdW50SW4JAJQKAgUIYXNzZXRPdXQFE3Bvb2xBbW91bnRJbkJhbGFuY2UECGFzc2V0T3V0CAULJHQwNzU2NDc5NDQCXzEEE3Bvb2xBbW91bnRJbkJhbGFuY2UIBQskdDA3NTY0Nzk0NAJfMgQCeHADCQAAAgUJaXNSZXZlcnNlBwkAzAgCCQC4AgIJALYCAQkBDWdldEFjY0JhbGFuY2UBBQRhbUlkCQC2AgEICQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50CQDMCAIJALYCAQkBDWdldEFjY0JhbGFuY2UBBQRwcklkBQNuaWwJAMwIAgkAtgIBCQENZ2V0QWNjQmFsYW5jZQEFBGFtSWQJAMwIAgkAuAICCQC2AgEJAQ1nZXRBY2NCYWxhbmNlAQUEcHJJZAkAtgIBCAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAUDbmlsBAFECQEEZ2V0RAEFAnhwBAF5CQEEZ2V0WQMFCWlzUmV2ZXJzZQUBRAkAtgIBAAAEAmR5CQC4AgIJALgCAgkAtgIBCQENZ2V0QWNjQmFsYW5jZQEFCEFzc2V0T3V0BQF5CQC2AgEAAQQLdG90YWxHZXRSYXcJAJYDAQkAzAgCAAAJAMwIAgkAoAMBBQJkeQUDbmlsBAhjaGVja01pbgMJAGcCBQt0b3RhbEdldFJhdwUMYW1vdW50T3V0TWluBgkAAgECLEV4Y2hhbmdlIHJlc3VsdCBpcyBmZXdlciBjb2lucyB0aGFuIGV4cGVjdGVkAwkAAAIFCGNoZWNrTWluBQhjaGVja01pbgQFbmV3WHADCQAAAgUJaXNSZXZlcnNlBwkAzAgCCQC3AgIJALYCAQkBDWdldEFjY0JhbGFuY2UBBQRhbUlkCQC2AgEFDWZlZVBvb2xBbW91bnQJAMwIAgkAuAICCQC2AgEJAQ1nZXRBY2NCYWxhbmNlAQUEcHJJZAUCZHkFA25pbAkAzAgCCQC4AgIJALYCAQkBDWdldEFjY0JhbGFuY2UBBQRhbUlkBQJkeQkAzAgCCQC3AgIJALYCAQkBDWdldEFjY0JhbGFuY2UBBQRwcklkCQC2AgEFDWZlZVBvb2xBbW91bnQFA25pbAQEbmV3RAkBBGdldEQBBQVuZXdYcAQGY2hlY2tEAwkAwAICBQRuZXdEBQFEBgkAAgECFG5ldyBEIGlzIGZld2VyIGVycm9yAwkAAAIFBmNoZWNrRAUGY2hlY2tEBAd1bnN0YWtlAwkAAAIFCEFzc2V0T3V0BQRhbUlkCQD8BwQFCFVTRENk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QGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAg9BVEggaW4gd2F2ZWxldHMACgAUBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAKCQD8BwQFCHByb2plY3RCAgtidXJuQlVSTlhUTgUDbmlsBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAKCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0AAsFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0AAsJAPwHBAUIcHJvamVjdEICBWdyb3cxBQNuaWwFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0AAsJAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQADAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQADAkA/AcEBQhwcm9qZWN0QgIFZ3JvdzIFA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQADAkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAANBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAANCQD8BwQFCHByb2plY3RCAgVncm93MwUDbmlsBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAANCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0AA4FA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0AA4JAPwHBAUIcHJvamVjdEICBWdyb3c0BQNuaWwFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0AA4JAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQADwUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQADwkA/AcEBQhwcm9qZWN0QgIFZ3JvdzUFA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQADwkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAAQBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAQCQD8BwQFCHByb2plY3RCAgVncm93NgUDbmlsBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAQCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0AB4FA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0ABQJAPwHBAUIcHJvamVjdEICBHB1bXAFA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAFAkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAAeBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAeCQD8BwQFCHByb2plY3RCAgVQWmJiYgUDbmlsBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAeCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0AB8FA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0AB8JAPwHBAUIcHJvamVjdEICCGNsYWltQkJCBQNuaWwFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0AB8JAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQAIAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAIAkA/AcEBQhwcm9qZWN0QgIIYnVyblNVUkYFA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAIAkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAAoBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAhCQD8BwQFCHByb2plY3RCAgtwdXp6bGVQWmJiYgUDbmlsBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAhCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0ACIFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0ACIJAPwHBAUIcHJvamVjdEICCnN0YWtlUFpiYmIFA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAIgkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAAjBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAoCQD8BwQFCHByb2plY3RCAgZkRW50cnkFA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAKAkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAAyBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAyCQD8BwQFB3Jld2FyZHMCDGNsYWltUmV3YXJkcwUDbmlsBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAyCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0ADMFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0ADMJAPwHBAUHcmV3YXJkcwIOc2hpbGxlclJld2FyZHMFA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAMwkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAA0BQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAA0CQD8BwQFB3Jld2FyZHMCDGFkbWluUmV3YXJkcwUDbmlsBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAA0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0ADwFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0ADwJAPwHBAUGYm91bnR5AhJ1cGRhdGVCYWxhbmNlRW50cnkFA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAPAkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAA9BQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAA9CQD8BwQFBmJvdW50eQIFY2xhaW0FA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAPQkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAA+BQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAA+CQD8BwQFBmJvdW50eQIEc3dhcAUDbmlsBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dAA+CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0AD8FA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ1rZXlJbnZva2VOZXh0AD8JAPwHBAUGYm91bnR5Ag90b3RhbEJhbGFuY2VBbGwFA25pbAUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFDWtleUludm9rZU5leHQAPwkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dABABQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dABACQD8BwQFBmJvdW50eQIKcGF5UmV3YXJkcwUDbmlsBQNuaWwDCQAAAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUNa2V5SW52b2tlTmV4dABACQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0AEYFA25pbAUEdW5pdAMJAAACBQVpbnYwMAUFaW52MDAFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQxiYWxhbmNlX2luZm8ACQDMCAIJAQxJbnRlZ2VyRW50cnkCAgRVU0RDCQENZ2V0QWNjQmFsYW5jZQEFBGFtSWQJAMwIAgkBDEludGVnZXJFbnRyeQICBFVTRFQJAQ1nZXRBY2NCYWxhbmNlAQUEcHJJZAkAzAgCCQEMSW50ZWdlckVudHJ5AgIJVVNEIHRvdGFsCQBkAgkBDWdldEFjY0JhbGFuY2UBBQRhbUlkCQENZ2V0QWNjQmFsYW5jZQEFBHBySWQFA25pbAFpAQtjaGFuZ2VFbnRyeQEKSW52b2tlTmV4dAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECHGFjY2VzcyBvbmx5IGJ5IHByb2plY3Qgb3duZXIJAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQFCkludm9rZU5leHQFA25pbAD2jrk7", "height": 4099521, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6PZbSwGQ6HbzpAJUC42PKiuZaGrWSjiaCru2QbMrSPvh Next: 9DRZPFsZ7GfcZvAzBQoLRTk3Q3YHDf6Zs4dSiYu6o5dw Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let keyInvokeNext = "invoke next"
5+
6+let d8 = 100000000
7+
8+let projectB = Address(base58'3PCBL2vbjAVFbiCwmGsPmT6QdATutQnM8ov')
9+
10+let rewards = Address(base58'3P6H24XKLyRX8RKwyA5ARsChE6WhjDcVBiZ')
11+
12+let bounty = Address(base58'3PJXxPS9FxZsSLyP9gA47dSLwMinoFyfYFC')
13+
414 let vvxtnlp = base58'8KEtor9aSsSj38MknyAE7k1uRThHY9prAXgiE4D7WpyL'
15+
16+let swaves = base58'YiNbofFzC17jEHHCMwrRcpy9MrrjabMMLZxg8g5xmf7'
17+
18+let burnxtnId = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns'
519
620 let USDTdapp = Address(base58'3PQtT2o7g8HmcZLGodx4L7YDe7ngb26wjYk')
721
88102 }
89103
90104 let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
91- let $t030053053 = {
105+ let $t034793527 = {
92106 let $l = arr
93107 let $s = size($l)
94108 let $acc0 = $Tuple2(s, false)
102116
103117 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17)
104118 }
105- let d = $t030053053._1
106- let found = $t030053053._2
119+ let d = $t034793527._1
120+ let found = $t034793527._2
107121 if (found)
108122 then d
109123 else throw(("D calculation error, D = " + toString(d)))
124138 let c = (((((D * D) / (x * n)) * D) * aPrecision) / (ann * n))
125139 let b = ((s + ((D * aPrecision) / ann)) - D)
126140 func calc (acc,cur) = {
127- let $t046514671 = acc
128- let y = $t046514671._1
129- let found = $t046514671._2
141+ let $t051255145 = acc
142+ let y = $t051255145._1
143+ let found = $t051255145._2
130144 if ((found != unit))
131145 then acc
132146 else {
139153 }
140154
141155 let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
142- let $t050025049 = {
156+ let $t054765523 = {
143157 let $l = arr
144158 let $s = size($l)
145159 let $acc0 = $Tuple2(D, unit)
153167
154168 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
155169 }
156- let y = $t050025049._1
157- let found = $t050025049._2
170+ let y = $t054765523._1
171+ let found = $t054765523._2
158172 if ((found != unit))
159173 then y
160174 else throw(("Y calculation error, Y = " + toString(y)))
161175 }
162176
177+
178+let SWAVES_stake = Address(base58'3PDPzZVLhN1EuzGy4xAxjjTVkawKDLEaHiV')
179+
180+func _loadInt (key_,default_) = match getInteger(SWAVES_stake, key_) {
181+ case a: Int =>
182+ a
183+ case _ =>
184+ default_
185+}
186+
187+
188+func _loadBigInt (key_,default_) = match getBinary(SWAVES_stake, key_) {
189+ case a: ByteVector =>
190+ toBigInt(a)
191+ case _ =>
192+ default_
193+}
194+
195+
196+let WX_BURNXTN_WAVES = Address(base58'3P5vwLbXddLWpsRspftMxLuzfsjk3dLT3n5')
197+
198+let lastRate = _loadBigInt("LAST_RATE", toBigInt(1000000000000))
199+
200+let currentRate = _loadBigInt("CURRENT_RATE", toBigInt(0))
201+
202+let lastHeight = _loadInt("LAST_HEIGHT", 0)
203+
204+let targetHeight = min([_loadInt("TARGET_HEIGHT", 0), height])
205+
206+let lastRateUpdated = (lastRate + (currentRate * toBigInt((targetHeight - lastHeight))))
207+
208+let baseAmount = toInt(fraction(toBigInt(assetBalance(WX_BURNXTN_WAVES, swaves)), lastRateUpdated, toBigInt(1000000000000), FLOOR))
209+
210+let wavesInWX = (wavesBalance(WX_BURNXTN_WAVES).regular + baseAmount)
211+
212+let burnxtnInWX = assetBalance(WX_BURNXTN_WAVES, burnxtnId)
213+
214+let burnxtnwavesprice = fraction(d8, wavesInWX, burnxtnInWX)
163215
164216 func isShutdown () = match getBoolean(this, "is_shutdown") {
165217 case x: Boolean =>
190242 let isReverse = if ((assetIn == amId))
191243 then false
192244 else true
193- let $t059366316 = if ((isReverse == false))
245+ let $t075647944 = if ((isReverse == false))
194246 then {
195247 let assetOut = prId
196248 let poolAmountInBalance = (toBigInt(getAccBalance(amId)) + toBigInt(cleanAmountIn))
201253 let poolAmountInBalance = (toBigInt(getAccBalance(prId)) + toBigInt(cleanAmountIn))
202254 $Tuple2(assetOut, poolAmountInBalance)
203255 }
204- let assetOut = $t059366316._1
205- let poolAmountInBalance = $t059366316._2
256+ let assetOut = $t075647944._1
257+ let poolAmountInBalance = $t075647944._2
206258 let xp = if ((isReverse == false))
207259 then [(toBigInt(getAccBalance(amId)) - toBigInt(value(i.payments[0]).amount)), toBigInt(getAccBalance(prId))]
208260 else [toBigInt(getAccBalance(amId)), (toBigInt(getAccBalance(prId)) - toBigInt(value(i.payments[0]).amount))]
233285 then invoke(USDTdapp, "stake", nil, [AttachedPayment(fromBase58String(prId), assetBalance(this, fromBase58String(prId)))])
234286 else invoke(USDCdapp, "stake", nil, [AttachedPayment(fromBase58String(amId), assetBalance(this, fromBase58String(amId)))])
235287 if ((stake == stake))
236- then [ScriptTransfer(i.caller, totalGetRaw, parseAssetId(assetOut))]
288+ then {
289+ let selector = invoke(this, "selector", nil, nil)
290+ if ((selector == selector))
291+ then [ScriptTransfer(i.caller, totalGetRaw, parseAssetId(assetOut))]
292+ else throw("Strict value is not equal to itself.")
293+ }
237294 else throw("Strict value is not equal to itself.")
238295 }
239296 else throw("Strict value is not equal to itself.")
271328 }
272329
273330
331+
332+@Callable(i)
333+func selector () = if ((i.caller != this))
334+ then throw("no access")
335+ else {
336+ let inv00 = if ((getIntegerValue(this, keyInvokeNext) == 0))
337+ then invoke(projectB, "burnXTNandClaim", nil, nil)
338+ else if ((getIntegerValue(this, keyInvokeNext) == 0))
339+ then [IntegerEntry(keyInvokeNext, 1)]
340+ else if ((getIntegerValue(this, keyInvokeNext) == 1))
341+ then invoke(projectB, "SURFandVVXTNLP", nil, nil)
342+ else if ((getIntegerValue(this, keyInvokeNext) == 1))
343+ then [IntegerEntry(keyInvokeNext, if ((burnxtnwavesprice >= getIntegerValue(this, "ATH in wavelets")))
344+ then 10
345+ else 20)]
346+ else if ((getIntegerValue(this, keyInvokeNext) == 10))
347+ then invoke(projectB, "burnBURNXTN", nil, nil)
348+ else if ((getIntegerValue(this, keyInvokeNext) == 10))
349+ then [IntegerEntry(keyInvokeNext, 11)]
350+ else if ((getIntegerValue(this, keyInvokeNext) == 11))
351+ then invoke(projectB, "grow1", nil, nil)
352+ else if ((getIntegerValue(this, keyInvokeNext) == 11))
353+ then [IntegerEntry(keyInvokeNext, 12)]
354+ else if ((getIntegerValue(this, keyInvokeNext) == 12))
355+ then invoke(projectB, "grow2", nil, nil)
356+ else if ((getIntegerValue(this, keyInvokeNext) == 12))
357+ then [IntegerEntry(keyInvokeNext, 13)]
358+ else if ((getIntegerValue(this, keyInvokeNext) == 13))
359+ then invoke(projectB, "grow3", nil, nil)
360+ else if ((getIntegerValue(this, keyInvokeNext) == 13))
361+ then [IntegerEntry(keyInvokeNext, 14)]
362+ else if ((getIntegerValue(this, keyInvokeNext) == 14))
363+ then invoke(projectB, "grow4", nil, nil)
364+ else if ((getIntegerValue(this, keyInvokeNext) == 14))
365+ then [IntegerEntry(keyInvokeNext, 15)]
366+ else if ((getIntegerValue(this, keyInvokeNext) == 15))
367+ then invoke(projectB, "grow5", nil, nil)
368+ else if ((getIntegerValue(this, keyInvokeNext) == 15))
369+ then [IntegerEntry(keyInvokeNext, 16)]
370+ else if ((getIntegerValue(this, keyInvokeNext) == 16))
371+ then invoke(projectB, "grow6", nil, nil)
372+ else if ((getIntegerValue(this, keyInvokeNext) == 16))
373+ then [IntegerEntry(keyInvokeNext, 30)]
374+ else if ((getIntegerValue(this, keyInvokeNext) == 20))
375+ then invoke(projectB, "pump", nil, nil)
376+ else if ((getIntegerValue(this, keyInvokeNext) == 20))
377+ then [IntegerEntry(keyInvokeNext, 30)]
378+ else if ((getIntegerValue(this, keyInvokeNext) == 30))
379+ then invoke(projectB, "PZbbb", nil, nil)
380+ else if ((getIntegerValue(this, keyInvokeNext) == 30))
381+ then [IntegerEntry(keyInvokeNext, 31)]
382+ else if ((getIntegerValue(this, keyInvokeNext) == 31))
383+ then invoke(projectB, "claimBBB", nil, nil)
384+ else if ((getIntegerValue(this, keyInvokeNext) == 31))
385+ then [IntegerEntry(keyInvokeNext, 32)]
386+ else if ((getIntegerValue(this, keyInvokeNext) == 32))
387+ then invoke(projectB, "burnSURF", nil, nil)
388+ else if ((getIntegerValue(this, keyInvokeNext) == 32))
389+ then [IntegerEntry(keyInvokeNext, 40)]
390+ else if ((getIntegerValue(this, keyInvokeNext) == 33))
391+ then invoke(projectB, "puzzlePZbbb", nil, nil)
392+ else if ((getIntegerValue(this, keyInvokeNext) == 33))
393+ then [IntegerEntry(keyInvokeNext, 34)]
394+ else if ((getIntegerValue(this, keyInvokeNext) == 34))
395+ then invoke(projectB, "stakePZbbb", nil, nil)
396+ else if ((getIntegerValue(this, keyInvokeNext) == 34))
397+ then [IntegerEntry(keyInvokeNext, 35)]
398+ else if ((getIntegerValue(this, keyInvokeNext) == 40))
399+ then invoke(projectB, "dEntry", nil, nil)
400+ else if ((getIntegerValue(this, keyInvokeNext) == 40))
401+ then [IntegerEntry(keyInvokeNext, 50)]
402+ else if ((getIntegerValue(this, keyInvokeNext) == 50))
403+ then invoke(rewards, "claimRewards", nil, nil)
404+ else if ((getIntegerValue(this, keyInvokeNext) == 50))
405+ then [IntegerEntry(keyInvokeNext, 51)]
406+ else if ((getIntegerValue(this, keyInvokeNext) == 51))
407+ then invoke(rewards, "shillerRewards", nil, nil)
408+ else if ((getIntegerValue(this, keyInvokeNext) == 51))
409+ then [IntegerEntry(keyInvokeNext, 52)]
410+ else if ((getIntegerValue(this, keyInvokeNext) == 52))
411+ then invoke(rewards, "adminRewards", nil, nil)
412+ else if ((getIntegerValue(this, keyInvokeNext) == 52))
413+ then [IntegerEntry(keyInvokeNext, 60)]
414+ else if ((getIntegerValue(this, keyInvokeNext) == 60))
415+ then invoke(bounty, "updateBalanceEntry", nil, nil)
416+ else if ((getIntegerValue(this, keyInvokeNext) == 60))
417+ then [IntegerEntry(keyInvokeNext, 61)]
418+ else if ((getIntegerValue(this, keyInvokeNext) == 61))
419+ then invoke(bounty, "claim", nil, nil)
420+ else if ((getIntegerValue(this, keyInvokeNext) == 61))
421+ then [IntegerEntry(keyInvokeNext, 62)]
422+ else if ((getIntegerValue(this, keyInvokeNext) == 62))
423+ then invoke(bounty, "swap", nil, nil)
424+ else if ((getIntegerValue(this, keyInvokeNext) == 62))
425+ then [IntegerEntry(keyInvokeNext, 63)]
426+ else if ((getIntegerValue(this, keyInvokeNext) == 63))
427+ then invoke(bounty, "totalBalanceAll", nil, nil)
428+ else if ((getIntegerValue(this, keyInvokeNext) == 63))
429+ then [IntegerEntry(keyInvokeNext, 64)]
430+ else if ((getIntegerValue(this, keyInvokeNext) == 64))
431+ then invoke(bounty, "payRewards", nil, nil)
432+ else if ((getIntegerValue(this, keyInvokeNext) == 64))
433+ then [IntegerEntry(keyInvokeNext, 70)]
434+ else unit
435+ if ((inv00 == inv00))
436+ then nil
437+ else throw("Strict value is not equal to itself.")
438+ }
439+
440+
441+
442+@Callable(i)
443+func balance_info () = [IntegerEntry("USDC", getAccBalance(amId)), IntegerEntry("USDT", getAccBalance(prId)), IntegerEntry("USD total", (getAccBalance(amId) + getAccBalance(prId)))]
444+
445+
446+
447+@Callable(i)
448+func changeEntry (InvokeNext) = if ((i.caller != this))
449+ then throw("access only by project owner")
450+ else [IntegerEntry(keyInvokeNext, InvokeNext)]
451+
452+
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let keyInvokeNext = "invoke next"
5+
6+let d8 = 100000000
7+
8+let projectB = Address(base58'3PCBL2vbjAVFbiCwmGsPmT6QdATutQnM8ov')
9+
10+let rewards = Address(base58'3P6H24XKLyRX8RKwyA5ARsChE6WhjDcVBiZ')
11+
12+let bounty = Address(base58'3PJXxPS9FxZsSLyP9gA47dSLwMinoFyfYFC')
13+
414 let vvxtnlp = base58'8KEtor9aSsSj38MknyAE7k1uRThHY9prAXgiE4D7WpyL'
15+
16+let swaves = base58'YiNbofFzC17jEHHCMwrRcpy9MrrjabMMLZxg8g5xmf7'
17+
18+let burnxtnId = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns'
519
620 let USDTdapp = Address(base58'3PQtT2o7g8HmcZLGodx4L7YDe7ngb26wjYk')
721
822 let USDCdapp = Address(base58'3PLrr8LpfYjUadnEQ1ov61uMWHdMopUCNAm')
923
1024 let zeroBigInt = toBigInt(0)
1125
1226 let big0 = toBigInt(0)
1327
1428 let big1 = toBigInt(1)
1529
1630 let big2 = toBigInt(2)
1731
1832 let big3 = toBigInt(3)
1933
2034 let big4 = toBigInt(4)
2135
2236 let wavesString = "WAVES"
2337
2438 let Amult = "100"
2539
2640 func assetIdToString (input) = if ((input == unit))
2741 then wavesString
2842 else toBase58String(value(input))
2943
3044
3145 func absBigInt (val) = if ((zeroBigInt > val))
3246 then -(val)
3347 else val
3448
3549
3650 let amId = "3ayH3PhWMkhFsySsUVcC8BvFf1QyxGB5BZuTPyVtmP4v"
3751
3852 let prId = "G5WWWzzVsWRyzGf32xojbnfp7gXbWrgqJT8RcVWEfLmC"
3953
4054 let A = "2000"
4155
4256 let fee = 1
4357
4458 let feeScale = 10000
4559
4660 func getAccBalance (assetId) = if ((assetId == amId))
4761 then (assetBalance(this, fromBase58String(assetId)) + getIntegerValue(USDCdapp, ("USER_LP__" + toString(this))))
4862 else (assetBalance(this, fromBase58String(assetId)) + getIntegerValue(USDTdapp, ("USER_LP__" + toString(this))))
4963
5064
5165 func parseAssetId (input) = if ((input == wavesString))
5266 then unit
5367 else fromBase58String(input)
5468
5569
5670 func getD (xp) = {
5771 let xp0 = xp[0]
5872 let xp1 = xp[1]
5973 let s = (xp0 + xp1)
6074 if ((s == big0))
6175 then big0
6276 else {
6377 let a = parseIntValue(A)
6478 let ann = (a * 2)
6579 let p = fraction(xp0, xp1, big1)
6680 let xp0_xp1_n_n = fraction(p, big4, big1)
6781 let ann_s = fraction(toBigInt(ann), s, big1)
6882 let ann_1 = toBigInt((ann - 1))
6983 func calcDNext (d) = {
7084 let dd = fraction(d, d, big1)
7185 let ddd = fraction(dd, d, big1)
7286 let dp = fraction(ddd, big1, xp0_xp1_n_n)
7387 fraction((ann_s + fraction(dp, big2, big1)), d, (fraction(ann_1, d, big1) + fraction(big3, dp, big1)))
7488 }
7589
7690 func calc (acc,i) = if (acc._2)
7791 then acc
7892 else {
7993 let d = acc._1
8094 let dNext = calcDNext(d)
8195 let dDiffRaw = (dNext - value(d))
8296 let dDiff = if ((big0 > dDiffRaw))
8397 then -(dDiffRaw)
8498 else dDiffRaw
8599 if ((big1 >= dDiff))
86100 then $Tuple2(dNext, true)
87101 else $Tuple2(dNext, false)
88102 }
89103
90104 let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
91- let $t030053053 = {
105+ let $t034793527 = {
92106 let $l = arr
93107 let $s = size($l)
94108 let $acc0 = $Tuple2(s, false)
95109 func $f0_1 ($a,$i) = if (($i >= $s))
96110 then $a
97111 else calc($a, $l[$i])
98112
99113 func $f0_2 ($a,$i) = if (($i >= $s))
100114 then $a
101115 else throw("List size exceeds 17")
102116
103117 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17)
104118 }
105- let d = $t030053053._1
106- let found = $t030053053._2
119+ let d = $t034793527._1
120+ let found = $t034793527._2
107121 if (found)
108122 then d
109123 else throw(("D calculation error, D = " + toString(d)))
110124 }
111125 }
112126
113127
114128 func getY (isReverse,D,poolAmountInBalance) = {
115129 let n = big2
116130 let aPrecision = parseBigIntValue(Amult)
117131 let a = (parseBigIntValue(A) * aPrecision)
118132 let xp = if ((isReverse == false))
119133 then [(toBigInt(getAccBalance(amId)) + poolAmountInBalance), toBigInt(getAccBalance(prId))]
120134 else [(toBigInt(getAccBalance(prId)) + poolAmountInBalance), toBigInt(getAccBalance(amId))]
121135 let x = xp[0]
122136 let s = x
123137 let ann = (a * n)
124138 let c = (((((D * D) / (x * n)) * D) * aPrecision) / (ann * n))
125139 let b = ((s + ((D * aPrecision) / ann)) - D)
126140 func calc (acc,cur) = {
127- let $t046514671 = acc
128- let y = $t046514671._1
129- let found = $t046514671._2
141+ let $t051255145 = acc
142+ let y = $t051255145._1
143+ let found = $t051255145._2
130144 if ((found != unit))
131145 then acc
132146 else {
133147 let yNext = (((y * y) + c) / ((big2 * y) + b))
134148 let yDiff = absBigInt((yNext - value(y)))
135149 if ((big1 >= yDiff))
136150 then $Tuple2(yNext, cur)
137151 else $Tuple2(yNext, unit)
138152 }
139153 }
140154
141155 let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
142- let $t050025049 = {
156+ let $t054765523 = {
143157 let $l = arr
144158 let $s = size($l)
145159 let $acc0 = $Tuple2(D, unit)
146160 func $f0_1 ($a,$i) = if (($i >= $s))
147161 then $a
148162 else calc($a, $l[$i])
149163
150164 func $f0_2 ($a,$i) = if (($i >= $s))
151165 then $a
152166 else throw("List size exceeds 15")
153167
154168 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
155169 }
156- let y = $t050025049._1
157- let found = $t050025049._2
170+ let y = $t054765523._1
171+ let found = $t054765523._2
158172 if ((found != unit))
159173 then y
160174 else throw(("Y calculation error, Y = " + toString(y)))
161175 }
162176
177+
178+let SWAVES_stake = Address(base58'3PDPzZVLhN1EuzGy4xAxjjTVkawKDLEaHiV')
179+
180+func _loadInt (key_,default_) = match getInteger(SWAVES_stake, key_) {
181+ case a: Int =>
182+ a
183+ case _ =>
184+ default_
185+}
186+
187+
188+func _loadBigInt (key_,default_) = match getBinary(SWAVES_stake, key_) {
189+ case a: ByteVector =>
190+ toBigInt(a)
191+ case _ =>
192+ default_
193+}
194+
195+
196+let WX_BURNXTN_WAVES = Address(base58'3P5vwLbXddLWpsRspftMxLuzfsjk3dLT3n5')
197+
198+let lastRate = _loadBigInt("LAST_RATE", toBigInt(1000000000000))
199+
200+let currentRate = _loadBigInt("CURRENT_RATE", toBigInt(0))
201+
202+let lastHeight = _loadInt("LAST_HEIGHT", 0)
203+
204+let targetHeight = min([_loadInt("TARGET_HEIGHT", 0), height])
205+
206+let lastRateUpdated = (lastRate + (currentRate * toBigInt((targetHeight - lastHeight))))
207+
208+let baseAmount = toInt(fraction(toBigInt(assetBalance(WX_BURNXTN_WAVES, swaves)), lastRateUpdated, toBigInt(1000000000000), FLOOR))
209+
210+let wavesInWX = (wavesBalance(WX_BURNXTN_WAVES).regular + baseAmount)
211+
212+let burnxtnInWX = assetBalance(WX_BURNXTN_WAVES, burnxtnId)
213+
214+let burnxtnwavesprice = fraction(d8, wavesInWX, burnxtnInWX)
163215
164216 func isShutdown () = match getBoolean(this, "is_shutdown") {
165217 case x: Boolean =>
166218 x
167219 case _ =>
168220 false
169221 }
170222
171223
172224 @Callable(i)
173225 func shutdown (shutdown) = if ((i.caller == this))
174226 then [BooleanEntry("is_shutdown", shutdown)]
175227 else throw("admin only")
176228
177229
178230
179231 @Callable(i)
180232 func swap (amountOutMin,AssetOut) = if (if ((isShutdown() == true))
181233 then (i.caller != Address(base58'3PEtLVxDT8mxAh1SDAn8m7JTGNkdpkaFxBk'))
182234 else false)
183235 then throw("contract is shutdown")
184236 else {
185237 let pmt = value(i.payments[0])
186238 let amountIn = value(i.payments[0].amount)
187239 let feePoolAmount = fraction(amountIn, fee, feeScale)
188240 let cleanAmountIn = (amountIn - feePoolAmount)
189241 let assetIn = assetIdToString(pmt.assetId)
190242 let isReverse = if ((assetIn == amId))
191243 then false
192244 else true
193- let $t059366316 = if ((isReverse == false))
245+ let $t075647944 = if ((isReverse == false))
194246 then {
195247 let assetOut = prId
196248 let poolAmountInBalance = (toBigInt(getAccBalance(amId)) + toBigInt(cleanAmountIn))
197249 $Tuple2(assetOut, poolAmountInBalance)
198250 }
199251 else {
200252 let assetOut = amId
201253 let poolAmountInBalance = (toBigInt(getAccBalance(prId)) + toBigInt(cleanAmountIn))
202254 $Tuple2(assetOut, poolAmountInBalance)
203255 }
204- let assetOut = $t059366316._1
205- let poolAmountInBalance = $t059366316._2
256+ let assetOut = $t075647944._1
257+ let poolAmountInBalance = $t075647944._2
206258 let xp = if ((isReverse == false))
207259 then [(toBigInt(getAccBalance(amId)) - toBigInt(value(i.payments[0]).amount)), toBigInt(getAccBalance(prId))]
208260 else [toBigInt(getAccBalance(amId)), (toBigInt(getAccBalance(prId)) - toBigInt(value(i.payments[0]).amount))]
209261 let D = getD(xp)
210262 let y = getY(isReverse, D, toBigInt(0))
211263 let dy = ((toBigInt(getAccBalance(AssetOut)) - y) - toBigInt(1))
212264 let totalGetRaw = max([0, toInt(dy)])
213265 let checkMin = if ((totalGetRaw >= amountOutMin))
214266 then true
215267 else throw("Exchange result is fewer coins than expected")
216268 if ((checkMin == checkMin))
217269 then {
218270 let newXp = if ((isReverse == false))
219271 then [(toBigInt(getAccBalance(amId)) + toBigInt(feePoolAmount)), (toBigInt(getAccBalance(prId)) - dy)]
220272 else [(toBigInt(getAccBalance(amId)) - dy), (toBigInt(getAccBalance(prId)) + toBigInt(feePoolAmount))]
221273 let newD = getD(newXp)
222274 let checkD = if ((newD >= D))
223275 then true
224276 else throw("new D is fewer error")
225277 if ((checkD == checkD))
226278 then {
227279 let unstake = if ((AssetOut == amId))
228280 then invoke(USDCdapp, "unstake", [totalGetRaw], nil)
229281 else invoke(USDTdapp, "unstake", [totalGetRaw], nil)
230282 if ((unstake == unstake))
231283 then {
232284 let stake = if ((AssetOut == amId))
233285 then invoke(USDTdapp, "stake", nil, [AttachedPayment(fromBase58String(prId), assetBalance(this, fromBase58String(prId)))])
234286 else invoke(USDCdapp, "stake", nil, [AttachedPayment(fromBase58String(amId), assetBalance(this, fromBase58String(amId)))])
235287 if ((stake == stake))
236- then [ScriptTransfer(i.caller, totalGetRaw, parseAssetId(assetOut))]
288+ then {
289+ let selector = invoke(this, "selector", nil, nil)
290+ if ((selector == selector))
291+ then [ScriptTransfer(i.caller, totalGetRaw, parseAssetId(assetOut))]
292+ else throw("Strict value is not equal to itself.")
293+ }
237294 else throw("Strict value is not equal to itself.")
238295 }
239296 else throw("Strict value is not equal to itself.")
240297 }
241298 else throw("Strict value is not equal to itself.")
242299 }
243300 else throw("Strict value is not equal to itself.")
244301 }
245302
246303
247304
248305 @Callable(i)
249306 func invoker () = {
250307 let inv1 = invoke(Address(base58'3PAucbbumdUXmhzcR421zGiayphEdo2tRoz'), "withdraw", nil, nil)
251308 if ((inv1 == inv1))
252309 then {
253310 let inv2 = if ((50 > assetBalance(Address(base58'3PAucbbumdUXmhzcR421zGiayphEdo2tRoz'), vvxtnlp)))
254311 then invoke(Address(base58'3PAkmJniMgnnAej5pYf2jFYkCbZow5pt9tr'), "withdraw", nil, nil)
255312 else invoke(Address(base58'3PAucbbumdUXmhzcR421zGiayphEdo2tRoz'), "importVVXTNLP", nil, nil)
256313 if ((inv2 == inv2))
257314 then {
258315 let inv3 = invoke(Address(base58'3PPCzX2doZ7agBNuGSKqjrbdXgGEtE7CpQ3'), "withdraw", nil, nil)
259316 if ((inv3 == inv3))
260317 then {
261318 let inv4 = invoke(Address(base58'3PHLhWPrs1mrpM1ZDUv1VmUnZRwchADJELc'), "withdraw", nil, nil)
262319 if ((inv4 == inv4))
263320 then nil
264321 else throw("Strict value is not equal to itself.")
265322 }
266323 else throw("Strict value is not equal to itself.")
267324 }
268325 else throw("Strict value is not equal to itself.")
269326 }
270327 else throw("Strict value is not equal to itself.")
271328 }
272329
273330
331+
332+@Callable(i)
333+func selector () = if ((i.caller != this))
334+ then throw("no access")
335+ else {
336+ let inv00 = if ((getIntegerValue(this, keyInvokeNext) == 0))
337+ then invoke(projectB, "burnXTNandClaim", nil, nil)
338+ else if ((getIntegerValue(this, keyInvokeNext) == 0))
339+ then [IntegerEntry(keyInvokeNext, 1)]
340+ else if ((getIntegerValue(this, keyInvokeNext) == 1))
341+ then invoke(projectB, "SURFandVVXTNLP", nil, nil)
342+ else if ((getIntegerValue(this, keyInvokeNext) == 1))
343+ then [IntegerEntry(keyInvokeNext, if ((burnxtnwavesprice >= getIntegerValue(this, "ATH in wavelets")))
344+ then 10
345+ else 20)]
346+ else if ((getIntegerValue(this, keyInvokeNext) == 10))
347+ then invoke(projectB, "burnBURNXTN", nil, nil)
348+ else if ((getIntegerValue(this, keyInvokeNext) == 10))
349+ then [IntegerEntry(keyInvokeNext, 11)]
350+ else if ((getIntegerValue(this, keyInvokeNext) == 11))
351+ then invoke(projectB, "grow1", nil, nil)
352+ else if ((getIntegerValue(this, keyInvokeNext) == 11))
353+ then [IntegerEntry(keyInvokeNext, 12)]
354+ else if ((getIntegerValue(this, keyInvokeNext) == 12))
355+ then invoke(projectB, "grow2", nil, nil)
356+ else if ((getIntegerValue(this, keyInvokeNext) == 12))
357+ then [IntegerEntry(keyInvokeNext, 13)]
358+ else if ((getIntegerValue(this, keyInvokeNext) == 13))
359+ then invoke(projectB, "grow3", nil, nil)
360+ else if ((getIntegerValue(this, keyInvokeNext) == 13))
361+ then [IntegerEntry(keyInvokeNext, 14)]
362+ else if ((getIntegerValue(this, keyInvokeNext) == 14))
363+ then invoke(projectB, "grow4", nil, nil)
364+ else if ((getIntegerValue(this, keyInvokeNext) == 14))
365+ then [IntegerEntry(keyInvokeNext, 15)]
366+ else if ((getIntegerValue(this, keyInvokeNext) == 15))
367+ then invoke(projectB, "grow5", nil, nil)
368+ else if ((getIntegerValue(this, keyInvokeNext) == 15))
369+ then [IntegerEntry(keyInvokeNext, 16)]
370+ else if ((getIntegerValue(this, keyInvokeNext) == 16))
371+ then invoke(projectB, "grow6", nil, nil)
372+ else if ((getIntegerValue(this, keyInvokeNext) == 16))
373+ then [IntegerEntry(keyInvokeNext, 30)]
374+ else if ((getIntegerValue(this, keyInvokeNext) == 20))
375+ then invoke(projectB, "pump", nil, nil)
376+ else if ((getIntegerValue(this, keyInvokeNext) == 20))
377+ then [IntegerEntry(keyInvokeNext, 30)]
378+ else if ((getIntegerValue(this, keyInvokeNext) == 30))
379+ then invoke(projectB, "PZbbb", nil, nil)
380+ else if ((getIntegerValue(this, keyInvokeNext) == 30))
381+ then [IntegerEntry(keyInvokeNext, 31)]
382+ else if ((getIntegerValue(this, keyInvokeNext) == 31))
383+ then invoke(projectB, "claimBBB", nil, nil)
384+ else if ((getIntegerValue(this, keyInvokeNext) == 31))
385+ then [IntegerEntry(keyInvokeNext, 32)]
386+ else if ((getIntegerValue(this, keyInvokeNext) == 32))
387+ then invoke(projectB, "burnSURF", nil, nil)
388+ else if ((getIntegerValue(this, keyInvokeNext) == 32))
389+ then [IntegerEntry(keyInvokeNext, 40)]
390+ else if ((getIntegerValue(this, keyInvokeNext) == 33))
391+ then invoke(projectB, "puzzlePZbbb", nil, nil)
392+ else if ((getIntegerValue(this, keyInvokeNext) == 33))
393+ then [IntegerEntry(keyInvokeNext, 34)]
394+ else if ((getIntegerValue(this, keyInvokeNext) == 34))
395+ then invoke(projectB, "stakePZbbb", nil, nil)
396+ else if ((getIntegerValue(this, keyInvokeNext) == 34))
397+ then [IntegerEntry(keyInvokeNext, 35)]
398+ else if ((getIntegerValue(this, keyInvokeNext) == 40))
399+ then invoke(projectB, "dEntry", nil, nil)
400+ else if ((getIntegerValue(this, keyInvokeNext) == 40))
401+ then [IntegerEntry(keyInvokeNext, 50)]
402+ else if ((getIntegerValue(this, keyInvokeNext) == 50))
403+ then invoke(rewards, "claimRewards", nil, nil)
404+ else if ((getIntegerValue(this, keyInvokeNext) == 50))
405+ then [IntegerEntry(keyInvokeNext, 51)]
406+ else if ((getIntegerValue(this, keyInvokeNext) == 51))
407+ then invoke(rewards, "shillerRewards", nil, nil)
408+ else if ((getIntegerValue(this, keyInvokeNext) == 51))
409+ then [IntegerEntry(keyInvokeNext, 52)]
410+ else if ((getIntegerValue(this, keyInvokeNext) == 52))
411+ then invoke(rewards, "adminRewards", nil, nil)
412+ else if ((getIntegerValue(this, keyInvokeNext) == 52))
413+ then [IntegerEntry(keyInvokeNext, 60)]
414+ else if ((getIntegerValue(this, keyInvokeNext) == 60))
415+ then invoke(bounty, "updateBalanceEntry", nil, nil)
416+ else if ((getIntegerValue(this, keyInvokeNext) == 60))
417+ then [IntegerEntry(keyInvokeNext, 61)]
418+ else if ((getIntegerValue(this, keyInvokeNext) == 61))
419+ then invoke(bounty, "claim", nil, nil)
420+ else if ((getIntegerValue(this, keyInvokeNext) == 61))
421+ then [IntegerEntry(keyInvokeNext, 62)]
422+ else if ((getIntegerValue(this, keyInvokeNext) == 62))
423+ then invoke(bounty, "swap", nil, nil)
424+ else if ((getIntegerValue(this, keyInvokeNext) == 62))
425+ then [IntegerEntry(keyInvokeNext, 63)]
426+ else if ((getIntegerValue(this, keyInvokeNext) == 63))
427+ then invoke(bounty, "totalBalanceAll", nil, nil)
428+ else if ((getIntegerValue(this, keyInvokeNext) == 63))
429+ then [IntegerEntry(keyInvokeNext, 64)]
430+ else if ((getIntegerValue(this, keyInvokeNext) == 64))
431+ then invoke(bounty, "payRewards", nil, nil)
432+ else if ((getIntegerValue(this, keyInvokeNext) == 64))
433+ then [IntegerEntry(keyInvokeNext, 70)]
434+ else unit
435+ if ((inv00 == inv00))
436+ then nil
437+ else throw("Strict value is not equal to itself.")
438+ }
439+
440+
441+
442+@Callable(i)
443+func balance_info () = [IntegerEntry("USDC", getAccBalance(amId)), IntegerEntry("USDT", getAccBalance(prId)), IntegerEntry("USD total", (getAccBalance(amId) + getAccBalance(prId)))]
444+
445+
446+
447+@Callable(i)
448+func changeEntry (InvokeNext) = if ((i.caller != this))
449+ then throw("access only by project owner")
450+ else [IntegerEntry(keyInvokeNext, InvokeNext)]
451+
452+

github/deemru/w8io/873ac7e 
298.70 ms