Unify deploy and app abstractions (#507)
* Simplify SDK app abstraction * Simplify SDK deploy abstraction Co-authored-by: nambrot <nambrot@googlemail.com>pull/525/head
parent
041f9f3e8f
commit
d3e788ac3a
@ -1,3 +1,3 @@ |
|||||||
export { AbacusRouterChecker } from './check'; |
export { AbacusRouterChecker } from './check'; |
||||||
export { AbacusRouterDeployer } from './deploy'; |
export { AbacusRouterDeployer } from './deploy'; |
||||||
export { RouterConfig, Router } from './types'; |
export { RouterConfig } from './types'; |
||||||
|
@ -1,15 +1,6 @@ |
|||||||
import { types } from '@abacus-network/utils'; |
import { types } from '@abacus-network/utils'; |
||||||
|
|
||||||
export interface Router { |
|
||||||
address: types.Address; |
|
||||||
enrollRemoteRouter(domain: types.Domain, router: types.Address): Promise<any>; |
|
||||||
// Technically a bytes32...
|
|
||||||
routers(domain: types.Domain): Promise<types.Address>; |
|
||||||
abacusConnectionManager(): Promise<types.Address>; |
|
||||||
transferOwnership(owner: types.Address): Promise<any>; |
|
||||||
owner(): Promise<types.Address>; |
|
||||||
} |
|
||||||
|
|
||||||
export type RouterConfig = { |
export type RouterConfig = { |
||||||
abacusConnectionManager: types.Address; |
abacusConnectionManager: types.Address; |
||||||
|
owner: types.Address; |
||||||
}; |
}; |
||||||
|
@ -1,3 +1,3 @@ |
|||||||
export { ContractVerifier } from './ContractVerifier'; |
export { ContractVerifier } from './ContractVerifier'; |
||||||
export { getContractVerificationInput } from './utils'; |
|
||||||
export { ContractVerificationInput, VerificationInput } from './types'; |
export { ContractVerificationInput, VerificationInput } from './types'; |
||||||
|
export { getConstructorArguments, getContractVerificationInput } from './utils'; |
||||||
|
@ -1,44 +1,39 @@ |
|||||||
import { ContractsBuilder, IAbacusContracts } from './contracts'; |
import { |
||||||
|
AbacusAddresses, |
||||||
|
AbacusContracts, |
||||||
|
connectContracts, |
||||||
|
serializeContracts, |
||||||
|
} from './contracts'; |
||||||
import { MultiProvider } from './provider'; |
import { MultiProvider } from './provider'; |
||||||
import { ChainMap, ChainName, Connection } from './types'; |
import { ChainMap, ChainName, Connection } from './types'; |
||||||
import { MultiGeneric, objMap } from './utils'; |
import { MultiGeneric, objMap } from './utils'; |
||||||
|
|
||||||
export class AbacusApp< |
export class AbacusApp< |
||||||
Contracts extends IAbacusContracts<any, any>, |
Contracts extends AbacusContracts, |
||||||
Chain extends ChainName = ChainName, |
Chain extends ChainName = ChainName, |
||||||
> extends MultiGeneric<Chain, Contracts> { |
> extends MultiGeneric<Chain, Contracts> { |
||||||
constructor( |
constructor( |
||||||
builder: ContractsBuilder<any, Contracts>, |
public contractsMap: ChainMap<Chain, Contracts>, |
||||||
contractAddresses: ChainMap<Chain, any>, |
multiProvider: MultiProvider<Chain>, |
||||||
readonly multiProvider: MultiProvider<Chain>, |
|
||||||
) { |
) { |
||||||
super( |
const connectedContractsMap = objMap(contractsMap, (chain, contracts) => |
||||||
objMap( |
connectContracts( |
||||||
contractAddresses, |
contracts, |
||||||
(chain, addresses) => |
multiProvider.getChainConnection(chain).getConnection(), |
||||||
new builder( |
|
||||||
addresses, |
|
||||||
multiProvider.getChainConnection(chain).getConnection()!, |
|
||||||
), |
|
||||||
), |
), |
||||||
); |
); |
||||||
|
super(connectedContractsMap); |
||||||
} |
} |
||||||
|
|
||||||
public contractsMap = this.chainMap; |
getContracts(chain: Chain): Contracts { |
||||||
|
return this.get(chain); |
||||||
getContracts( |
|
||||||
chain: Chain, |
|
||||||
): Contracts extends IAbacusContracts<any, infer C> ? C : never { |
|
||||||
return this.get(chain).contracts; |
|
||||||
} |
} |
||||||
|
|
||||||
getAddresses( |
getAddresses(chain: Chain): AbacusAddresses { |
||||||
chain: Chain, |
return serializeContracts(this.get(chain)); |
||||||
): Contracts extends IAbacusContracts<infer A, any> ? A : never { |
|
||||||
return this.get(chain).addresses; |
|
||||||
} |
} |
||||||
|
|
||||||
reconnect(chain: Chain, connection: Connection): void { |
connectToChain(chain: Chain, connection: Connection): void { |
||||||
this.get(chain).reconnect(connection); |
this.set(chain, connectContracts(this.get(chain), connection)); |
||||||
} |
} |
||||||
} |
} |
||||||
|
@ -1,79 +1,84 @@ |
|||||||
import { Contract } from 'ethers'; |
import { BaseContract, ethers } from 'ethers'; |
||||||
|
|
||||||
import { Router__factory } from '@abacus-network/app'; |
|
||||||
import { AbacusConnectionManager__factory } from '@abacus-network/core'; |
|
||||||
import { types } from '@abacus-network/utils'; |
import { types } from '@abacus-network/utils'; |
||||||
|
|
||||||
import { Connection, ProxiedAddress } from './types'; |
import { ProxiedContract, ProxyAddresses, isProxyAddresses } from './proxy'; |
||||||
|
import { Connection } from './types'; |
||||||
|
import { objMap } from './utils'; |
||||||
|
|
||||||
// address types generated from AbacusDeployer deployContract or deployProxiedContract
|
export type AbacusFactories = { |
||||||
export type AbacusContractAddresses = { |
[key: string]: ethers.ContractFactory; |
||||||
[key in string]: ProxiedAddress | types.Address; |
|
||||||
}; |
}; |
||||||
|
|
||||||
// from concrete ethers.ContractFactory static connect() type
|
export type AbacusContracts = { |
||||||
type EthersFactory<C> = ( |
[key: Exclude<string, 'address'>]: |
||||||
address: types.Address, // TODO: generic on ProxiedAddress for proxy utilities
|
| ethers.Contract |
||||||
connection: Connection, |
| ProxiedContract<any, any> |
||||||
) => C; |
| AbacusContracts; |
||||||
export type Factories<A extends AbacusContractAddresses> = Record< |
}; |
||||||
keyof A, |
|
||||||
EthersFactory<any> |
|
||||||
>; |
|
||||||
|
|
||||||
export interface IAbacusContracts<Addresses, Contracts> { |
export type AbacusAddresses = { |
||||||
readonly addresses: Addresses; |
[key: string]: types.Address | ProxyAddresses<any> | AbacusAddresses; |
||||||
readonly contracts: Contracts; |
}; |
||||||
reconnect(connection: Connection): void; |
|
||||||
} |
|
||||||
|
|
||||||
export interface ContractsBuilder< |
export function serializeContracts( |
||||||
Addresses, |
contractOrObject: AbacusContracts, |
||||||
Contracts extends IAbacusContracts<Addresses, any>, |
): AbacusAddresses { |
||||||
> { |
return objMap( |
||||||
new (addresses: Addresses, connection: Connection): Contracts; |
contractOrObject, |
||||||
|
(_, contract): string | ProxyAddresses<any> | AbacusAddresses => { |
||||||
|
if (contract instanceof BaseContract) { |
||||||
|
return contract.address; |
||||||
|
} else if (contract instanceof ProxiedContract) { |
||||||
|
return contract.addresses; |
||||||
|
} else { |
||||||
|
return serializeContracts(contract); |
||||||
} |
} |
||||||
|
|
||||||
export abstract class AbacusContracts< |
|
||||||
A extends AbacusContractAddresses, |
|
||||||
F extends Factories<A> = Factories<A>, |
|
||||||
CM = { |
|
||||||
[key in keyof A]: F[key] extends EthersFactory<infer C> ? C : never; |
|
||||||
}, |
}, |
||||||
> implements IAbacusContracts<A, CM> |
|
||||||
{ |
|
||||||
abstract factories(): F; |
|
||||||
// complexity here allows for subclasses to have strong typing on `this.contracts` inferred
|
|
||||||
// from the return types of the factory functions provided to the constructor
|
|
||||||
readonly contracts: CM; |
|
||||||
constructor(readonly addresses: A, connection: Connection) { |
|
||||||
const factories = this.factories(); |
|
||||||
const contractEntries = Object.entries(addresses).map(([key, addr]) => { |
|
||||||
const contractAddress = typeof addr === 'string' ? addr : addr.proxy; |
|
||||||
return [key, factories[key](contractAddress, connection)]; |
|
||||||
}); |
|
||||||
this.contracts = Object.fromEntries(contractEntries); |
|
||||||
} |
|
||||||
|
|
||||||
reconnect(connection: Connection): void { |
|
||||||
Object.values(this.contracts).forEach((contract: Contract) => |
|
||||||
contract.connect(connection), |
|
||||||
); |
); |
||||||
} |
} |
||||||
|
|
||||||
protected onlySigner(actual: types.Address, expected: types.Address): void { |
function getFactory( |
||||||
if (actual !== expected) { |
key: string, |
||||||
throw new Error(`Signer ${actual} must be ${expected} for this method`); |
factories: AbacusFactories, |
||||||
} |
): ethers.ContractFactory { |
||||||
|
if (!(key in factories)) { |
||||||
|
throw new Error(`Factories entry missing for ${key}`); |
||||||
} |
} |
||||||
|
return factories[key]; |
||||||
} |
} |
||||||
|
|
||||||
export type RouterAddresses = { |
export function buildContracts( |
||||||
abacusConnectionManager: types.Address; |
addressOrObject: AbacusAddresses, |
||||||
router: types.Address; |
factories: AbacusFactories, |
||||||
}; |
): AbacusContracts { |
||||||
|
return objMap( |
||||||
|
addressOrObject, |
||||||
|
(key, address): ProxiedContract<any, any> | AbacusContracts => { |
||||||
|
if (typeof address === 'string') { |
||||||
|
return getFactory(key, factories).attach(address); |
||||||
|
} else if (isProxyAddresses(address)) { |
||||||
|
const contract = getFactory(key, factories).attach(address.proxy); |
||||||
|
return new ProxiedContract(contract, address); |
||||||
|
} else { |
||||||
|
return buildContracts(address as AbacusAddresses, factories); |
||||||
|
} |
||||||
|
}, |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
export const routerFactories: Factories<RouterAddresses> = { |
export function connectContracts<Contracts extends AbacusContracts>( |
||||||
router: Router__factory.connect, |
contractOrObject: Contracts, |
||||||
abacusConnectionManager: AbacusConnectionManager__factory.connect, |
connection: Connection, |
||||||
}; |
): Contracts { |
||||||
|
return objMap(contractOrObject, (_, contract) => { |
||||||
|
if ( |
||||||
|
contract instanceof BaseContract || |
||||||
|
contract instanceof ProxiedContract |
||||||
|
) { |
||||||
|
return contract.connect(connection); |
||||||
|
} else { |
||||||
|
return connectContracts(contract, connection); |
||||||
|
} |
||||||
|
}) as Contracts; |
||||||
|
} |
||||||
|
@ -1,74 +1,57 @@ |
|||||||
import { Inbox, Outbox } from '@abacus-network/core'; |
import { Inbox, Outbox } from '@abacus-network/core'; |
||||||
|
|
||||||
import { AbacusApp } from '../app'; |
import { AbacusApp } from '../app'; |
||||||
|
import { buildContracts } from '../contracts'; |
||||||
import { MultiProvider } from '../provider'; |
import { MultiProvider } from '../provider'; |
||||||
import { ChainMap, ChainName, Remotes } from '../types'; |
import { ChainName, Remotes } from '../types'; |
||||||
import { objMap } from '../utils'; |
|
||||||
|
|
||||||
import { |
import { CoreContracts, coreFactories } from './contracts'; |
||||||
CoreContractAddresses, |
|
||||||
CoreContractSchema, |
|
||||||
CoreContracts, |
|
||||||
} from './contracts'; |
|
||||||
import { environments } from './environments'; |
import { environments } from './environments'; |
||||||
|
|
||||||
export const CoreEnvironments = Object.keys(environments); |
|
||||||
export type CoreEnvironment = keyof typeof environments; |
export type CoreEnvironment = keyof typeof environments; |
||||||
export type CoreEnvironmentChain<E extends CoreEnvironment> = Extract< |
export type CoreEnvironmentChain<E extends CoreEnvironment> = Extract< |
||||||
keyof typeof environments[E], |
keyof typeof environments[E], |
||||||
ChainName |
ChainName |
||||||
>; |
>; |
||||||
|
|
||||||
|
export type CoreContractsMap<Chain extends ChainName> = { |
||||||
|
[local in Chain]: CoreContracts<Chain, local>; |
||||||
|
}; |
||||||
|
|
||||||
export class AbacusCore<Chain extends ChainName = ChainName> extends AbacusApp< |
export class AbacusCore<Chain extends ChainName = ChainName> extends AbacusApp< |
||||||
CoreContracts<Chain>, |
CoreContracts<Chain, Chain>, |
||||||
Chain |
Chain |
||||||
> { |
> { |
||||||
constructor( |
constructor( |
||||||
addresses: { |
contractsMap: CoreContractsMap<Chain>, |
||||||
[local in Chain]: CoreContractAddresses<Chain, local>; |
|
||||||
}, |
|
||||||
multiProvider: MultiProvider<Chain>, |
multiProvider: MultiProvider<Chain>, |
||||||
) { |
) { |
||||||
super(CoreContracts, addresses, multiProvider); |
super(contractsMap, multiProvider); |
||||||
} |
|
||||||
|
|
||||||
static fromEnvironment<E extends CoreEnvironment>( |
|
||||||
name: E, |
|
||||||
multiProvider: MultiProvider<any>, // TODO: fix networks
|
|
||||||
): AbacusCore<any> { |
|
||||||
return new AbacusCore(environments[name], multiProvider); |
|
||||||
} |
} |
||||||
|
|
||||||
extendWithConnectionManagers<T>( |
static fromEnvironment<Env extends CoreEnvironment>( |
||||||
config: ChainMap<Chain, T>, |
env: Env, |
||||||
): ChainMap<Chain, T & { abacusConnectionManager: string }> { |
multiProvider: MultiProvider<CoreEnvironmentChain<Env>>, |
||||||
return objMap(config, (chain, config) => ({ |
): AbacusCore<CoreEnvironmentChain<Env>> { |
||||||
...config, |
const contractsMap = buildContracts( |
||||||
abacusConnectionManager: |
environments[env], |
||||||
this.getContracts(chain).abacusConnectionManager.address, |
coreFactories, |
||||||
})); |
) as CoreContractsMap<CoreEnvironmentChain<Env>>; |
||||||
} |
return new AbacusCore(contractsMap, multiProvider); |
||||||
|
|
||||||
// override type to be derived from chain key
|
|
||||||
getContracts<Local extends Chain>( |
|
||||||
chain: Local, |
|
||||||
): CoreContractSchema<Chain, Local> { |
|
||||||
return super.getContracts(chain) as any; |
|
||||||
} |
} |
||||||
|
|
||||||
// override type to be derived from chain key
|
// override type to be derived from chain key
|
||||||
getAddresses<Local extends Chain>( |
getContracts<Local extends Chain>(chain: Local): CoreContracts<Chain, Local> { |
||||||
chain: Local, |
return super.getContracts(chain) as CoreContracts<Chain, Local>; |
||||||
): CoreContractAddresses<Chain, Local> { |
|
||||||
return super.getAddresses(chain) as any; |
|
||||||
} |
} |
||||||
|
|
||||||
getMailboxPair<Local extends Chain>( |
getMailboxPair<Local extends Chain>( |
||||||
origin: Remotes<Chain, Local>, |
origin: Remotes<Chain, Local>, |
||||||
destination: Local, |
destination: Local, |
||||||
): { outbox: Outbox; inbox: Inbox } { |
): { originOutbox: Outbox; destinationInbox: Inbox } { |
||||||
const outbox = this.getContracts(origin).outbox.outbox; |
const originOutbox = this.getContracts(origin).outbox.contract; |
||||||
const inbox = this.getContracts(destination).inboxes[origin].inbox; |
const destinationInbox = |
||||||
return { outbox, inbox }; |
this.getContracts(destination).inboxes[origin].inbox.contract; |
||||||
|
return { originOutbox, destinationInbox }; |
||||||
} |
} |
||||||
} |
} |
||||||
|
@ -0,0 +1,52 @@ |
|||||||
|
{ |
||||||
|
"alfajores": { |
||||||
|
"upgradeBeaconController": "0x1f15e8b9C5ABf2D6f7f9033f95Fcd66b90c8aa27", |
||||||
|
"abacusConnectionManager": "0xD57Ff4d8d3872322bD628ed8f9C6bB3617A5ef13", |
||||||
|
"interchainGasPaymaster": "0x63BDfEF81688ddd5f135D8a8680f942205E030c2", |
||||||
|
"inboxes": { |
||||||
|
"kovan": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x0fda1FDfEaDADdAE9C07C2bdA184935E317688C6", |
||||||
|
"implementation": "0x9632B89f335F6f48d8ea32fC95ccc2eA36B33570", |
||||||
|
"beacon": "0xc8571652Fe648d2873Af278C4982Ecd07dBb0870" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x78BEAd8669B1657BCA3F7aC202D8098f37Eb6c6A" |
||||||
|
} |
||||||
|
}, |
||||||
|
"outbox": { |
||||||
|
"outbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x71f37188d27788ea86E12557edbc9b07E5BDdf03", |
||||||
|
"implementation": "0x3219827B9D028Cec62b996147076b4cFCeac282a", |
||||||
|
"beacon": "0xe0B98662f15B12E4aCfd950cBe53FAad4b0C0b98" |
||||||
|
}, |
||||||
|
"outboxValidatorManager": "0xCfC4862Df4544923265873f2d288AcEd9919d679" |
||||||
|
} |
||||||
|
}, |
||||||
|
"kovan": { |
||||||
|
"upgradeBeaconController": "0x74A77C554685651F7dB3784359E1436604794438", |
||||||
|
"abacusConnectionManager": "0x3c3b0367A960a6ea1cDe58Bb8A7E33bfC38554D3", |
||||||
|
"interchainGasPaymaster": "0x33bE4eAa1A7c04E6Bba63e4F9cfff1eb98CF59F0", |
||||||
|
"outbox": { |
||||||
|
"outbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x24D05ae06F3Ce4CF146958714c2B2FBE8B6a29c4", |
||||||
|
"implementation": "0xbA2C920a863122a42c249d89D5954506F00513C3", |
||||||
|
"beacon": "0xE8bF352efbC50754442095a04e81A5141fe75e16" |
||||||
|
}, |
||||||
|
"outboxValidatorManager": "0x3f0e80FfACE85DC573F57b2f552f6F98Fc5984c4" |
||||||
|
}, |
||||||
|
"inboxes": { |
||||||
|
"alfajores": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x125379056774C4246d016b2C58c6fbb80ab8829b", |
||||||
|
"implementation": "0x6D91F26Fb1430bC0F557cC8BD7F815b441541c68", |
||||||
|
"beacon": "0xdCCA08dC4ec34d58f69415b0C7C8e0042779c559" |
||||||
|
}, |
||||||
|
"validatorManager": "0x63C950170534907d40B77ecF61bd07980B51f2a4" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -1,40 +0,0 @@ |
|||||||
export const addresses = { |
|
||||||
alfajores: { |
|
||||||
upgradeBeaconController: '0x1f15e8b9C5ABf2D6f7f9033f95Fcd66b90c8aa27', |
|
||||||
abacusConnectionManager: '0xD57Ff4d8d3872322bD628ed8f9C6bB3617A5ef13', |
|
||||||
interchainGasPaymaster: '0x63BDfEF81688ddd5f135D8a8680f942205E030c2', |
|
||||||
inboxes: { |
|
||||||
kovan: { |
|
||||||
proxy: '0x0fda1FDfEaDADdAE9C07C2bdA184935E317688C6', |
|
||||||
implementation: '0x9632B89f335F6f48d8ea32fC95ccc2eA36B33570', |
|
||||||
beacon: '0xc8571652Fe648d2873Af278C4982Ecd07dBb0870', |
|
||||||
validatorManager: '0x78BEAd8669B1657BCA3F7aC202D8098f37Eb6c6A', |
|
||||||
}, |
|
||||||
}, |
|
||||||
outbox: { |
|
||||||
validatorManager: '0xCfC4862Df4544923265873f2d288AcEd9919d679', |
|
||||||
proxy: '0x71f37188d27788ea86E12557edbc9b07E5BDdf03', |
|
||||||
implementation: '0x3219827B9D028Cec62b996147076b4cFCeac282a', |
|
||||||
beacon: '0xe0B98662f15B12E4aCfd950cBe53FAad4b0C0b98', |
|
||||||
}, |
|
||||||
}, |
|
||||||
kovan: { |
|
||||||
upgradeBeaconController: '0x74A77C554685651F7dB3784359E1436604794438', |
|
||||||
abacusConnectionManager: '0x3c3b0367A960a6ea1cDe58Bb8A7E33bfC38554D3', |
|
||||||
interchainGasPaymaster: '0x33bE4eAa1A7c04E6Bba63e4F9cfff1eb98CF59F0', |
|
||||||
outbox: { |
|
||||||
validatorManager: '0x3f0e80FfACE85DC573F57b2f552f6F98Fc5984c4', |
|
||||||
proxy: '0x24D05ae06F3Ce4CF146958714c2B2FBE8B6a29c4', |
|
||||||
implementation: '0xbA2C920a863122a42c249d89D5954506F00513C3', |
|
||||||
beacon: '0xE8bF352efbC50754442095a04e81A5141fe75e16', |
|
||||||
}, |
|
||||||
inboxes: { |
|
||||||
alfajores: { |
|
||||||
validatorManager: '0x63C950170534907d40B77ecF61bd07980B51f2a4', |
|
||||||
proxy: '0x125379056774C4246d016b2C58c6fbb80ab8829b', |
|
||||||
implementation: '0x6D91F26Fb1430bC0F557cC8BD7F815b441541c68', |
|
||||||
beacon: '0xdCCA08dC4ec34d58f69415b0C7C8e0042779c559', |
|
||||||
}, |
|
||||||
}, |
|
||||||
}, |
|
||||||
}; |
|
@ -0,0 +1,104 @@ |
|||||||
|
{ |
||||||
|
"test1": { |
||||||
|
"upgradeBeaconController": "0x5FbDB2315678afecb367f032d93F642f64180aa3", |
||||||
|
"abacusConnectionManager": "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0", |
||||||
|
"interchainGasPaymaster": "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512", |
||||||
|
"outbox": { |
||||||
|
"outbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xa513E6E4b8f2a923D98304ec87F64353C4D5C853", |
||||||
|
"implementation": "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", |
||||||
|
"beacon": "0x0165878A594ca255338adfa4d48449f69242Eb8F" |
||||||
|
}, |
||||||
|
"outboxValidatorManager": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9" |
||||||
|
}, |
||||||
|
"inboxes": { |
||||||
|
"test2": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xA51c1fc2f0D1a1b8494Ed1FE312d7C3a78Ed91C0", |
||||||
|
"implementation": "0x610178dA211FEF7D417bC0e6FeD39F05609AD788", |
||||||
|
"beacon": "0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x8A791620dd6260079BF849Dc5567aDC3F2FdC318" |
||||||
|
}, |
||||||
|
"test3": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x0B306BF915C4d645ff596e518fAf3F9669b97016", |
||||||
|
"implementation": "0x610178dA211FEF7D417bC0e6FeD39F05609AD788", |
||||||
|
"beacon": "0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x9A676e781A523b5d0C0e43731313A708CB607508" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"test2": { |
||||||
|
"upgradeBeaconController": "0x9A9f2CCfdE556A7E9Ff0848998Aa4a0CFD8863AE", |
||||||
|
"abacusConnectionManager": "0x3Aa5ebB10DC797CAC828524e59A333d0A371443c", |
||||||
|
"interchainGasPaymaster": "0x68B1D87F95878fE05B998F19b66F4baba5De1aed", |
||||||
|
"outbox": { |
||||||
|
"outbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xa85233C63b9Ee964Add6F2cffe00Fd84eb32338f", |
||||||
|
"implementation": "0x4ed7c70F96B99c776995fB64377f0d4aB3B0e1C1", |
||||||
|
"beacon": "0x322813Fd9A801c5507c9de605d63CEA4f2CE6c44" |
||||||
|
}, |
||||||
|
"outboxValidatorManager": "0x59b670e9fA9D0A427751Af201D676719a970857b" |
||||||
|
}, |
||||||
|
"inboxes": { |
||||||
|
"test1": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x67d269191c92Caf3cD7723F116c85e6E9bf55933", |
||||||
|
"implementation": "0x09635F643e140090A9A8Dcd712eD6285858ceBef", |
||||||
|
"beacon": "0xc5a5C42992dECbae36851359345FE25997F5C42d" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x7a2088a1bFc9d81c55368AE168C2C02570cB814F" |
||||||
|
}, |
||||||
|
"test3": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x84eA74d481Ee0A5332c457a4d796187F6Ba67fEB", |
||||||
|
"implementation": "0x09635F643e140090A9A8Dcd712eD6285858ceBef", |
||||||
|
"beacon": "0xc5a5C42992dECbae36851359345FE25997F5C42d" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0xc3e53F4d16Ae77Db1c982e75a937B9f60FE63690" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"test3": { |
||||||
|
"upgradeBeaconController": "0xa82fF9aFd8f496c3d6ac40E2a0F282E47488CFc9", |
||||||
|
"abacusConnectionManager": "0x851356ae760d987E095750cCeb3bC6014560891C", |
||||||
|
"interchainGasPaymaster": "0x1613beB3B2C4f22Ee086B2b38C1476A3cE7f78E8", |
||||||
|
"outbox": { |
||||||
|
"outbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x4826533B4897376654Bb4d4AD88B7faFD0C98528", |
||||||
|
"implementation": "0x998abeb3E57409262aE5b751f60747921B33613E", |
||||||
|
"beacon": "0x70e0bA845a1A0F2DA3359C97E0285013525FFC49" |
||||||
|
}, |
||||||
|
"outboxValidatorManager": "0x95401dc811bb5740090279Ba06cfA8fcF6113778" |
||||||
|
}, |
||||||
|
"inboxes": { |
||||||
|
"test1": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x5eb3Bc0a489C5A8288765d2336659EbCA68FCd00", |
||||||
|
"implementation": "0x8f86403A4DE0BB5791fa46B8e795C547942fE4Cf", |
||||||
|
"beacon": "0x9d4454B023096f34B160D6B654540c56A1F81688" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x0E801D84Fa97b50751Dbf25036d067dCf18858bF" |
||||||
|
}, |
||||||
|
"test2": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x4c5859f0F772848b2D91F1D83E2Fe57935348029", |
||||||
|
"implementation": "0x8f86403A4DE0BB5791fa46B8e795C547942fE4Cf", |
||||||
|
"beacon": "0x9d4454B023096f34B160D6B654540c56A1F81688" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x809d550fca64d94Bd9F66E60752A544199cfAC3D" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -1,77 +0,0 @@ |
|||||||
export const addresses = { |
|
||||||
test1: { |
|
||||||
upgradeBeaconController: '0x5FbDB2315678afecb367f032d93F642f64180aa3', |
|
||||||
abacusConnectionManager: '0x0165878A594ca255338adfa4d48449f69242Eb8F', |
|
||||||
interchainGasPaymaster: '0x5FC8d32690cc91D4c39d9d3abcBD16989F875707', |
|
||||||
outbox: { |
|
||||||
proxy: '0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9', |
|
||||||
implementation: '0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0', |
|
||||||
beacon: '0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9', |
|
||||||
validatorManager: '0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512', |
|
||||||
}, |
|
||||||
inboxes: { |
|
||||||
test2: { |
|
||||||
proxy: '0xA51c1fc2f0D1a1b8494Ed1FE312d7C3a78Ed91C0', |
|
||||||
implementation: '0x610178dA211FEF7D417bC0e6FeD39F05609AD788', |
|
||||||
beacon: '0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e', |
|
||||||
validatorManager: '0x8A791620dd6260079BF849Dc5567aDC3F2FdC318', |
|
||||||
}, |
|
||||||
test3: { |
|
||||||
proxy: '0x9A676e781A523b5d0C0e43731313A708CB607508', |
|
||||||
implementation: '0x610178dA211FEF7D417bC0e6FeD39F05609AD788', |
|
||||||
beacon: '0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e', |
|
||||||
validatorManager: '0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82', |
|
||||||
}, |
|
||||||
}, |
|
||||||
}, |
|
||||||
test2: { |
|
||||||
upgradeBeaconController: '0x9A9f2CCfdE556A7E9Ff0848998Aa4a0CFD8863AE', |
|
||||||
abacusConnectionManager: '0x322813Fd9A801c5507c9de605d63CEA4f2CE6c44', |
|
||||||
interchainGasPaymaster: '0x4ed7c70F96B99c776995fB64377f0d4aB3B0e1C1', |
|
||||||
outbox: { |
|
||||||
proxy: '0x59b670e9fA9D0A427751Af201D676719a970857b', |
|
||||||
implementation: '0x3Aa5ebB10DC797CAC828524e59A333d0A371443c', |
|
||||||
beacon: '0xc6e7DF5E7b4f2A278906862b61205850344D4e7d', |
|
||||||
validatorManager: '0x68B1D87F95878fE05B998F19b66F4baba5De1aed', |
|
||||||
}, |
|
||||||
inboxes: { |
|
||||||
test1: { |
|
||||||
proxy: '0x67d269191c92Caf3cD7723F116c85e6E9bf55933', |
|
||||||
implementation: '0x09635F643e140090A9A8Dcd712eD6285858ceBef', |
|
||||||
beacon: '0xc5a5C42992dECbae36851359345FE25997F5C42d', |
|
||||||
validatorManager: '0x7a2088a1bFc9d81c55368AE168C2C02570cB814F', |
|
||||||
}, |
|
||||||
test3: { |
|
||||||
proxy: '0xc3e53F4d16Ae77Db1c982e75a937B9f60FE63690', |
|
||||||
implementation: '0x09635F643e140090A9A8Dcd712eD6285858ceBef', |
|
||||||
beacon: '0xc5a5C42992dECbae36851359345FE25997F5C42d', |
|
||||||
validatorManager: '0xE6E340D132b5f46d1e472DebcD681B2aBc16e57E', |
|
||||||
}, |
|
||||||
}, |
|
||||||
}, |
|
||||||
test3: { |
|
||||||
upgradeBeaconController: '0xa82fF9aFd8f496c3d6ac40E2a0F282E47488CFc9', |
|
||||||
abacusConnectionManager: '0x70e0bA845a1A0F2DA3359C97E0285013525FFC49', |
|
||||||
interchainGasPaymaster: '0x998abeb3E57409262aE5b751f60747921B33613E', |
|
||||||
outbox: { |
|
||||||
proxy: '0x95401dc811bb5740090279Ba06cfA8fcF6113778', |
|
||||||
implementation: '0x851356ae760d987E095750cCeb3bC6014560891C', |
|
||||||
beacon: '0xf5059a5D33d5853360D16C683c16e67980206f36', |
|
||||||
validatorManager: '0x1613beB3B2C4f22Ee086B2b38C1476A3cE7f78E8', |
|
||||||
}, |
|
||||||
inboxes: { |
|
||||||
test1: { |
|
||||||
proxy: '0x5eb3Bc0a489C5A8288765d2336659EbCA68FCd00', |
|
||||||
implementation: '0x8f86403A4DE0BB5791fa46B8e795C547942fE4Cf', |
|
||||||
beacon: '0x9d4454B023096f34B160D6B654540c56A1F81688', |
|
||||||
validatorManager: '0x0E801D84Fa97b50751Dbf25036d067dCf18858bF', |
|
||||||
}, |
|
||||||
test2: { |
|
||||||
proxy: '0x809d550fca64d94Bd9F66E60752A544199cfAC3D', |
|
||||||
implementation: '0x8f86403A4DE0BB5791fa46B8e795C547942fE4Cf', |
|
||||||
beacon: '0x9d4454B023096f34B160D6B654540c56A1F81688', |
|
||||||
validatorManager: '0x36C02dA8a0983159322a80FFE9F24b1acfF8B570', |
|
||||||
}, |
|
||||||
}, |
|
||||||
}, |
|
||||||
}; |
|
@ -0,0 +1,493 @@ |
|||||||
|
{ |
||||||
|
"alfajores": { |
||||||
|
"upgradeBeaconController": "0x19Be55D859368e02d7b9C00803Eb677BDC1359Bd", |
||||||
|
"abacusConnectionManager": "0x433f7d6d0cB9eb8FF2902Ad01C1BEd6C09934a33", |
||||||
|
"interchainGasPaymaster": "0x28B02B97a850872C4D33C3E024fab6499ad96564", |
||||||
|
"outbox": { |
||||||
|
"outbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xD0680F80F4f947968206806C2598Cbc5b6FE5b03", |
||||||
|
"implementation": "0x267B6B6eAf6790faE5D5E9070F28a9cE64CbF279", |
||||||
|
"beacon": "0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8" |
||||||
|
}, |
||||||
|
"outboxValidatorManager": "0x5821f3B6eE05F3dC62b43B74AB1C8F8E6904b1C8" |
||||||
|
}, |
||||||
|
"inboxes": { |
||||||
|
"kovan": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x783c4a0bB6663359281aD4a637D5af68F83ae213", |
||||||
|
"implementation": "0x6c13643B3927C57DB92c790E4E3E7Ee81e13f78C", |
||||||
|
"beacon": "0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x1b33611fCc073aB0737011d5512EF673Bff74962" |
||||||
|
}, |
||||||
|
"fuji": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xae7a78916Ba4c507aCB2F0e474ace545Ff4bF841", |
||||||
|
"implementation": "0x6c13643B3927C57DB92c790E4E3E7Ee81e13f78C", |
||||||
|
"beacon": "0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x66b71A4e18FbE09a6977A6520B47fEDdffA82a1c" |
||||||
|
}, |
||||||
|
"mumbai": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xFCc63b537e70652A280c4E7883C5BB5a1700e897", |
||||||
|
"implementation": "0x6c13643B3927C57DB92c790E4E3E7Ee81e13f78C", |
||||||
|
"beacon": "0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x04438ef7622f5412f82915F59caD4f704C61eA48" |
||||||
|
}, |
||||||
|
"bsctestnet": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x51A0a100e7BC63Ea7821A3a023B6F17fb94FF011", |
||||||
|
"implementation": "0x6c13643B3927C57DB92c790E4E3E7Ee81e13f78C", |
||||||
|
"beacon": "0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0xb94F96D398eA5BAB5CA528EE9Fdc19afaA825818" |
||||||
|
}, |
||||||
|
"arbitrumrinkeby": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xe0B988062A0C6492177d64823Ab95a9c256c2a5F", |
||||||
|
"implementation": "0x6c13643B3927C57DB92c790E4E3E7Ee81e13f78C", |
||||||
|
"beacon": "0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0xB057Fb841027a8554521DcCdeC3c3474CaC99AB5" |
||||||
|
}, |
||||||
|
"optimismkovan": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x628BC518ED1e0E8C6cbcD574EbA0ee29e7F6943E", |
||||||
|
"implementation": "0x6c13643B3927C57DB92c790E4E3E7Ee81e13f78C", |
||||||
|
"beacon": "0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0xA2cf52064c921C11adCd83588CbEa08cc3bfF5d8" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"kovan": { |
||||||
|
"upgradeBeaconController": "0xcf5BaaF976C80a66Fa7839715C45788f60041A33", |
||||||
|
"abacusConnectionManager": "0xF7561c34f17A32D5620583A3397C304e7038a7F6", |
||||||
|
"interchainGasPaymaster": "0x07009DA2249c388aD0f416a235AfE90D784e1aAc", |
||||||
|
"outbox": { |
||||||
|
"outbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x98AAE089CaD930C64a76dD2247a2aC5773a4B8cE", |
||||||
|
"implementation": "0x679Dc08cC3A4acFeea2f7CAFAa37561aE0b41Ce7", |
||||||
|
"beacon": "0x4926a10788306D84202A2aDbd290b7743146Cc17" |
||||||
|
}, |
||||||
|
"outboxValidatorManager": "0x58483b754Abb1E8947BE63d6b95DF75b8249543A" |
||||||
|
}, |
||||||
|
"inboxes": { |
||||||
|
"alfajores": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x68311418D79fE8d96599384ED767d225635d88a8", |
||||||
|
"implementation": "0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450", |
||||||
|
"beacon": "0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x5CE550e14B82a9F32A0aaF9eFc4Fce548D8A0B3e" |
||||||
|
}, |
||||||
|
"fuji": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x6b1bb4ce664Bb4164AEB4d3D2E7DE7450DD8084C", |
||||||
|
"implementation": "0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450", |
||||||
|
"beacon": "0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x863E8c26621c52ACa1849C53500606e73BA272F0" |
||||||
|
}, |
||||||
|
"mumbai": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x86fb9F1c124fB20ff130C41a79a432F770f67AFD", |
||||||
|
"implementation": "0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450", |
||||||
|
"beacon": "0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0xAb9B273366D794B7F80B4378bc8Aaca75C6178E2" |
||||||
|
}, |
||||||
|
"bsctestnet": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x5821f3B6eE05F3dC62b43B74AB1C8F8E6904b1C8", |
||||||
|
"implementation": "0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450", |
||||||
|
"beacon": "0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x19Be55D859368e02d7b9C00803Eb677BDC1359Bd" |
||||||
|
}, |
||||||
|
"arbitrumrinkeby": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xD0680F80F4f947968206806C2598Cbc5b6FE5b03", |
||||||
|
"implementation": "0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450", |
||||||
|
"beacon": "0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8" |
||||||
|
}, |
||||||
|
"optimismkovan": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x75f3E2a4f424401195A5E176246Ecc9f7e7680ff", |
||||||
|
"implementation": "0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450", |
||||||
|
"beacon": "0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x433f7d6d0cB9eb8FF2902Ad01C1BEd6C09934a33" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"fuji": { |
||||||
|
"upgradeBeaconController": "0xcf5BaaF976C80a66Fa7839715C45788f60041A33", |
||||||
|
"abacusConnectionManager": "0xF7561c34f17A32D5620583A3397C304e7038a7F6", |
||||||
|
"interchainGasPaymaster": "0x07009DA2249c388aD0f416a235AfE90D784e1aAc", |
||||||
|
"inboxValidatorManagers": {}, |
||||||
|
"outbox": { |
||||||
|
"outbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x98AAE089CaD930C64a76dD2247a2aC5773a4B8cE", |
||||||
|
"implementation": "0x679Dc08cC3A4acFeea2f7CAFAa37561aE0b41Ce7", |
||||||
|
"beacon": "0x4926a10788306D84202A2aDbd290b7743146Cc17" |
||||||
|
}, |
||||||
|
"outboxValidatorManager": "0x58483b754Abb1E8947BE63d6b95DF75b8249543A" |
||||||
|
}, |
||||||
|
"inboxes": { |
||||||
|
"alfajores": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x68311418D79fE8d96599384ED767d225635d88a8", |
||||||
|
"implementation": "0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450", |
||||||
|
"beacon": "0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x5CE550e14B82a9F32A0aaF9eFc4Fce548D8A0B3e" |
||||||
|
}, |
||||||
|
"kovan": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x6b1bb4ce664Bb4164AEB4d3D2E7DE7450DD8084C", |
||||||
|
"implementation": "0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450", |
||||||
|
"beacon": "0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x863E8c26621c52ACa1849C53500606e73BA272F0" |
||||||
|
}, |
||||||
|
"mumbai": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x86fb9F1c124fB20ff130C41a79a432F770f67AFD", |
||||||
|
"implementation": "0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450", |
||||||
|
"beacon": "0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0xAb9B273366D794B7F80B4378bc8Aaca75C6178E2" |
||||||
|
}, |
||||||
|
"bsctestnet": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x5821f3B6eE05F3dC62b43B74AB1C8F8E6904b1C8", |
||||||
|
"implementation": "0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450", |
||||||
|
"beacon": "0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x19Be55D859368e02d7b9C00803Eb677BDC1359Bd" |
||||||
|
}, |
||||||
|
"arbitrumrinkeby": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xD0680F80F4f947968206806C2598Cbc5b6FE5b03", |
||||||
|
"implementation": "0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450", |
||||||
|
"beacon": "0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8" |
||||||
|
}, |
||||||
|
"optimismkovan": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x75f3E2a4f424401195A5E176246Ecc9f7e7680ff", |
||||||
|
"implementation": "0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450", |
||||||
|
"beacon": "0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x433f7d6d0cB9eb8FF2902Ad01C1BEd6C09934a33" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"mumbai": { |
||||||
|
"upgradeBeaconController": "0x6966b0E55883d49BFB24539356a2f8A673E02039", |
||||||
|
"abacusConnectionManager": "0x46f7C5D896bbeC89bE1B19e4485e59b4Be49e9Cc", |
||||||
|
"interchainGasPaymaster": "0xB08d78F439e55D02C398519eef61606A5926245F", |
||||||
|
"outbox": { |
||||||
|
"outbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x33dB966328Ea213b0f76eF96CA368AB37779F065", |
||||||
|
"implementation": "0x589C201a07c26b4725A4A829d772f24423da480B", |
||||||
|
"beacon": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD" |
||||||
|
}, |
||||||
|
"outboxValidatorManager": "0x54148470292C24345fb828B003461a9444414517" |
||||||
|
}, |
||||||
|
"inboxes": { |
||||||
|
"alfajores": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x1D5EbC3e15e9ECDe0e3530C85899556797eeaea5", |
||||||
|
"implementation": "0x7d498740A4572f2B5c6b0A1Ba9d1d9DbE207e89E", |
||||||
|
"beacon": "0x7FE7EA170cf08A25C2ff315814D96D93C311E692" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x304cAb315c93B87AAdb2B826A791b2c1Bf749996" |
||||||
|
}, |
||||||
|
"kovan": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x0526E47C49742C15F8817ef8cf0d8FFc72139D4F", |
||||||
|
"implementation": "0x7d498740A4572f2B5c6b0A1Ba9d1d9DbE207e89E", |
||||||
|
"beacon": "0x7FE7EA170cf08A25C2ff315814D96D93C311E692" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0xfc8d0D2E15A36f1A3F3aE3Cb127B706c1f23Aadc" |
||||||
|
}, |
||||||
|
"fuji": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xef48bd850E5827B96B55C4D28FB32Bbaa73616F2", |
||||||
|
"implementation": "0x7d498740A4572f2B5c6b0A1Ba9d1d9DbE207e89E", |
||||||
|
"beacon": "0x7FE7EA170cf08A25C2ff315814D96D93C311E692" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x666a24F62f7A97BA33c151776Eb3D9441a059eB8" |
||||||
|
}, |
||||||
|
"bsctestnet": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x3C5154a193D6e2955650f9305c8d80c18C814A68", |
||||||
|
"implementation": "0x7d498740A4572f2B5c6b0A1Ba9d1d9DbE207e89E", |
||||||
|
"beacon": "0x7FE7EA170cf08A25C2ff315814D96D93C311E692" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x7914A3349107A7295Bbf2374db5A973d73D1b324" |
||||||
|
}, |
||||||
|
"arbitrumrinkeby": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x05Ea36Caee7d92C173334C9D97DcD39ABdCB2b69", |
||||||
|
"implementation": "0x7d498740A4572f2B5c6b0A1Ba9d1d9DbE207e89E", |
||||||
|
"beacon": "0x7FE7EA170cf08A25C2ff315814D96D93C311E692" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x5d56B8a669F50193b54319442c6EEE5edD662381" |
||||||
|
}, |
||||||
|
"optimismkovan": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x679Dc08cC3A4acFeea2f7CAFAa37561aE0b41Ce7", |
||||||
|
"implementation": "0x7d498740A4572f2B5c6b0A1Ba9d1d9DbE207e89E", |
||||||
|
"beacon": "0x7FE7EA170cf08A25C2ff315814D96D93C311E692" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x58483b754Abb1E8947BE63d6b95DF75b8249543A" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"bsctestnet": { |
||||||
|
"upgradeBeaconController": "0x6E7b29CB2A7617405B4d30C6f84bBD51b4Bb4be8", |
||||||
|
"abacusConnectionManager": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", |
||||||
|
"interchainGasPaymaster": "0x44b764045BfDC68517e10e783E69B376cef196B2", |
||||||
|
"outbox": { |
||||||
|
"outbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x16B710b86CAd07E6F1C531861a16F5feC29dba37", |
||||||
|
"implementation": "0x275aCcCa81cAD931dC6fB6E49ED233Bc99Bed4A7", |
||||||
|
"beacon": "0xeb6f11189197223c656807a83B0DD374f9A6dF44" |
||||||
|
}, |
||||||
|
"outboxValidatorManager": "0xfc6e546510dC9d76057F1f76633FCFfC188CB213" |
||||||
|
}, |
||||||
|
"inboxes": { |
||||||
|
"alfajores": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xB08d78F439e55D02C398519eef61606A5926245F", |
||||||
|
"implementation": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", |
||||||
|
"beacon": "0x33dB966328Ea213b0f76eF96CA368AB37779F065" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x589C201a07c26b4725A4A829d772f24423da480B" |
||||||
|
}, |
||||||
|
"kovan": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xD3d062a5dcBA85ae863618d4c264d2358300c283", |
||||||
|
"implementation": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", |
||||||
|
"beacon": "0x33dB966328Ea213b0f76eF96CA368AB37779F065" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x833Dad7FF66884389D5F0cEcba446ffaa7d2837e" |
||||||
|
}, |
||||||
|
"fuji": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x7FE7EA170cf08A25C2ff315814D96D93C311E692", |
||||||
|
"implementation": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", |
||||||
|
"beacon": "0x33dB966328Ea213b0f76eF96CA368AB37779F065" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x7d498740A4572f2B5c6b0A1Ba9d1d9DbE207e89E" |
||||||
|
}, |
||||||
|
"mumbai": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xfc8d0D2E15A36f1A3F3aE3Cb127B706c1f23Aadc", |
||||||
|
"implementation": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", |
||||||
|
"beacon": "0x33dB966328Ea213b0f76eF96CA368AB37779F065" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0xF7F0DaB0BECE4498dAc7eb616e288809D4499371" |
||||||
|
}, |
||||||
|
"arbitrumrinkeby": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x666a24F62f7A97BA33c151776Eb3D9441a059eB8", |
||||||
|
"implementation": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", |
||||||
|
"beacon": "0x33dB966328Ea213b0f76eF96CA368AB37779F065" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0xd785272D240B07719e417622cbd2cfA0E584d1bd" |
||||||
|
}, |
||||||
|
"optimismkovan": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x7914A3349107A7295Bbf2374db5A973d73D1b324", |
||||||
|
"implementation": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", |
||||||
|
"beacon": "0x33dB966328Ea213b0f76eF96CA368AB37779F065" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x598facE78a4302f11E3de0bee1894Da0b2Cb71F8" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"arbitrumrinkeby": { |
||||||
|
"upgradeBeaconController": "0x6E7b29CB2A7617405B4d30C6f84bBD51b4Bb4be8", |
||||||
|
"abacusConnectionManager": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", |
||||||
|
"interchainGasPaymaster": "0x44b764045BfDC68517e10e783E69B376cef196B2", |
||||||
|
"outbox": { |
||||||
|
"outbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x16B710b86CAd07E6F1C531861a16F5feC29dba37", |
||||||
|
"implementation": "0x275aCcCa81cAD931dC6fB6E49ED233Bc99Bed4A7", |
||||||
|
"beacon": "0xeb6f11189197223c656807a83B0DD374f9A6dF44" |
||||||
|
}, |
||||||
|
"outboxValidatorManager": "0xfc6e546510dC9d76057F1f76633FCFfC188CB213" |
||||||
|
}, |
||||||
|
"inboxes": { |
||||||
|
"alfajores": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xB08d78F439e55D02C398519eef61606A5926245F", |
||||||
|
"implementation": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", |
||||||
|
"beacon": "0x33dB966328Ea213b0f76eF96CA368AB37779F065" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x589C201a07c26b4725A4A829d772f24423da480B" |
||||||
|
}, |
||||||
|
"kovan": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xD3d062a5dcBA85ae863618d4c264d2358300c283", |
||||||
|
"implementation": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", |
||||||
|
"beacon": "0x33dB966328Ea213b0f76eF96CA368AB37779F065" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x833Dad7FF66884389D5F0cEcba446ffaa7d2837e" |
||||||
|
}, |
||||||
|
"fuji": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x7FE7EA170cf08A25C2ff315814D96D93C311E692", |
||||||
|
"implementation": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", |
||||||
|
"beacon": "0x33dB966328Ea213b0f76eF96CA368AB37779F065" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x7d498740A4572f2B5c6b0A1Ba9d1d9DbE207e89E" |
||||||
|
}, |
||||||
|
"mumbai": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xfc8d0D2E15A36f1A3F3aE3Cb127B706c1f23Aadc", |
||||||
|
"implementation": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", |
||||||
|
"beacon": "0x33dB966328Ea213b0f76eF96CA368AB37779F065" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0xF7F0DaB0BECE4498dAc7eb616e288809D4499371" |
||||||
|
}, |
||||||
|
"bsctestnet": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x666a24F62f7A97BA33c151776Eb3D9441a059eB8", |
||||||
|
"implementation": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", |
||||||
|
"beacon": "0x33dB966328Ea213b0f76eF96CA368AB37779F065" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0xd785272D240B07719e417622cbd2cfA0E584d1bd" |
||||||
|
}, |
||||||
|
"optimismkovan": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x7914A3349107A7295Bbf2374db5A973d73D1b324", |
||||||
|
"implementation": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", |
||||||
|
"beacon": "0x33dB966328Ea213b0f76eF96CA368AB37779F065" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x598facE78a4302f11E3de0bee1894Da0b2Cb71F8" |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"optimismkovan": { |
||||||
|
"upgradeBeaconController": "0x6E7b29CB2A7617405B4d30C6f84bBD51b4Bb4be8", |
||||||
|
"abacusConnectionManager": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", |
||||||
|
"interchainGasPaymaster": "0x44b764045BfDC68517e10e783E69B376cef196B2", |
||||||
|
"outbox": { |
||||||
|
"outbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x16B710b86CAd07E6F1C531861a16F5feC29dba37", |
||||||
|
"implementation": "0x275aCcCa81cAD931dC6fB6E49ED233Bc99Bed4A7", |
||||||
|
"beacon": "0xeb6f11189197223c656807a83B0DD374f9A6dF44" |
||||||
|
}, |
||||||
|
"outboxValidatorManager": "0xfc6e546510dC9d76057F1f76633FCFfC188CB213" |
||||||
|
}, |
||||||
|
"inboxes": { |
||||||
|
"alfajores": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xB08d78F439e55D02C398519eef61606A5926245F", |
||||||
|
"implementation": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", |
||||||
|
"beacon": "0x33dB966328Ea213b0f76eF96CA368AB37779F065" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x589C201a07c26b4725A4A829d772f24423da480B" |
||||||
|
}, |
||||||
|
"kovan": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xD3d062a5dcBA85ae863618d4c264d2358300c283", |
||||||
|
"implementation": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", |
||||||
|
"beacon": "0x33dB966328Ea213b0f76eF96CA368AB37779F065" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x833Dad7FF66884389D5F0cEcba446ffaa7d2837e" |
||||||
|
}, |
||||||
|
"fuji": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x7FE7EA170cf08A25C2ff315814D96D93C311E692", |
||||||
|
"implementation": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", |
||||||
|
"beacon": "0x33dB966328Ea213b0f76eF96CA368AB37779F065" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x7d498740A4572f2B5c6b0A1Ba9d1d9DbE207e89E" |
||||||
|
}, |
||||||
|
"mumbai": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0xfc8d0D2E15A36f1A3F3aE3Cb127B706c1f23Aadc", |
||||||
|
"implementation": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", |
||||||
|
"beacon": "0x33dB966328Ea213b0f76eF96CA368AB37779F065" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0xF7F0DaB0BECE4498dAc7eb616e288809D4499371" |
||||||
|
}, |
||||||
|
"bsctestnet": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x666a24F62f7A97BA33c151776Eb3D9441a059eB8", |
||||||
|
"implementation": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", |
||||||
|
"beacon": "0x33dB966328Ea213b0f76eF96CA368AB37779F065" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0xd785272D240B07719e417622cbd2cfA0E584d1bd" |
||||||
|
}, |
||||||
|
"arbitrumrinkeby": { |
||||||
|
"inbox": { |
||||||
|
"kind": "UpgradeBeacon", |
||||||
|
"proxy": "0x7914A3349107A7295Bbf2374db5A973d73D1b324", |
||||||
|
"implementation": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", |
||||||
|
"beacon": "0x33dB966328Ea213b0f76eF96CA368AB37779F065" |
||||||
|
}, |
||||||
|
"inboxValidatorManager": "0x598facE78a4302f11E3de0bee1894Da0b2Cb71F8" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -1,346 +0,0 @@ |
|||||||
export const addresses = { |
|
||||||
alfajores: { |
|
||||||
upgradeBeaconController: '0x19Be55D859368e02d7b9C00803Eb677BDC1359Bd', |
|
||||||
abacusConnectionManager: '0x433f7d6d0cB9eb8FF2902Ad01C1BEd6C09934a33', |
|
||||||
interchainGasPaymaster: '0x28B02B97a850872C4D33C3E024fab6499ad96564', |
|
||||||
outbox: { |
|
||||||
validatorManager: '0x5821f3B6eE05F3dC62b43B74AB1C8F8E6904b1C8', |
|
||||||
proxy: '0xD0680F80F4f947968206806C2598Cbc5b6FE5b03', |
|
||||||
implementation: '0x267B6B6eAf6790faE5D5E9070F28a9cE64CbF279', |
|
||||||
beacon: '0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8', |
|
||||||
}, |
|
||||||
inboxes: { |
|
||||||
kovan: { |
|
||||||
validatorManager: '0x1b33611fCc073aB0737011d5512EF673Bff74962', |
|
||||||
proxy: '0x783c4a0bB6663359281aD4a637D5af68F83ae213', |
|
||||||
implementation: '0x6c13643B3927C57DB92c790E4E3E7Ee81e13f78C', |
|
||||||
beacon: '0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9', |
|
||||||
}, |
|
||||||
fuji: { |
|
||||||
validatorManager: '0x66b71A4e18FbE09a6977A6520B47fEDdffA82a1c', |
|
||||||
proxy: '0xae7a78916Ba4c507aCB2F0e474ace545Ff4bF841', |
|
||||||
implementation: '0x6c13643B3927C57DB92c790E4E3E7Ee81e13f78C', |
|
||||||
beacon: '0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9', |
|
||||||
}, |
|
||||||
mumbai: { |
|
||||||
validatorManager: '0x04438ef7622f5412f82915F59caD4f704C61eA48', |
|
||||||
proxy: '0xFCc63b537e70652A280c4E7883C5BB5a1700e897', |
|
||||||
implementation: '0x6c13643B3927C57DB92c790E4E3E7Ee81e13f78C', |
|
||||||
beacon: '0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9', |
|
||||||
}, |
|
||||||
bsctestnet: { |
|
||||||
validatorManager: '0xb94F96D398eA5BAB5CA528EE9Fdc19afaA825818', |
|
||||||
proxy: '0x51A0a100e7BC63Ea7821A3a023B6F17fb94FF011', |
|
||||||
implementation: '0x6c13643B3927C57DB92c790E4E3E7Ee81e13f78C', |
|
||||||
beacon: '0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9', |
|
||||||
}, |
|
||||||
arbitrumrinkeby: { |
|
||||||
validatorManager: '0xB057Fb841027a8554521DcCdeC3c3474CaC99AB5', |
|
||||||
proxy: '0xe0B988062A0C6492177d64823Ab95a9c256c2a5F', |
|
||||||
implementation: '0x6c13643B3927C57DB92c790E4E3E7Ee81e13f78C', |
|
||||||
beacon: '0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9', |
|
||||||
}, |
|
||||||
optimismkovan: { |
|
||||||
validatorManager: '0xA2cf52064c921C11adCd83588CbEa08cc3bfF5d8', |
|
||||||
proxy: '0x628BC518ED1e0E8C6cbcD574EbA0ee29e7F6943E', |
|
||||||
implementation: '0x6c13643B3927C57DB92c790E4E3E7Ee81e13f78C', |
|
||||||
beacon: '0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9', |
|
||||||
}, |
|
||||||
}, |
|
||||||
}, |
|
||||||
kovan: { |
|
||||||
upgradeBeaconController: '0xcf5BaaF976C80a66Fa7839715C45788f60041A33', |
|
||||||
abacusConnectionManager: '0xF7561c34f17A32D5620583A3397C304e7038a7F6', |
|
||||||
interchainGasPaymaster: '0x07009DA2249c388aD0f416a235AfE90D784e1aAc', |
|
||||||
outbox: { |
|
||||||
validatorManager: '0x58483b754Abb1E8947BE63d6b95DF75b8249543A', |
|
||||||
proxy: '0x98AAE089CaD930C64a76dD2247a2aC5773a4B8cE', |
|
||||||
implementation: '0x679Dc08cC3A4acFeea2f7CAFAa37561aE0b41Ce7', |
|
||||||
beacon: '0x4926a10788306D84202A2aDbd290b7743146Cc17', |
|
||||||
}, |
|
||||||
inboxes: { |
|
||||||
alfajores: { |
|
||||||
validatorManager: '0x5CE550e14B82a9F32A0aaF9eFc4Fce548D8A0B3e', |
|
||||||
proxy: '0x68311418D79fE8d96599384ED767d225635d88a8', |
|
||||||
implementation: '0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450', |
|
||||||
beacon: '0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9', |
|
||||||
}, |
|
||||||
fuji: { |
|
||||||
validatorManager: '0x863E8c26621c52ACa1849C53500606e73BA272F0', |
|
||||||
proxy: '0x6b1bb4ce664Bb4164AEB4d3D2E7DE7450DD8084C', |
|
||||||
implementation: '0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450', |
|
||||||
beacon: '0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9', |
|
||||||
}, |
|
||||||
mumbai: { |
|
||||||
validatorManager: '0xAb9B273366D794B7F80B4378bc8Aaca75C6178E2', |
|
||||||
proxy: '0x86fb9F1c124fB20ff130C41a79a432F770f67AFD', |
|
||||||
implementation: '0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450', |
|
||||||
beacon: '0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9', |
|
||||||
}, |
|
||||||
bsctestnet: { |
|
||||||
validatorManager: '0x19Be55D859368e02d7b9C00803Eb677BDC1359Bd', |
|
||||||
proxy: '0x5821f3B6eE05F3dC62b43B74AB1C8F8E6904b1C8', |
|
||||||
implementation: '0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450', |
|
||||||
beacon: '0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9', |
|
||||||
}, |
|
||||||
arbitrumrinkeby: { |
|
||||||
validatorManager: '0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8', |
|
||||||
proxy: '0xD0680F80F4f947968206806C2598Cbc5b6FE5b03', |
|
||||||
implementation: '0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450', |
|
||||||
beacon: '0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9', |
|
||||||
}, |
|
||||||
optimismkovan: { |
|
||||||
validatorManager: '0x433f7d6d0cB9eb8FF2902Ad01C1BEd6C09934a33', |
|
||||||
proxy: '0x75f3E2a4f424401195A5E176246Ecc9f7e7680ff', |
|
||||||
implementation: '0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450', |
|
||||||
beacon: '0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9', |
|
||||||
}, |
|
||||||
}, |
|
||||||
}, |
|
||||||
fuji: { |
|
||||||
upgradeBeaconController: '0xcf5BaaF976C80a66Fa7839715C45788f60041A33', |
|
||||||
abacusConnectionManager: '0xF7561c34f17A32D5620583A3397C304e7038a7F6', |
|
||||||
interchainGasPaymaster: '0x07009DA2249c388aD0f416a235AfE90D784e1aAc', |
|
||||||
inboxValidatorManagers: {}, |
|
||||||
outbox: { |
|
||||||
validatorManager: '0x58483b754Abb1E8947BE63d6b95DF75b8249543A', |
|
||||||
proxy: '0x98AAE089CaD930C64a76dD2247a2aC5773a4B8cE', |
|
||||||
implementation: '0x679Dc08cC3A4acFeea2f7CAFAa37561aE0b41Ce7', |
|
||||||
beacon: '0x4926a10788306D84202A2aDbd290b7743146Cc17', |
|
||||||
}, |
|
||||||
inboxes: { |
|
||||||
alfajores: { |
|
||||||
validatorManager: '0x5CE550e14B82a9F32A0aaF9eFc4Fce548D8A0B3e', |
|
||||||
proxy: '0x68311418D79fE8d96599384ED767d225635d88a8', |
|
||||||
implementation: '0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450', |
|
||||||
beacon: '0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9', |
|
||||||
}, |
|
||||||
kovan: { |
|
||||||
validatorManager: '0x863E8c26621c52ACa1849C53500606e73BA272F0', |
|
||||||
proxy: '0x6b1bb4ce664Bb4164AEB4d3D2E7DE7450DD8084C', |
|
||||||
implementation: '0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450', |
|
||||||
beacon: '0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9', |
|
||||||
}, |
|
||||||
mumbai: { |
|
||||||
validatorManager: '0xAb9B273366D794B7F80B4378bc8Aaca75C6178E2', |
|
||||||
proxy: '0x86fb9F1c124fB20ff130C41a79a432F770f67AFD', |
|
||||||
implementation: '0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450', |
|
||||||
beacon: '0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9', |
|
||||||
}, |
|
||||||
bsctestnet: { |
|
||||||
validatorManager: '0x19Be55D859368e02d7b9C00803Eb677BDC1359Bd', |
|
||||||
proxy: '0x5821f3B6eE05F3dC62b43B74AB1C8F8E6904b1C8', |
|
||||||
implementation: '0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450', |
|
||||||
beacon: '0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9', |
|
||||||
}, |
|
||||||
arbitrumrinkeby: { |
|
||||||
validatorManager: '0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8', |
|
||||||
proxy: '0xD0680F80F4f947968206806C2598Cbc5b6FE5b03', |
|
||||||
implementation: '0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450', |
|
||||||
beacon: '0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9', |
|
||||||
}, |
|
||||||
optimismkovan: { |
|
||||||
validatorManager: '0x433f7d6d0cB9eb8FF2902Ad01C1BEd6C09934a33', |
|
||||||
proxy: '0x75f3E2a4f424401195A5E176246Ecc9f7e7680ff', |
|
||||||
implementation: '0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450', |
|
||||||
beacon: '0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9', |
|
||||||
}, |
|
||||||
}, |
|
||||||
}, |
|
||||||
mumbai: { |
|
||||||
upgradeBeaconController: '0x6966b0E55883d49BFB24539356a2f8A673E02039', |
|
||||||
abacusConnectionManager: '0x46f7C5D896bbeC89bE1B19e4485e59b4Be49e9Cc', |
|
||||||
interchainGasPaymaster: '0xB08d78F439e55D02C398519eef61606A5926245F', |
|
||||||
outbox: { |
|
||||||
validatorManager: '0x54148470292C24345fb828B003461a9444414517', |
|
||||||
proxy: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
implementation: '0x589C201a07c26b4725A4A829d772f24423da480B', |
|
||||||
beacon: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
}, |
|
||||||
inboxes: { |
|
||||||
alfajores: { |
|
||||||
validatorManager: '0x304cAb315c93B87AAdb2B826A791b2c1Bf749996', |
|
||||||
proxy: '0x1D5EbC3e15e9ECDe0e3530C85899556797eeaea5', |
|
||||||
implementation: '0x7d498740A4572f2B5c6b0A1Ba9d1d9DbE207e89E', |
|
||||||
beacon: '0x7FE7EA170cf08A25C2ff315814D96D93C311E692', |
|
||||||
}, |
|
||||||
kovan: { |
|
||||||
validatorManager: '0xfc8d0D2E15A36f1A3F3aE3Cb127B706c1f23Aadc', |
|
||||||
proxy: '0x0526E47C49742C15F8817ef8cf0d8FFc72139D4F', |
|
||||||
implementation: '0x7d498740A4572f2B5c6b0A1Ba9d1d9DbE207e89E', |
|
||||||
beacon: '0x7FE7EA170cf08A25C2ff315814D96D93C311E692', |
|
||||||
}, |
|
||||||
fuji: { |
|
||||||
validatorManager: '0x666a24F62f7A97BA33c151776Eb3D9441a059eB8', |
|
||||||
proxy: '0xef48bd850E5827B96B55C4D28FB32Bbaa73616F2', |
|
||||||
implementation: '0x7d498740A4572f2B5c6b0A1Ba9d1d9DbE207e89E', |
|
||||||
beacon: '0x7FE7EA170cf08A25C2ff315814D96D93C311E692', |
|
||||||
}, |
|
||||||
bsctestnet: { |
|
||||||
validatorManager: '0x7914A3349107A7295Bbf2374db5A973d73D1b324', |
|
||||||
proxy: '0x3C5154a193D6e2955650f9305c8d80c18C814A68', |
|
||||||
implementation: '0x7d498740A4572f2B5c6b0A1Ba9d1d9DbE207e89E', |
|
||||||
beacon: '0x7FE7EA170cf08A25C2ff315814D96D93C311E692', |
|
||||||
}, |
|
||||||
arbitrumrinkeby: { |
|
||||||
validatorManager: '0x5d56B8a669F50193b54319442c6EEE5edD662381', |
|
||||||
proxy: '0x05Ea36Caee7d92C173334C9D97DcD39ABdCB2b69', |
|
||||||
implementation: '0x7d498740A4572f2B5c6b0A1Ba9d1d9DbE207e89E', |
|
||||||
beacon: '0x7FE7EA170cf08A25C2ff315814D96D93C311E692', |
|
||||||
}, |
|
||||||
optimismkovan: { |
|
||||||
validatorManager: '0x58483b754Abb1E8947BE63d6b95DF75b8249543A', |
|
||||||
proxy: '0x679Dc08cC3A4acFeea2f7CAFAa37561aE0b41Ce7', |
|
||||||
implementation: '0x7d498740A4572f2B5c6b0A1Ba9d1d9DbE207e89E', |
|
||||||
beacon: '0x7FE7EA170cf08A25C2ff315814D96D93C311E692', |
|
||||||
}, |
|
||||||
}, |
|
||||||
}, |
|
||||||
bsctestnet: { |
|
||||||
upgradeBeaconController: '0x6E7b29CB2A7617405B4d30C6f84bBD51b4Bb4be8', |
|
||||||
abacusConnectionManager: '0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2', |
|
||||||
interchainGasPaymaster: '0x44b764045BfDC68517e10e783E69B376cef196B2', |
|
||||||
outbox: { |
|
||||||
validatorManager: '0xfc6e546510dC9d76057F1f76633FCFfC188CB213', |
|
||||||
proxy: '0x16B710b86CAd07E6F1C531861a16F5feC29dba37', |
|
||||||
implementation: '0x275aCcCa81cAD931dC6fB6E49ED233Bc99Bed4A7', |
|
||||||
beacon: '0xeb6f11189197223c656807a83B0DD374f9A6dF44', |
|
||||||
}, |
|
||||||
inboxes: { |
|
||||||
alfajores: { |
|
||||||
validatorManager: '0x589C201a07c26b4725A4A829d772f24423da480B', |
|
||||||
proxy: '0xB08d78F439e55D02C398519eef61606A5926245F', |
|
||||||
implementation: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
beacon: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
}, |
|
||||||
kovan: { |
|
||||||
validatorManager: '0x833Dad7FF66884389D5F0cEcba446ffaa7d2837e', |
|
||||||
proxy: '0xD3d062a5dcBA85ae863618d4c264d2358300c283', |
|
||||||
implementation: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
beacon: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
}, |
|
||||||
fuji: { |
|
||||||
validatorManager: '0x7d498740A4572f2B5c6b0A1Ba9d1d9DbE207e89E', |
|
||||||
proxy: '0x7FE7EA170cf08A25C2ff315814D96D93C311E692', |
|
||||||
implementation: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
beacon: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
}, |
|
||||||
mumbai: { |
|
||||||
validatorManager: '0xF7F0DaB0BECE4498dAc7eb616e288809D4499371', |
|
||||||
proxy: '0xfc8d0D2E15A36f1A3F3aE3Cb127B706c1f23Aadc', |
|
||||||
implementation: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
beacon: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
}, |
|
||||||
arbitrumrinkeby: { |
|
||||||
validatorManager: '0xd785272D240B07719e417622cbd2cfA0E584d1bd', |
|
||||||
proxy: '0x666a24F62f7A97BA33c151776Eb3D9441a059eB8', |
|
||||||
implementation: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
beacon: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
}, |
|
||||||
optimismkovan: { |
|
||||||
validatorManager: '0x598facE78a4302f11E3de0bee1894Da0b2Cb71F8', |
|
||||||
proxy: '0x7914A3349107A7295Bbf2374db5A973d73D1b324', |
|
||||||
implementation: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
beacon: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
}, |
|
||||||
}, |
|
||||||
}, |
|
||||||
arbitrumrinkeby: { |
|
||||||
upgradeBeaconController: '0x6E7b29CB2A7617405B4d30C6f84bBD51b4Bb4be8', |
|
||||||
abacusConnectionManager: '0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2', |
|
||||||
interchainGasPaymaster: '0x44b764045BfDC68517e10e783E69B376cef196B2', |
|
||||||
outbox: { |
|
||||||
validatorManager: '0xfc6e546510dC9d76057F1f76633FCFfC188CB213', |
|
||||||
proxy: '0x16B710b86CAd07E6F1C531861a16F5feC29dba37', |
|
||||||
implementation: '0x275aCcCa81cAD931dC6fB6E49ED233Bc99Bed4A7', |
|
||||||
beacon: '0xeb6f11189197223c656807a83B0DD374f9A6dF44', |
|
||||||
}, |
|
||||||
inboxes: { |
|
||||||
alfajores: { |
|
||||||
validatorManager: '0x589C201a07c26b4725A4A829d772f24423da480B', |
|
||||||
proxy: '0xB08d78F439e55D02C398519eef61606A5926245F', |
|
||||||
implementation: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
beacon: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
}, |
|
||||||
kovan: { |
|
||||||
validatorManager: '0x833Dad7FF66884389D5F0cEcba446ffaa7d2837e', |
|
||||||
proxy: '0xD3d062a5dcBA85ae863618d4c264d2358300c283', |
|
||||||
implementation: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
beacon: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
}, |
|
||||||
fuji: { |
|
||||||
validatorManager: '0x7d498740A4572f2B5c6b0A1Ba9d1d9DbE207e89E', |
|
||||||
proxy: '0x7FE7EA170cf08A25C2ff315814D96D93C311E692', |
|
||||||
implementation: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
beacon: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
}, |
|
||||||
mumbai: { |
|
||||||
validatorManager: '0xF7F0DaB0BECE4498dAc7eb616e288809D4499371', |
|
||||||
proxy: '0xfc8d0D2E15A36f1A3F3aE3Cb127B706c1f23Aadc', |
|
||||||
implementation: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
beacon: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
}, |
|
||||||
bsctestnet: { |
|
||||||
validatorManager: '0xd785272D240B07719e417622cbd2cfA0E584d1bd', |
|
||||||
proxy: '0x666a24F62f7A97BA33c151776Eb3D9441a059eB8', |
|
||||||
implementation: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
beacon: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
}, |
|
||||||
optimismkovan: { |
|
||||||
validatorManager: '0x598facE78a4302f11E3de0bee1894Da0b2Cb71F8', |
|
||||||
proxy: '0x7914A3349107A7295Bbf2374db5A973d73D1b324', |
|
||||||
implementation: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
beacon: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
}, |
|
||||||
}, |
|
||||||
}, |
|
||||||
optimismkovan: { |
|
||||||
upgradeBeaconController: '0x6E7b29CB2A7617405B4d30C6f84bBD51b4Bb4be8', |
|
||||||
abacusConnectionManager: '0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2', |
|
||||||
interchainGasPaymaster: '0x44b764045BfDC68517e10e783E69B376cef196B2', |
|
||||||
outbox: { |
|
||||||
validatorManager: '0xfc6e546510dC9d76057F1f76633FCFfC188CB213', |
|
||||||
proxy: '0x16B710b86CAd07E6F1C531861a16F5feC29dba37', |
|
||||||
implementation: '0x275aCcCa81cAD931dC6fB6E49ED233Bc99Bed4A7', |
|
||||||
beacon: '0xeb6f11189197223c656807a83B0DD374f9A6dF44', |
|
||||||
}, |
|
||||||
inboxes: { |
|
||||||
alfajores: { |
|
||||||
validatorManager: '0x589C201a07c26b4725A4A829d772f24423da480B', |
|
||||||
proxy: '0xB08d78F439e55D02C398519eef61606A5926245F', |
|
||||||
implementation: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
beacon: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
}, |
|
||||||
kovan: { |
|
||||||
validatorManager: '0x833Dad7FF66884389D5F0cEcba446ffaa7d2837e', |
|
||||||
proxy: '0xD3d062a5dcBA85ae863618d4c264d2358300c283', |
|
||||||
implementation: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
beacon: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
}, |
|
||||||
fuji: { |
|
||||||
validatorManager: '0x7d498740A4572f2B5c6b0A1Ba9d1d9DbE207e89E', |
|
||||||
proxy: '0x7FE7EA170cf08A25C2ff315814D96D93C311E692', |
|
||||||
implementation: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
beacon: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
}, |
|
||||||
mumbai: { |
|
||||||
validatorManager: '0xF7F0DaB0BECE4498dAc7eb616e288809D4499371', |
|
||||||
proxy: '0xfc8d0D2E15A36f1A3F3aE3Cb127B706c1f23Aadc', |
|
||||||
implementation: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
beacon: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
}, |
|
||||||
bsctestnet: { |
|
||||||
validatorManager: '0xd785272D240B07719e417622cbd2cfA0E584d1bd', |
|
||||||
proxy: '0x666a24F62f7A97BA33c151776Eb3D9441a059eB8', |
|
||||||
implementation: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
beacon: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
}, |
|
||||||
arbitrumrinkeby: { |
|
||||||
validatorManager: '0x598facE78a4302f11E3de0bee1894Da0b2Cb71F8', |
|
||||||
proxy: '0x7914A3349107A7295Bbf2374db5A973d73D1b324', |
|
||||||
implementation: '0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD', |
|
||||||
beacon: '0x33dB966328Ea213b0f76eF96CA368AB37779F065', |
|
||||||
}, |
|
||||||
}, |
|
||||||
}, |
|
||||||
}; |
|
@ -0,0 +1,49 @@ |
|||||||
|
import { Contract } from 'ethers'; |
||||||
|
|
||||||
|
import { types } from '@abacus-network/utils'; |
||||||
|
|
||||||
|
import { Connection } from './types'; |
||||||
|
|
||||||
|
export enum ProxyKind { |
||||||
|
UpgradeBeacon = 'UpgradeBeacon', |
||||||
|
} |
||||||
|
|
||||||
|
export interface ProxyAddresses<Kind extends ProxyKind> { |
||||||
|
kind: Kind; |
||||||
|
proxy: types.Address; |
||||||
|
implementation: types.Address; |
||||||
|
} |
||||||
|
|
||||||
|
export function isProxyAddresses( |
||||||
|
addresses: object, |
||||||
|
): addresses is ProxyAddresses<any> { |
||||||
|
return ( |
||||||
|
'proxy' in addresses && |
||||||
|
'implementation' in addresses && |
||||||
|
'kind' in addresses && |
||||||
|
Object.keys(ProxyKind).includes((addresses as any).kind) |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
export interface BeaconProxyAddresses |
||||||
|
extends ProxyAddresses<ProxyKind.UpgradeBeacon> { |
||||||
|
beacon: types.Address; |
||||||
|
} |
||||||
|
|
||||||
|
export class ProxiedContract< |
||||||
|
C extends Contract, |
||||||
|
A extends ProxyAddresses<any>, |
||||||
|
> { |
||||||
|
constructor(public readonly contract: C, public readonly addresses: A) {} |
||||||
|
|
||||||
|
get address(): string { |
||||||
|
return this.contract.address; |
||||||
|
} |
||||||
|
|
||||||
|
connect(connection: Connection): ProxiedContract<C, A> { |
||||||
|
return new ProxiedContract( |
||||||
|
this.contract.connect(connection) as C, |
||||||
|
this.addresses, |
||||||
|
); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
import { Router, Router__factory } from '@abacus-network/app'; |
||||||
|
import { |
||||||
|
AbacusConnectionManager, |
||||||
|
AbacusConnectionManager__factory, |
||||||
|
} from '@abacus-network/core'; |
||||||
|
|
||||||
|
import { AbacusContracts, AbacusFactories } from './contracts'; |
||||||
|
|
||||||
|
export type RouterContracts<RouterContract extends Router = Router> = |
||||||
|
AbacusContracts & { |
||||||
|
router: RouterContract; |
||||||
|
abacusConnectionManager: AbacusConnectionManager; |
||||||
|
}; |
||||||
|
|
||||||
|
export type RouterFactories< |
||||||
|
RouterFactory extends Router__factory = Router__factory, |
||||||
|
> = AbacusFactories & { |
||||||
|
router: RouterFactory; |
||||||
|
abacusConnectionManager: AbacusConnectionManager__factory; |
||||||
|
}; |
Loading…
Reference in new issue