Skip to main content

Songbird network FTSO contract factory library

Project description

Songbird FTSO Contract Factory

A small library to quickly instantiate Flare Time Series Oracle (FTSO) contracts on the Songbird network.

Installation

pip install sgb-ftso-contracts

Get Started

How to get prices of crypto assets tracked by the Songbird network:

from sgb_ftso_contracts import Ftso
from web3 import Web3

# Songbird network RPC endpoint
# This is a free, rate-limited API node.
# Please do not abuse...
rpcurl = "https://songbird.towolabs.com/rpc"

# Init web3 with REST HTTP provider.
web3 = Web3(Web3.HTTPProvider(rpcurl))

# Create an FTSO contract instance with factory library.
btcFtso = Ftso("BTC").contract(web3)

# Fetch the latest price for Bitcoin from the FTSO.
btcDecimals = btcFtso.functions.ASSET_PRICE_USD_DECIMALS().call()
btcPriceData = btcFtso.functions.getCurrentPrice().call()

# Prices are recorded as integers. Convert to decimal format.
print(btcPriceData[0] / pow(10, btcDecimals))

More

Contracts

The key contracts of the FTSO system are listed below:

  • Ftso
    This is the Ftso for BTC. FTSOs are all the same contract; one instance per asset.
  • FtsoManager
    This contract manages FTSO voting operations and coordinates price and reward epoch execution.
  • FtsoRegistry
    Centralized access to all FTSOs from one contract. This contract is handy to get FTSO current price info from as one does not need to go after the FTSO directly.
  • FtsoRewardManager
    Vote power delegators can use this contract to claim rewards and check reward status.
  • PriceSubmitter
    Price providers use this contract to centrally submit and reveal prices to one or more of the FTSOs simultaneously.
  • VoterWhitelister
    Price providers must be whitelisted in order to submit prices to the FTSOs. This contract is how they do it.
  • WNAT
    Holders of the native chain token (for the Songbird network, SGB) use this contract to wrap their Songbird and delegate vote power to FTSOs. WNAT = wrapped native

Source code

The source code for the FTSO smart contract system, for the Songbird network, can be found here.

White paper

More information about the Flare Network, concepts, etc. can be found here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sgb-ftso-contracts-0.1.1.tar.gz (3.5 kB view hashes)

Uploaded Source

Built Distribution

sgb_ftso_contracts-0.1.1-py3-none-any.whl (3.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page