Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SDK: Port from certusone sdk to SDKv2 #231

Closed
wants to merge 11 commits into from
Closed
5,807 changes: 2,310 additions & 3,497 deletions examples/advanced/package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion examples/advanced/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"testnet-spy": "docker run --platform=linux/amd64 -p 7073:7073 --entrypoint /guardiand ghcr.io/wormhole-foundation/guardiand:latest spy --nodeKey /node.key --spyRPC \"[::]:7073\" --network /wormhole/testnet/2/1 --bootstrap '/dns4/t-guardian-01.nodes.stable.io/udp/8999/quic/p2p/12D3KooWCW3LGUtkCVkHZmVSZHzL3C4WRKWfqAiJPz1NR7dT9Bxh,/dns4/t-guardian-02.nodes.stable.io/udp/8999/quic/p2p/12D3KooWJXA6goBCiWM8ucjzc4jVUBSqL9Rri6UpjHbkMPErz5zK'"
},
"dependencies": {
"@certusone/wormhole-sdk": "^0.9.11",
"@wormhole-foundation/sdk": "0.5.0-beta.3",
"@mysten/sui.js": "^0.32.1",
"@wormhole-foundation/relayer-engine": "file:../../",
"koa": "^2.14.1",
Expand Down
6 changes: 3 additions & 3 deletions examples/advanced/src/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ import {
onJobHandler,
RedisStorage,
} from "@wormhole-foundation/relayer-engine";
import { CHAIN_ID_SOLANA, SignedVaa } from "@certusone/wormhole-sdk";
import { rootLogger } from "./log.js";
import { Controller } from "./controller.js";
import { Logger } from "winston";
import { toChainId } from "@wormhole-foundation/sdk";

export class TestStorage extends RedisStorage {
startWorker(cb: onJobHandler): void {
Expand All @@ -33,7 +33,7 @@ export class TestStorage extends RedisStorage {
async stopWorker(): Promise<void> {
return;
}
async addVaaToQueue(vaa: SignedVaa): Promise<RelayJob> {
async addVaaToQueue(vaa: Uint8Array): Promise<RelayJob> {
console.log("adding vaa to queue: ", vaa);
return {} as RelayJob;
}
Expand Down Expand Up @@ -67,7 +67,7 @@ async function main(namespace: string) {
app.use(sourceTx());

app
.chain(CHAIN_ID_SOLANA)
.chain(toChainId("Solana"))
.address(
"DZnkkTmCiFWfYTfT41X3Rd1kDgozqzxWaHqsw6W4x2oe",
fundsCtrl.redeemVaa
Expand Down
35 changes: 20 additions & 15 deletions examples/advanced/src/controller.ts
Original file line number Diff line number Diff line change
@@ -1,36 +1,41 @@
import { Next } from "@wormhole-foundation/relayer-engine";
import { TokenBridgePayload } from "@certusone/wormhole-sdk";
import { MyRelayerContext } from "./app.js";
import { TokenBridge, canonicalAddress } from "@wormhole-foundation/sdk";

export class Controller {
redeemVaa = async (ctx: MyRelayerContext, next: Next) => {
let seq = ctx.vaa!.sequence.toString();
ctx.logger.info(`chain middleware - ${seq} - ${ctx.sourceTxHash}`);

const { payload } = ctx.tokenBridge;
const { vaa } = ctx.tokenBridge;

// only care about transfers
switch (payload?.payloadType) {
case TokenBridgePayload.Transfer:
switch (vaa.payloadLiteral) {
case "TokenBridge:Transfer":
ctx.logger.info(
`Transfer processing for: \n` +
`\tToken: ${payload.tokenChain}:${payload.tokenAddress.toString(
"hex"
`\tToken: ${vaa.payload.token.chain}:${canonicalAddress(
vaa.payload.token
)}\n` +
`\tAmount: ${payload.amount}\n` +
`\tReceiver: ${payload.toChain}:${payload.to.toString("hex")}\n`
`\tAmount: ${vaa.payload.token.amount}\n` +
`\tReceiver: ${vaa.payload.to.chain}:${canonicalAddress(
vaa.payload.to
)}\n`
);
break;
case TokenBridgePayload.TransferWithPayload:
case "TokenBridge:TransferWithPayload":
const { payload } = vaa as TokenBridge.VAA<"TransferWithPayload">;
ctx.logger.info(
`Transfer processing for: \n` +
`\tToken: ${payload.tokenChain}:${payload.tokenAddress.toString(
"hex"
`\tToken: ${payload.token.chain}:${canonicalAddress(
payload.token
)}\n` +
`\tAmount: ${payload.amount}\n` +
`\tSender ${payload.fromAddress?.toString("hex")}\n` +
`\tReceiver: ${payload.toChain}:${payload.to.toString("hex")}\n` +
`\tPayload: ${payload.tokenTransferPayload.toString("hex")}\n`
`\tAmount: ${payload.token.amount}\n` +
`\tSender ${payload.from.toString()}\n` +
`\tReceiver: ${payload.to.chain}:${canonicalAddress(
payload.to
)}\n` +
`\tPayload: ${payload.payload}\n`
);
break;
}
Expand Down
Loading