sgb-ftso-contracts

PyPI https://app.travis-ci.com/chuckb/sgb-ftso-contracts.svg?branch=master&status=passed https://img.shields.io/github/v/tag/chuckb/sgb-ftso-contracts

A small Python 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.
rpcurl = "https://songbird-api.flare.network/ext/bc/C/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))

Indices and tables