@@ -3,20 +3,21 @@ import { tokens } from "@wormhole-foundation/sdk-base";
3
3
import type { ChainAddress , UniversalOrNative } from "./address.js" ;
4
4
import { toNative } from "./address.js" ;
5
5
import type { WormholeMessageId } from "./attestation.js" ;
6
- import type { PlatformContext } from "./platform.js" ;
7
- import type { ProtocolImplementation , ProtocolName } from "./protocol.js" ;
8
- import { protocolIsRegistered } from "./protocol.js" ;
9
- import type { AutomaticTokenBridge , TokenBridge } from "./protocols/tokenBridge/tokenBridge.js" ;
10
- import type { RpcConnection } from "./rpc.js" ;
11
- import type { ChainConfig , SignedTx , TokenAddress , TokenId } from "./types.js" ;
12
- import { canonicalAddress , isNative } from "./types.js" ;
13
6
import {
14
7
AutomaticCircleBridge ,
15
8
CircleBridge ,
9
+ Contracts ,
16
10
IbcBridge ,
17
11
PorticoBridge ,
18
12
WormholeCore ,
19
13
} from "./index.js" ;
14
+ import type { PlatformContext } from "./platform.js" ;
15
+ import type { ProtocolImplementation , ProtocolName } from "./protocol.js" ;
16
+ import { protocolIsRegistered } from "./protocol.js" ;
17
+ import type { AutomaticTokenBridge , TokenBridge } from "./protocols/tokenBridge/tokenBridge.js" ;
18
+ import type { RpcConnection } from "./rpc.js" ;
19
+ import type { ChainConfig , SignedTx , TokenAddress , TokenId } from "./types.js" ;
20
+ import { canonicalAddress , isNative } from "./types.js" ;
20
21
21
22
/**
22
23
* A ChainContext provides a consistent interface for interacting with a chain.
@@ -194,14 +195,15 @@ export abstract class ChainContext<
194
195
*/
195
196
async getProtocol < PN extends ProtocolName > (
196
197
protocolName : ProtocolName ,
198
+ contracts : Contracts = this . config . contracts ,
197
199
rpc ?: RpcConnection < P > ,
198
200
) : Promise < ProtocolImplementation < P , PN > > {
199
201
if ( ! this . protocols . has ( protocolName ) ) {
200
202
const ctor = this . platform . getProtocolInitializer ( protocolName ) ;
201
203
202
204
const protocol = rpc
203
205
? await this . platform . getProtocol ( protocolName , rpc )
204
- : new ctor ( this . network , this . chain , await this . getRpc ( ) , this . config . contracts ) ;
206
+ : new ctor ( this . network , this . chain , await this . getRpc ( ) , contracts ) ;
205
207
206
208
this . protocols . set ( protocolName , protocol ) ;
207
209
}
0 commit comments