Skip to content

Releases: keep-starknet-strange/unruggable.meme

v0.1.0-alpha.2

10 Jan 16:51
989f075
Compare
Choose a tag to compare
v0.1.0-alpha.2 Pre-release
Pre-release

What's Changed

Full Changelog: v0.1.0-alpha.1...v0.1.0-alpha.2

v0.1.0-alpha.1

10 Jan 11:57
1323cfc
Compare
Choose a tag to compare
v0.1.0-alpha.1 Pre-release
Pre-release

Unruggable Meme - Technical Specification for MVP Smart Contracts

Introduction

Unruggable Meme is a project designed to enhance the security and transparency of memecoins. This document outlines the technical specifications for the Minimum Viable Product (MVP) of Unruggable Meme smart contracts.

MVP Features

1. Maximum Holders Before Launch Safeguard

  • Objective: Limit the number of holders before the official launch to prevent premature distribution.

2. Maximum Team Allocation Percentage Before Launch

  • Objective: Restrict the percentage of tokens allocated to the team before launch. limit.

3. Locking of Liquidity Provider (LP) Tokens for 6 Months

  • Objective: Lock LP tokens for a fixed period to stabilize liquidity and prevent rug pulls.
  • Implementation:
    • A Locker contract to handle the locking mechanism.
    • Functions for depositing LP tokens and timestamp tracking.
    • A release function to unlock tokens after the 6-month period, with validation to ensure release only occurs post-lock period.

4. Implement Initial Token Distribution in Constructor

  • Objective: Define initial token distribution upon contract deployment.
  • Implementation:
    • Define initial token allocations (for team, marketing, etc.) in the contract constructor.
    • Distribute tokens to predefined wallets during contract deployment.

5. Ensure Liquidity is Locked in the Constructor

  • Objective: Lock a portion of liquidity immediately upon contract creation.
  • Implementation:
    • Integrate liquidity locking logic in the constructor.
    • Automatically transfer a predefined liquidity amount to the Locker contract.

6. Disable Buy Limit Check After Specific Time Passes

  • Objective: Lift buy limit after a defined period to allow larger transactions.
  • Implementation:
    • A variable buyLimitEndTime storing the timestamp when the buy limit ends.
    • Modify buy functions to check against buyLimitEndTime before applying limits.

7. Time-Based Disabling of Multicall-Prevention

  • Objective: Disable multicall prevention mechanisms after a certain period.
  • Implementation:
    • Implement a timestamp-based check in the multicall prevention logic.
    • After a specific time, indicated by a predefined variable, disable the multicall prevention measures.

8. Factory to Deploy Unruggable Meme Tokens

  • Objective: Provide a standardized method to deploy Unruggable Meme tokens.
  • Implementation:
    • A UnruggableMemeTokenFactory contract to handle token deployments.
    • Functions to set parameters for new tokens and deploy them.
    • Event emission for each token deployment for easy tracking.

9. Proper Testing for All Features

  • Objective: Ensure all features work as intended and are secure.

  • Implementation:

    • Develop a comprehensive suite of automated tests (using Starknet Foundry and / or plain Cairo tests).
    • Test cases to cover all functionalities, edge cases, and potential security vulnerabilities.
    • Continuous integration setup to run tests automatically.

    Additional notes

Supported AMMs

For the MVP we aim to support JediSwap AMM only. The addresses of the JediSwapFactory and the JediSwapRouter will be known by the Unruggable Meme Factory contract. The Unruggable Meme Factory will have getter functions accessible for the Unruggable Meme tokens launched, in order to retrieve those parameters.

What's Changed

Read more