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.