@debridge-finance/desdk
Version:
Send, track and claim arbitrary cross-chain messages over the deBridge protocol programmatically
24 lines • 1.07 kB
JavaScript
import "@nomicfoundation/hardhat-toolbox";
import { ethers } from "ethers";
import { DeBridgeApiSignatureStorage } from "./connectors";
import { DeBridgeGate__factory } from "./typechain";
export const DEFAULT_DEBRIDGE_GATE_ADDRESS = "0x43dE2d77BF8027e25dBD179B491e8d64f38398aA";
export function getProvider(ctx) {
if (typeof ctx.provider === "string")
return new ethers.JsonRpcProvider(ctx.provider);
else if (ctx.provider?.ethers?.provider)
return ctx.provider.ethers.provider;
else if (ctx.provider?.provider === ctx.provider)
return ctx.provider;
throw new Error("deSDK: cannot resolve network provider from the context");
}
export function getDeBridgeGateAddress(ctx) {
return ctx.deBridgeGateAddress || DEFAULT_DEBRIDGE_GATE_ADDRESS;
}
export function getDeBridgeGate(ctx) {
return DeBridgeGate__factory.connect(getDeBridgeGateAddress(ctx), getProvider(ctx));
}
export function getSignatureStorage(ctx) {
return ctx.signatureStorage || new DeBridgeApiSignatureStorage();
}
//# sourceMappingURL=context.js.map