@rholabs/rho-sdk
Version:
Rho Protocol SDK
47 lines (39 loc) • 1.53 kB
text/typescript
import { RhoSDKConfig, RhoSDKParams } from './sdk-typings'
export const MainnetConfig: RhoSDKConfig = {
routerAddress: '0xbEF0110560921824AF49dE900f2f0bF9ceb87E8C',
viewAddress: '0xdcb233560Ef093eBf7be820eE6de1dF8c9f86586',
quoterAddress: '0x1e50242e9c5fB0b1E6B9DaF9676793D284D5AaCa',
rpcUrl: 'https://arb1.arbitrum.io/rpc',
oracleServiceUrl: ['https://v2.roaracle.app'],
}
export const TestnetConfig: RhoSDKConfig = {
routerAddress: '0x8a471EFaCBAb12d208591563137d36bC3bFF1B11',
viewAddress: '0x794589eb6b036314dB3ab18e73dEA13ba71f1739',
quoterAddress: '0x7c67afB326BfE712b1B3EC06E555CDAf64Cc001b',
rpcUrl: 'https://sepolia-rollup.arbitrum.io/rpc',
oracleServiceUrl: ['https://testnet-v2.roaracle.app'],
}
export const DevnetConfig: RhoSDKConfig = {
routerAddress: '0xd1C8cf53af805658BA0973fe48C5B71D54FB099E',
viewAddress: '0xe5FCccE16D38B3D11Eaa3B8186B5Eb771dCD95C3',
quoterAddress: '0xAe02aa198718c26e83a61bbE09BCC2ba34E4Ef5a',
rpcUrl: 'https://sepolia-rollup.arbitrum.io/rpc',
oracleServiceUrl: ['https://v2.roaracle.dev'],
}
export const parseConfig = (params: RhoSDKParams = {}): RhoSDKConfig => {
const { network = 'mainnet' } = params
let baseConfig = {}
if(network === 'mainnet') {
baseConfig = MainnetConfig
} else if (network === 'testnet') {
baseConfig = TestnetConfig
} else if(network === 'devnet') {
baseConfig = DevnetConfig
} else if(network === 'custom') {
baseConfig = {...params}
}
return <RhoSDKConfig>{
...baseConfig,
...params,
}
}