How getgems-io/nft-contracts works
This is a TON smart-contract toolkit for Getgems NFT functionality, not a hosted application. Its principal workflow is for a developer or wallet to configure a contract, encode its initial state and messages, then deploy or interact with the resulting on-chain contract. The repository covers NFT items and collections, SBTs, fixed-price sales, auctions, offers, marketplaces, swaps, and raffles. Sampled files support the state/message encoding and deployer links shown; several contract implementations are unsampled, so their internal call paths are omitted.
Main entry points: nftContent.ts NFT content codec · NftCollection.data.ts Collection state and messages · SbtItem.data.ts SBT state and messages · Swap.data.ts Swap state and messages
Components 24
NFT contracts
- NFT collection
packages/contracts/nft-collection - NFT item
packages/contracts/nft-item - SBT item
packages/contracts/sbt-item
Trading contracts
- Auctions
packages/contracts/nft-auction - Auction versions
packages/contracts/nft-auction-v2 - Fixed-price sales
packages/contracts/nft-fixprice-sale - Fixed-price v2
packages/contracts/nft-fixprice-sale-v2 - Fixed-price v3
packages/contracts/nft-fixprice-sale-v3 - Fixed-price v4
packages/contracts/nft-fixprice-sale-v4 - Marketplace
packages/contracts/nft-marketplace - NFT offers
packages/contracts/nft-offer - NFT swaps
packages/contracts/nft-swap - NFT raffle
packages/contracts/nft-raffle
Contract support
- Sale deployer
packages/contracts/deployer/DeployerLocal.ts
TON encoding
- NFT content codec
packages/nft-content/nftContent.ts - Collection state and messages
packages/contracts/nft-collection/NftCollection.data.ts - Item state and messages
packages/contracts/nft-item/NftItem.data.ts - SBT state and messages
packages/contracts/sbt-item/SbtItem.data.ts - Swap state and messages
packages/contracts/nft-swap/Swap.data.ts - Raffle storage codec
packages/contracts/nft-raffle/raffle.storage.ts - Sale v4 state and messages
packages/contracts/nft-fixprice-sale-v4/NftFixPriceSaleV4.data.ts - Sale v3 state and messages
packages/contracts/nft-fixprice-sale-v3/NftFixpriceSaleV3.data.ts - Offer state and messages
packages/contracts/nft-offer/NftOfferData.ts
Other components
- Developer or wallet
Connections 25
- Developer or wallet → NFT collection: interacts with
- Developer or wallet → NFT item: interacts with
- Developer or wallet → SBT item: interacts with
- Developer or wallet → Auctions: interacts with
- Developer or wallet → Auction versions: interacts with
- Developer or wallet → Fixed-price sales: interacts with
- Developer or wallet → Fixed-price v2: interacts with
- Developer or wallet → Fixed-price v3: interacts with
- Developer or wallet → Fixed-price v4: interacts with
- Developer or wallet → Marketplace: interacts with
- Developer or wallet → NFT offers: interacts with
- Developer or wallet → NFT swaps: interacts with
- Developer or wallet → NFT raffle: interacts with
- Collection state and messages → NFT content codec: encodes content
- SBT state and messages → NFT content codec: encodes content
- Swap state and messages → NFT content codec: encodes content
- Sale v4 state and messages → Sale deployer: builds deploy payload
- Collection state and messages → NFT collection: prepares state and messages
- Item state and messages → NFT item: prepares state and messages
- SBT state and messages → SBT item: prepares state and messages
- Swap state and messages → NFT swaps: prepares state and messages
- Raffle storage codec → NFT raffle: encodes storage
- Sale v4 state and messages → Fixed-price v4: prepares state and messages
- Sale v3 state and messages → Fixed-price v3: prepares state and messages
- Offer state and messages → NFT offers: prepares state and messages