Skip to content

Starknet

The Cairo version of TokenTable was released on Starknet in February 2024. It has the same features and API as the EVM version, with these differences:

  • Functions and variables are named with snake_case instead of camelCase.
  • TrackerToken is not implemented. deploy_ttsuite deploys and returns only the Unlocker and the FutureToken.
  • Unlocker calls handle one item at a time. create_preset, create_actual, claim, delegate_claim and cancel each take a single preset or schedule (actual_id) instead of arrays, and a preset is passed as individual arguments rather than an encoded struct. get_preset returns the Preset struct directly.
  • There is one claiming delegate per Unlocker, set with set_claiming_delegate(delegate) and read with claiming_delegate().
  • extra_data is a Span<felt252>. The Unlocker also supports Chainlink price-feed presets: the feed address is passed in extra_data to create_preset, round IDs are passed in extra_data to claim, and calculate_amount_claimable additionally returns USD amounts and the feed's decimals. The owner sets the allowed round age with set_chainlink_round_timestamp_tolerance.
  • deploy_ttsuite has no is_upgradeable flag. Instead it takes is_project_token_legacy for project tokens that use felt252 rather than ByteArray for name() and symbol(). The deployer's owner sets the Unlocker and FutureToken class hashes with set_class_hash.

You can find the source code here. A formal audit was conducted by Nethermind.