UNPKG

@ponziland/account

Version:

Account management library for Starknet with wallet modal and connection state

32 lines (31 loc) 974 B
const DEFAULT_RPC_URL = "https://api.cartridge.gg/x/starknet/mainnet"; const DEFAULT_CHAIN_ID = "mainnet"; let _accountConfig = { rpcUrl: DEFAULT_RPC_URL, chainId: DEFAULT_CHAIN_ID, }; export const accountConfig = new Proxy(_accountConfig, { get(target, prop) { return target[prop]; }, set() { throw new Error('Use configureAccount() to update configuration'); } }); export function configureAccount(config) { if (config.rpcUrl !== undefined) { _accountConfig.rpcUrl = config.rpcUrl; } if (config.chainId !== undefined) { if (config.chainId !== 'mainnet' && config.chainId !== 'sepolia') { throw new Error('chainId must be either "mainnet" or "sepolia"'); } _accountConfig.chainId = config.chainId; } if (config.policies !== undefined) { _accountConfig.policies = config.policies; } } export function getAccountConfig() { return { ..._accountConfig }; }