Skip to content
This repository was archived by the owner on Jun 16, 2025. It is now read-only.

Commit 132225f

Browse files
authored
SDK: Remove certusone dependency (#131)
1 parent d5819b3 commit 132225f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1265
-2639
lines changed

evm/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,11 @@
1313
"generate": "typechain --target=ethers-v5 --out-dir=ts/src/types out/*/*.json"
1414
},
1515
"dependencies": {
16-
"@certusone/wormhole-sdk": "^0.10.10",
16+
"@wormhole-foundation/sdk":"^0.6.8-beta.0",
1717
"ethers": "^5.7.2"
1818
},
1919
"devDependencies": {
2020
"envfile": "^6.18.0",
21-
"@certusone/wormhole-sdk": "^0.10.10",
2221
"@typechain/ethers-v5": "^10.2.0",
2322
"@types/chai": "^4.3.4",
2423
"@types/mocha": "^10.0.1",

evm/ts/scripts/set_fast_transfer_parameters.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { getConfig } from "./helpers";
2-
import { coalesceChainId, tryHexToNativeString } from "@certusone/wormhole-sdk";
32
import { ITokenRouter__factory } from "../src/types/factories/ITokenRouter__factory";
43
import { ITokenRouter, FastTransferParametersStruct } from "../src/types/ITokenRouter";
54
import { ethers } from "ethers";
5+
import { Chain, toChainId, toNative } from "@wormhole-foundation/sdk";
66

77
export function getArgs() {
88
const argv = require("yargs")
@@ -26,7 +26,7 @@ export function getArgs() {
2626
async function setFastTransferParams(
2727
chainId: string,
2828
tokenRouter: ITokenRouter,
29-
params: FastTransferParametersStruct
29+
params: FastTransferParametersStruct,
3030
): Promise<void> {
3131
console.log(`Updating fast transfer parameters`);
3232
const tx = await tokenRouter.updateFastTransferParameters(params);
@@ -52,14 +52,12 @@ async function main() {
5252
const provider = new ethers.providers.StaticJsonRpcProvider(rpc);
5353
const wallet = new ethers.Wallet(key, provider);
5454

55-
const routerChainId = coalesceChainId(chain);
55+
const routerChainId = toChainId(chain);
5656

5757
// Setup token router contract.
5858
const tokenRouter = ITokenRouter__factory.connect(
59-
ethers.utils.getAddress(
60-
tryHexToNativeString(routers[routerChainId].address.substring(2), routerChainId)
61-
),
62-
wallet
59+
toNative(chain as Chain, routers[routerChainId].address).toString(),
60+
wallet,
6361
);
6462

6563
await setFastTransferParams(routerChainId.toString(), tokenRouter, fastTransferParams);

evm/ts/scripts/setup_matching_engine.ts

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { getConfig, ZERO_BYTES32 } from "./helpers";
2-
import { ChainId, coalesceChainId, tryHexToNativeString } from "@certusone/wormhole-sdk";
32
import { IMatchingEngine__factory, IMatchingEngine } from "../src/types/";
43
import { RouterEndpointStruct } from "../src/types/IMatchingEngine";
54
import { ethers } from "ethers";
5+
import { ChainId, toChain, toChainId, toNative } from "@wormhole-foundation/sdk";
66

77
export function getArgs() {
88
const argv = require("yargs")
@@ -27,7 +27,7 @@ async function addRouterInfo(
2727
chainId: string,
2828
engine: IMatchingEngine,
2929
routerEndpoint: RouterEndpointStruct,
30-
domain: string
30+
domain: string,
3131
): Promise<void> {
3232
console.log(`Adding router endpoint for chain ${chainId}`);
3333
const tx = await engine.addRouterEndpoint(chainId, routerEndpoint, domain);
@@ -64,19 +64,16 @@ async function main() {
6464
const provider = new ethers.providers.StaticJsonRpcProvider(rpc);
6565
const wallet = new ethers.Wallet(key, provider);
6666

67-
const engineChainId = coalesceChainId(chain);
67+
const engineChainId = toChainId(chain);
6868
if (engineChainId != (matchingEngineConfig.chain as ChainId)) {
6969
console.log(engineChainId, matchingEngineConfig.chainId);
7070
throw Error("Invalid chainId");
7171
}
7272

73+
const engineChain = toChain(engineChainId);
74+
const engineAddress = toNative(engineChain, matchingEngineConfig["address"]);
7375
// Setup token router contract.
74-
const engine = IMatchingEngine__factory.connect(
75-
ethers.utils.getAddress(
76-
tryHexToNativeString(matchingEngineConfig["address"].substring(2), engineChainId)
77-
),
78-
wallet
79-
);
76+
const engine = IMatchingEngine__factory.connect(engineAddress.toString(), wallet);
8077

8178
// Set CCTP allowance.
8279
await setCctpAllowance(engine);
@@ -92,7 +89,7 @@ async function main() {
9289
chainId,
9390
engine,
9491
{ router: targetRouter.address, mintRecipient: targetRouter.mintRecipient },
95-
targetRouter.domain
92+
targetRouter.domain,
9693
);
9794
}
9895
}

evm/ts/scripts/setup_token_router.ts

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { getConfig, ZERO_BYTES32 } from "./helpers";
2-
import { coalesceChainId, tryHexToNativeString } from "@certusone/wormhole-sdk";
32
import { ITokenRouter__factory } from "../src/types/factories/ITokenRouter__factory";
43
import { ITokenRouter } from "../src/types/ITokenRouter";
54
import { EndpointStruct } from "../src/types/ITokenRouter";
65
import { ethers } from "ethers";
6+
import { toChain, toChainId, toNative } from "@wormhole-foundation/sdk";
77

88
export function getArgs() {
99
const argv = require("yargs")
@@ -28,7 +28,7 @@ async function addRouterInfo(
2828
chainId: string,
2929
tokenRouter: ITokenRouter,
3030
routerEndpoint: EndpointStruct,
31-
domain: string
31+
domain: string,
3232
): Promise<void> {
3333
console.log(`Adding router endpoint for chain ${chainId}`);
3434
const tx = await tokenRouter.addRouterEndpoint(chainId, routerEndpoint, domain);
@@ -64,15 +64,12 @@ async function main() {
6464
const provider = new ethers.providers.StaticJsonRpcProvider(rpc);
6565
const wallet = new ethers.Wallet(key, provider);
6666

67-
const routerChainId = coalesceChainId(chain);
67+
const routerChainId = toChainId(chain);
68+
const routerChain = toChain(routerChainId);
69+
const routerAddress = toNative(routerChain, routers[routerChainId].address);
6870

6971
// Setup token router contract.
70-
const tokenRouter = ITokenRouter__factory.connect(
71-
ethers.utils.getAddress(
72-
tryHexToNativeString(routers[routerChainId].address.substring(2), routerChainId)
73-
),
74-
wallet
75-
);
72+
const tokenRouter = ITokenRouter__factory.connect(routerAddress.toString(), wallet);
7673

7774
// Set CCTP allowance.
7875
await setCctpAllowance(tokenRouter);
@@ -91,7 +88,7 @@ async function main() {
9188
chainId,
9289
tokenRouter,
9390
{ router: targetRouter.address, mintRecipient: targetRouter.mintRecipient },
94-
targetRouter.domain
91+
targetRouter.domain,
9592
);
9693
}
9794
}

evm/ts/src/MatchingEngine/evm.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ChainId } from "@certusone/wormhole-sdk";
1+
import { ChainId } from "@wormhole-foundation/sdk";
22
import { ethers } from "ethers";
33
import { RouterEndpoint, LiveAuctionData, MatchingEngine, RedeemParameters } from ".";
44
import { LiquidityLayerTransactionResult } from "..";
@@ -25,7 +25,7 @@ export class EvmMatchingEngine implements MatchingEngine<ethers.ContractTransact
2525
constructor(
2626
connection: ethers.Signer | ethers.providers.Provider,
2727
contractAddress: string,
28-
circleBridge: string
28+
circleBridge: string,
2929
) {
3030
this.contract = IMatchingEngine__factory.connect(contractAddress, connection);
3131
this.circle = ITokenMessenger__factory.connect(circleBridge, connection);
@@ -54,42 +54,42 @@ export class EvmMatchingEngine implements MatchingEngine<ethers.ContractTransact
5454
async addRouterEndpoint(
5555
chain: number,
5656
endpoint: RouterEndpoint,
57-
domain: number
57+
domain: number,
5858
): Promise<ethers.ContractTransaction> {
5959
return this.contract.addRouterEndpoint(chain, endpoint, domain);
6060
}
6161

6262
async placeInitialBid(
6363
fastTransferVaa: Buffer | Uint8Array,
64-
feeBid: bigint | ethers.BigNumberish
64+
feeBid: bigint | ethers.BigNumberish,
6565
): Promise<ethers.ContractTransaction> {
6666
return this.contract.placeInitialBid(fastTransferVaa, feeBid);
6767
}
6868

6969
async improveBid(
7070
auctionId: Buffer | Uint8Array,
71-
feeBid: bigint | ethers.BigNumberish
71+
feeBid: bigint | ethers.BigNumberish,
7272
): Promise<ethers.ContractTransaction> {
7373
return this.contract.improveBid(auctionId, feeBid);
7474
}
7575

7676
async executeFastOrder(
77-
fastTransferVaa: Buffer | Uint8Array
77+
fastTransferVaa: Buffer | Uint8Array,
7878
): Promise<ethers.ContractTransaction> {
7979
return this.contract.executeFastOrder(fastTransferVaa);
8080
}
8181

8282
async executeSlowOrderAndRedeem(
8383
fastTransferVaa: Buffer | Uint8Array,
84-
params: RedeemParameters
84+
params: RedeemParameters,
8585
): Promise<ethers.ContractTransaction> {
8686
return this.contract.executeSlowOrderAndRedeem(fastTransferVaa, params);
8787
}
8888

8989
async calculateDynamicPenalty(
9090
auctionId?: Buffer | Uint8Array,
9191
amount?: bigint | ethers.BigNumberish,
92-
blocksElapsed?: bigint | ethers.BigNumberish
92+
blocksElapsed?: bigint | ethers.BigNumberish,
9393
): Promise<[ethers.BigNumberish, ethers.BigNumberish]> {
9494
if (auctionId !== undefined) {
9595
return this.contract["calculateDynamicPenalty(bytes32)"](auctionId);
@@ -144,8 +144,8 @@ export class EvmMatchingEngine implements MatchingEngine<ethers.ContractTransact
144144
this.address,
145145
coreBridge.address,
146146
txReceipt,
147-
circleTransmitterAddress
148-
)
147+
circleTransmitterAddress,
148+
),
149149
);
150150
}
151151

evm/ts/src/TokenRouter/evm.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ChainId } from "@certusone/wormhole-sdk";
1+
import { ChainId } from "@wormhole-foundation/sdk";
22
import { ethers } from "ethers";
33
import { Endpoint, OrderResponse, TokenRouter, FastTransferParameters } from ".";
44
import { LiquidityLayerTransactionResult } from "..";
@@ -25,7 +25,7 @@ export class EvmTokenRouter implements TokenRouter<ethers.ContractTransaction> {
2525
constructor(
2626
connection: ethers.Signer | ethers.providers.Provider,
2727
contractAddress: string,
28-
circleBridge: string
28+
circleBridge: string,
2929
) {
3030
this.contract = ITokenRouter__factory.connect(contractAddress, connection);
3131
this.circle = ITokenMessenger__factory.connect(circleBridge, connection);
@@ -41,7 +41,7 @@ export class EvmTokenRouter implements TokenRouter<ethers.ContractTransaction> {
4141
redeemer: Buffer | Uint8Array,
4242
redeemerMessage: Buffer | Uint8Array,
4343
minAmountOut?: bigint,
44-
refundAddress?: string
44+
refundAddress?: string,
4545
) {
4646
if (minAmountOut !== undefined && refundAddress !== undefined) {
4747
return this.contract["placeMarketOrder(uint64,uint64,uint16,bytes32,bytes,address)"](
@@ -50,14 +50,14 @@ export class EvmTokenRouter implements TokenRouter<ethers.ContractTransaction> {
5050
targetChain,
5151
redeemer,
5252
redeemerMessage,
53-
refundAddress
53+
refundAddress,
5454
);
5555
} else {
5656
return this.contract["placeMarketOrder(uint64,uint16,bytes32,bytes)"](
5757
amountIn,
5858
targetChain,
5959
redeemer,
60-
redeemerMessage
60+
redeemerMessage,
6161
);
6262
}
6363
}
@@ -70,7 +70,7 @@ export class EvmTokenRouter implements TokenRouter<ethers.ContractTransaction> {
7070
maxFee: bigint,
7171
deadline: number,
7272
minAmountOut?: bigint,
73-
refundAddress?: string
73+
refundAddress?: string,
7474
) {
7575
if (minAmountOut !== undefined && refundAddress !== undefined) {
7676
return this.contract[
@@ -83,7 +83,7 @@ export class EvmTokenRouter implements TokenRouter<ethers.ContractTransaction> {
8383
redeemerMessage,
8484
refundAddress,
8585
maxFee,
86-
deadline
86+
deadline,
8787
);
8888
} else {
8989
return this.contract["placeFastMarketOrder(uint64,uint16,bytes32,bytes,uint64,uint32)"](
@@ -92,7 +92,7 @@ export class EvmTokenRouter implements TokenRouter<ethers.ContractTransaction> {
9292
redeemer,
9393
redeemerMessage,
9494
maxFee,
95-
deadline
95+
deadline,
9696
);
9797
}
9898
}
@@ -133,8 +133,8 @@ export class EvmTokenRouter implements TokenRouter<ethers.ContractTransaction> {
133133
this.address,
134134
coreBridge.address,
135135
txReceipt,
136-
circleTransmitterAddress
137-
)
136+
circleTransmitterAddress,
137+
),
138138
);
139139
}
140140

evm/ts/src/messages.ts

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { parseVaa as _parseVaa } from "@certusone/wormhole-sdk";
21
import { ethers } from "ethers";
32

43
export const CCTP_DEPOSIT_PAYLOAD = 1;
@@ -19,7 +18,7 @@ export class WormholeCctpDepositHeader {
1918
targetDomain: number,
2019
nonce: bigint,
2120
fromAddress: Uint8Array,
22-
mintRecipient: Uint8Array
21+
mintRecipient: Uint8Array,
2322
) {
2423
this.token = token;
2524
this.amount = amount;
@@ -57,7 +56,7 @@ export class WormholeCctpDepositHeader {
5756
targetDomain,
5857
nonce,
5958
fromAddress,
60-
mintRecipient
59+
mintRecipient,
6160
),
6261
payload,
6362
];
@@ -108,7 +107,7 @@ export class MessageDecoder {
108107

109108
decodeCoreBridgeMessage(
110109
emitterAddress: Buffer | Uint8Array,
111-
messagePayload: Buffer | Uint8Array
110+
messagePayload: Buffer | Uint8Array,
112111
) {
113112
const emitter = Buffer.from(emitterAddress);
114113
const payload = Buffer.from(messagePayload);
@@ -119,17 +118,8 @@ export class MessageDecoder {
119118
}
120119
}
121120

122-
parseVaa(encodedVaa: Buffer) {
123-
const vaa = _parseVaa(encodedVaa);
124-
125-
return {
126-
vaa,
127-
decoded: this.decodeCoreBridgeMessage(vaa.emitterAddress, vaa.payload),
128-
};
129-
}
130-
131121
static unsafeDecodeWormholeCctpPayload(
132-
wormholeCctpMessage: Buffer
122+
wormholeCctpMessage: Buffer,
133123
): CoreBridgeLiquidityLayerMessage {
134124
const [wormholeCctp, payload] =
135125
WormholeCctpDepositHeader.decodeCoreBridgeMessage(wormholeCctpMessage);
@@ -158,7 +148,7 @@ export class Fill {
158148
sourceChain: number,
159149
orderSender: Buffer,
160150
redeemer: Buffer,
161-
redeemerMessage: Buffer
151+
redeemerMessage: Buffer,
162152
) {
163153
this.sourceChain = sourceChain;
164154
this.orderSender = orderSender;
@@ -195,7 +185,7 @@ export class FastFill {
195185
orderSender: Buffer,
196186
redeemer: Buffer,
197187
redeemerMessage: Buffer,
198-
fillAmount: bigint
188+
fillAmount: bigint,
199189
) {
200190
this.sourceChain = sourceChain;
201191
this.orderSender = orderSender;
@@ -245,7 +235,7 @@ export class FastMarketOrder {
245235
maxFee: bigint,
246236
initAuctionFee: bigint,
247237
deadline: number,
248-
redeemerMessage: Buffer
238+
redeemerMessage: Buffer,
249239
) {
250240
this.amountIn = amountIn;
251241
this.minAmountOut = minAmountOut;
@@ -287,7 +277,7 @@ export class FastMarketOrder {
287277
maxFee,
288278
initAuctionFee,
289279
deadline,
290-
redeemerMessage
280+
redeemerMessage,
291281
);
292282
}
293283
}

0 commit comments

Comments
 (0)