Skip to content

[WIP] TON jetton standard implementation on tact. Fully decentralized onchain metadata

License

Notifications You must be signed in to change notification settings

supadupadao/jetton

Repository files navigation

TON Jetton contract on Tact

ℹ️ Jetton implementation for The Open Network written in Tact language. Metadata is fully decentralized, it means that full token metadata is stored on-chain.

⚠️ Warning! This contract is not 100% tested and I would not recommend using it in production yet.

❤️ I'll be very grateful for any kind of contribution: code, docs, issues, bug reports, github stars or whatever

Development

This is default Tact blueprint project with default commands:

  • npm run build - build project and compile contracts
  • npm test - run contracts tests
  • npx blueprint run - execute script from /scripts directory

Docs

Project structure

  • contracts - source code of all the smart contracts
    • jetton - entrypoints of jetton contracts with dependencies (traits) specified
      • master.tact - jetton master contract entrypoint
      • wallet.tact - jetton wallet contract entrypoint
    • teps - traits with TEPs realization
      • tep64.tact - trait implementation of TEP 64
      • tep74.tact - trait implementation of TEP 74
      • tep89.tact - trait implementation of TEP 89
    • consts.tact - project constants
    • errors.tact - custom project error codes (exit codes)
    • messages.tact - contracts API messages

Exit codes

Standard Tact exit codes

Code Description
Tact lang exit codes
132 Invalid owner of contract.
Occurs when sender wallet is not owner of receiver contract when it is required.
Custom exit codes
6901 No enough TON on contract balance.
6902 No enoght TON in message
6903 Jetton already initialized.
Occurs when you send 0x133701 message to jetton that has been already initialized.
6904 Max supply exceeded.
Occurs when you try mint more tokens than max_supply parameter allow.

Releases

No releases published

Packages

No packages published