* feat: [asset-swapper] Shell * Deployed and Changelogs * Glue up the deployed address * Glue for FQT rollup
80 lines
2.3 KiB
TypeScript
80 lines
2.3 KiB
TypeScript
import addresses from '../addresses.json';
|
|
|
|
export interface ContractAddresses {
|
|
erc20Proxy: string;
|
|
erc721Proxy: string;
|
|
zrxToken: string;
|
|
etherToken: string;
|
|
exchangeV2: string;
|
|
exchange: string;
|
|
assetProxyOwner: string;
|
|
zeroExGovernor: string;
|
|
forwarder: string;
|
|
coordinatorRegistry: string;
|
|
coordinator: string;
|
|
multiAssetProxy: string;
|
|
staticCallProxy: string;
|
|
erc1155Proxy: string;
|
|
devUtils: string;
|
|
zrxVault: string;
|
|
staking: string;
|
|
stakingProxy: string;
|
|
erc20BridgeProxy: string;
|
|
erc20BridgeSampler: string;
|
|
uniswapBridge: string;
|
|
uniswapV2Bridge: string;
|
|
eth2DaiBridge: string;
|
|
kyberBridge: string;
|
|
chaiBridge: string;
|
|
dydxBridge: string;
|
|
curveBridge: string;
|
|
godsUnchainedValidator: string;
|
|
broker: string;
|
|
chainlinkStopLimit: string;
|
|
maximumGasPrice: string;
|
|
dexForwarderBridge: string;
|
|
multiBridge: string;
|
|
balancerBridge: string;
|
|
bancorBridge: string;
|
|
exchangeProxyGovernor: string;
|
|
exchangeProxy: string;
|
|
exchangeProxyAllowanceTarget: string;
|
|
exchangeProxyTransformerDeployer: string;
|
|
exchangeProxyFlashWallet: string;
|
|
mStableBridge: string;
|
|
mooniswapBridge: string;
|
|
sushiswapBridge: string;
|
|
shellBridge: string;
|
|
transformers: {
|
|
wethTransformer: string;
|
|
payTakerTransformer: string;
|
|
fillQuoteTransformer: string;
|
|
affiliateFeeTransformer: string;
|
|
};
|
|
}
|
|
|
|
export enum ChainId {
|
|
Mainnet = 1,
|
|
Ropsten = 3,
|
|
Rinkeby = 4,
|
|
Kovan = 42,
|
|
Ganache = 1337,
|
|
}
|
|
|
|
/**
|
|
* Used to get addresses of contracts that have been deployed to either the
|
|
* Ethereum mainnet or a supported testnet. Throws if there are no known
|
|
* contracts deployed on the corresponding chain.
|
|
* @param chainId The desired chainId.
|
|
* @returns The set of addresses for contracts which have been deployed on the
|
|
* given chainId.
|
|
*/
|
|
export function getContractAddressesForChainOrThrow(chainId: ChainId): ContractAddresses {
|
|
const chainToAddresses: { [chainId: number]: ContractAddresses } = addresses;
|
|
|
|
if (chainToAddresses[chainId] === undefined) {
|
|
throw new Error(`Unknown chain id (${chainId}). No known 0x contracts have been deployed on this chain.`);
|
|
}
|
|
return chainToAddresses[chainId];
|
|
}
|