OpenChrono
  • OpenChrono Docs
  • About OpenChrono.io
    • What is OpenChrono?
    • Digital Twins & TimePiece Passports™
    • OpenChrono Architecture
    • Authentication Standards
    • Authentication Process
    • Our Team
    • Our Partners
  • Product Tour
    • Marketplace
    • Platform Navigation
      • Search For A Watch
      • Buy A Watch
      • Sell A Watch
      • Redeem A Watch
      • Account Wallets
      • Lending
    • Platform Fees
    • Payment Methods
    • Vault Your Watch
    • Buyer Protection
    • Seller Protection
  • Platform Technical Info
    • Smart Contracts
    • TimePiece Passport™ Tech
    • Royalties
    • Escrow Lifecycle
    • Contract Addresses
    • Minting
    • Creating A Digital Twin
    • Document Updates
    • Metadata Format
    • Deploying & Upgrading
    • Fee Structure
  • Logistics & Legal
    • Secure Vaults & Insurance
    • KYC / AML Checks
    • Last Mile Delivery
  • User Agreement
    • Users Terms of Service
    • Website Terms of Service
    • Privacy & Cookie Notice
  • Resources
    • WhitePaper
      • Untitled
      • Page 1
    • Useful Links
    • Careers
    • Investments & Funding
    • About OpenChrono
Powered by GitBook
On this page

Was this helpful?

  1. Platform Technical Info

Smart Contracts

Last updated 1 year ago

Was this helpful?

There are in total three smart contracts as seen in the image below. The owners of an NFT from the TimePiecePassport contract have the ability to transfer it wherever they want. Just like a normal ERC-721 NFT.

The TimePieceEscrow contract is meant to be used during the step of an order via the OpenChrono website.

The TimePiecePayments contract is meant to be used for crypto payments and to set the Royalties of an NFT.

Access Control

Each smart contract has several roles to determine who can perform what actions.

TimePiecePassport

Role
Description

DEFAULT_ADMIN_ROLE

Can update the role assignments.

ROLE_MINTER

The only one that is allowed to mint new NFTs.

ROLE_CONFIGURATOR

Can update the base URI of the token URL.

ROLE_ROYALTY_CONFIGURATOR

Can set and delete ERC-2981 fee data. Must be at least the TimePiecePayments contract.

ROLE_REDEEMER

Can set the redeem flag in the contract. Must be at least the TimePieceEscrow contract.

ROLE_UPDATER

Can upgrade the contract.

TimePieceEscrow

Role
Description

DEFAULT_ADMIN_ROLE

Can update the role assignments.

ROLE_CONFIGURATOR

Update the configuration of contract addresses and escrow data.

ROLE_ESCROWER

Can start an escrow.

TimePiecePayments

Role
Description

DEFAULT_ADMIN_ROLE

Can update the role assignments.

ROLE_CONFIGURATOR

Can configure the contract addresses. Can (un)pause the contract.

ROLE_ROYALTY_CONFIGURATOR

Can set and delete the default and token fee structure.

ROLE_FUNDS_MANAGER

Can split the received fee and withdraw tokens from the contract.

ROLE_UPDATER

Can upgrade the contract.

Smart Contract Information