Update pipeline
Prices are published by a process that signs as oracleSigner and calls CommodityOracle
(Hardhat scripts or GitHub Actions cron ).
Hourly cron updates both BOT Testnet and BOT Chain Mainnet.
Commands
# RWA / commodities (BOT Testnet)
npm run update:feeds
# Digital assets
DIGITAL_ASSETS_LIMIT=60 npx hardhat run scripts/updateDigitalAssetsFeed.ts --network botTestnet
Requires PRIVATE_KEY (testnet gas) and MAINNET_PRIVATE_KEY (mainnet gas). Optionally set ORACLE_SIGNER_PRIVATE_KEY / MAINNET_ORACLE_SIGNER_PRIVATE_KEY if the signer differs from the gas wallet.
Cadence
| Goal | Interval |
|---|---|
| GitHub Actions updater | 1 hour (testnet + mainnet) |
| Valid signatures on submit | < 15 min old |
Testnet maxStaleness | 900s |
Mainnet maxStaleness | 3600s |
Cron: .github/workflows/update-oracle-feeds.yml (0 * * * *, hourly UTC).
Never commit private keys. Fund both updater wallets with BOT for gas.