sdk: WormholeRelayer mainnet addresses (#3108)
* basic delivery helpers done * reorganize * sdk: WormholeRelayer mainnet addresses * acala and karura * sdk: include manual delivery in relayer tests * fix test * sdk: Fix deliveryProvider -> wormholeRelayer * fix * SDK fixes * add l2s --------- Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
This commit is contained in:
parent
002bfd7f8a
commit
74e53beac7
|
@ -1,8 +1,15 @@
|
||||||
import { ChainId, Network, ChainName, CHAIN_ID_TO_NAME,} from "../";
|
import { ChainId, Network, ChainName, CHAIN_ID_TO_NAME } from "../";
|
||||||
import { ethers } from "ethers";
|
import { ethers } from "ethers";
|
||||||
import { WormholeRelayer__factory, WormholeRelayer } from "../ethers-contracts/";
|
import {
|
||||||
|
WormholeRelayer__factory,
|
||||||
|
WormholeRelayer,
|
||||||
|
} from "../ethers-contracts/";
|
||||||
|
|
||||||
type AddressInfo = {wormholeRelayerAddress?: string, mockDeliveryProviderAddress?: string, mockIntegrationAddress?: string}
|
type AddressInfo = {
|
||||||
|
wormholeRelayerAddress?: string;
|
||||||
|
mockDeliveryProviderAddress?: string;
|
||||||
|
mockIntegrationAddress?: string;
|
||||||
|
};
|
||||||
|
|
||||||
const TESTNET: { [K in ChainName]?: AddressInfo } = {
|
const TESTNET: { [K in ChainName]?: AddressInfo } = {
|
||||||
bsc: {
|
bsc: {
|
||||||
|
@ -30,7 +37,7 @@ const TESTNET: {[K in ChainName]?: AddressInfo} = {
|
||||||
mockDeliveryProviderAddress: "0xBF684878906629E72079D4f07D75Ef7165238092",
|
mockDeliveryProviderAddress: "0xBF684878906629E72079D4f07D75Ef7165238092",
|
||||||
mockIntegrationAddress: "0x3bF0c43d88541BBCF92bE508ec41e540FbF28C56",
|
mockIntegrationAddress: "0x3bF0c43d88541BBCF92bE508ec41e540FbF28C56",
|
||||||
},
|
},
|
||||||
}
|
};
|
||||||
|
|
||||||
const DEVNET: { [K in ChainName]?: AddressInfo } = {
|
const DEVNET: { [K in ChainName]?: AddressInfo } = {
|
||||||
ethereum: {
|
ethereum: {
|
||||||
|
@ -45,11 +52,51 @@ const DEVNET: {[K in ChainName]?: AddressInfo} = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const MAINNET: {[K in ChainName]?: AddressInfo} = {};
|
const MAINNET: { [K in ChainName]?: AddressInfo } = {
|
||||||
|
ethereum: {
|
||||||
|
wormholeRelayerAddress: "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911",
|
||||||
|
},
|
||||||
|
bsc: {
|
||||||
|
wormholeRelayerAddress: "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911",
|
||||||
|
},
|
||||||
|
polygon: {
|
||||||
|
wormholeRelayerAddress: "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911",
|
||||||
|
},
|
||||||
|
avalanche: {
|
||||||
|
wormholeRelayerAddress: "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911",
|
||||||
|
},
|
||||||
|
fantom: {
|
||||||
|
wormholeRelayerAddress: "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911",
|
||||||
|
},
|
||||||
|
klaytn: {
|
||||||
|
wormholeRelayerAddress: "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911",
|
||||||
|
},
|
||||||
|
celo: {
|
||||||
|
wormholeRelayerAddress: "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911",
|
||||||
|
},
|
||||||
|
acala: {
|
||||||
|
wormholeRelayerAddress: "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911",
|
||||||
|
},
|
||||||
|
karura: {
|
||||||
|
wormholeRelayerAddress: "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911",
|
||||||
|
},
|
||||||
|
moonbeam: {
|
||||||
|
wormholeRelayerAddress: "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911",
|
||||||
|
},
|
||||||
|
arbitrum: {
|
||||||
|
wormholeRelayerAddress: "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911",
|
||||||
|
},
|
||||||
|
optimism: {
|
||||||
|
wormholeRelayerAddress: "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
export const RELAYER_CONTRACTS = { MAINNET, TESTNET, DEVNET };
|
export const RELAYER_CONTRACTS = { MAINNET, TESTNET, DEVNET };
|
||||||
|
|
||||||
export function getAddressInfo(chainName: ChainName, env: Network): AddressInfo {
|
export function getAddressInfo(
|
||||||
|
chainName: ChainName,
|
||||||
|
env: Network
|
||||||
|
): AddressInfo {
|
||||||
const result: AddressInfo | undefined = RELAYER_CONTRACTS[env][chainName];
|
const result: AddressInfo | undefined = RELAYER_CONTRACTS[env][chainName];
|
||||||
if (!result) throw Error(`No address info for chain ${chainName} on ${env}`);
|
if (!result) throw Error(`No address info for chain ${chainName} on ${env}`);
|
||||||
return result;
|
return result;
|
||||||
|
@ -60,7 +107,10 @@ export function getWormholeRelayerAddress(
|
||||||
env: Network
|
env: Network
|
||||||
): string {
|
): string {
|
||||||
const result = getAddressInfo(chainName, env).wormholeRelayerAddress;
|
const result = getAddressInfo(chainName, env).wormholeRelayerAddress;
|
||||||
if(!result) throw Error(`No Wormhole Relayer Address for chain ${chainName}, network ${env}`);
|
if (!result)
|
||||||
|
throw Error(
|
||||||
|
`No Wormhole Relayer Address for chain ${chainName}, network ${env}`
|
||||||
|
);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,8 +120,12 @@ export function getWormholeRelayer(
|
||||||
provider: ethers.providers.Provider | ethers.Signer,
|
provider: ethers.providers.Provider | ethers.Signer,
|
||||||
wormholeRelayerAddress?: string
|
wormholeRelayerAddress?: string
|
||||||
): WormholeRelayer {
|
): WormholeRelayer {
|
||||||
const thisChainsRelayer = wormholeRelayerAddress || getWormholeRelayerAddress(chainName, env);
|
const thisChainsRelayer =
|
||||||
const contract = WormholeRelayer__factory.connect(thisChainsRelayer, provider);
|
wormholeRelayerAddress || getWormholeRelayerAddress(chainName, env);
|
||||||
|
const contract = WormholeRelayer__factory.connect(
|
||||||
|
thisChainsRelayer,
|
||||||
|
provider
|
||||||
|
);
|
||||||
return contract;
|
return contract;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue