@wormhole-foundation/sdk-connect 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,12 @@
1
1
  import type { StaticRouteMethods } from "../route.js";
2
2
  import { AutomaticRoute } from "../route.js";
3
3
  import type { Quote, QuoteResult, Receipt, TransferParams, ValidatedTransferParams, ValidationResult } from "../types.js";
4
- import type { AttestationReceipt, Chain, ChainContext, Network, Signer, SourceInitiatedTransferReceipt, TokenId, TransactionId } from "./../../index.js";
5
- import { PorticoBridge, TransferState, amount } from "./../../index.js";
4
+ import type { AttestationReceipt, AttestedTransferReceipt, Chain, ChainContext, CompletedTransferReceipt, Network, Signer, SourceInitiatedTransferReceipt, TokenId, TransactionId } from "./../../index.js";
5
+ import { PorticoBridge, amount } from "./../../index.js";
6
6
  import type { ChainAddress } from "@wormhole-foundation/sdk-definitions";
7
7
  import type { RouteTransferRequest } from "../request.js";
8
8
  export declare const SLIPPAGE_BPS = 15n;
9
+ export declare const MAX_SLIPPAGE_BPS = 100n;
9
10
  export declare const BPS_PER_HUNDRED_PERCENT = 10000n;
10
11
  export declare namespace PorticoRoute {
11
12
  type Options = {};
@@ -32,7 +33,6 @@ export declare class AutomaticPorticoRoute<N extends Network> extends AutomaticR
32
33
  static meta: {
33
34
  name: string;
34
35
  };
35
- private static _supportedTokens;
36
36
  static supportedNetworks(): Network[];
37
37
  static supportedChains(network: Network): Chain[];
38
38
  static supportedSourceTokens(fromChain: ChainContext<Network>): Promise<TokenId[]>;
@@ -43,30 +43,9 @@ export declare class AutomaticPorticoRoute<N extends Network> extends AutomaticR
43
43
  validate(request: RouteTransferRequest<N>, params: TP): Promise<VR>;
44
44
  quote(request: RouteTransferRequest<N>, params: VP): Promise<QR>;
45
45
  initiate(request: RouteTransferRequest<N>, sender: Signer<N>, quote: Q, to: ChainAddress): Promise<SourceInitiatedTransferReceipt<"Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance">>;
46
- track(receipt: R, timeout?: number): AsyncGenerator<{
47
- vaa: import("@wormhole-foundation/sdk-definitions").VAA<"TokenBridge:TransferWithPayload">;
48
- parsed: {
49
- readonly flagSet: {
50
- readonly recipientChain: number;
51
- readonly bridgeNonce: number;
52
- readonly feeTierStart: number;
53
- readonly feeTierFinish: number;
54
- readonly padding: Uint8Array;
55
- readonly flags: import("@wormhole-foundation/sdk-base").Bitset<readonly ["shouldWrapNative", "shouldUnwrapNative"]>;
56
- };
57
- readonly finalTokenAddress: import("@wormhole-foundation/sdk-definitions").UniversalAddress;
58
- readonly recipientAddress: import("@wormhole-foundation/sdk-definitions").UniversalAddress;
59
- readonly cannonAssetAmount: bigint;
60
- readonly minAmountFinish: bigint;
61
- readonly relayerFee: bigint;
62
- };
63
- state: TransferState.SourceInitiated;
64
- originTxs: TransactionId<"Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance">[];
65
- from: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance";
66
- to: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance";
67
- }, void, unknown>;
46
+ track(receipt: R, timeout?: number): AsyncGenerator<import("../../types.js").CreatedTransferReceipt<"Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance"> | import("../../types.js").FailedTransferReceipt<AttestationReceipt<"PorticoBridge">, "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance"> | import("../../types.js").InReviewTransferReceipt<AttestationReceipt<"PorticoBridge">, "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance"> | AttestedTransferReceipt<AttestationReceipt<"PorticoBridge">, "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance"> | import("../../types.js").RefundedTransferReceipt<AttestationReceipt<"PorticoBridge">, "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance"> | import("../../types.js").RedeemedTransferReceipt<AttestationReceipt<"PorticoBridge">, "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance"> | import("../../types.js").DestinationQueuedTransferReceipt<AttestationReceipt<"PorticoBridge">, "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance"> | CompletedTransferReceipt<AttestationReceipt<"PorticoBridge">, "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance">, void, unknown>;
68
47
  complete(signer: Signer<N>, receipt: R): Promise<TransactionId[]>;
69
- private quoteUniswap;
48
+ private fetchSwapQuote;
70
49
  }
71
50
  export {};
72
51
  //# sourceMappingURL=automatic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"automatic.d.ts","sourceRoot":"","sources":["../../../../src/routes/portico/automatic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"automatic.d.ts","sourceRoot":"","sources":["../../../../src/routes/portico/automatic.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AutomaticPorticoRoute = exports.BPS_PER_HUNDRED_PERCENT = exports.SLIPPAGE_BPS = void 0;
3
+ exports.AutomaticPorticoRoute = exports.BPS_PER_HUNDRED_PERCENT = exports.MAX_SLIPPAGE_BPS = exports.SLIPPAGE_BPS = void 0;
4
4
  const sdk_base_1 = require("@wormhole-foundation/sdk-base");
5
5
  const route_js_1 = require("../route.js");
6
6
  const index_js_1 = require("./../../index.js");
7
7
  exports.SLIPPAGE_BPS = 15n; // 0.15%
8
+ exports.MAX_SLIPPAGE_BPS = 100n; // 1%
8
9
  exports.BPS_PER_HUNDRED_PERCENT = 10000n;
9
10
  class AutomaticPorticoRoute extends route_js_1.AutomaticRoute {
10
11
  static NATIVE_GAS_DROPOFF_SUPPORTED = false;
11
12
  static meta = {
12
13
  name: "AutomaticPortico",
13
14
  };
14
- static _supportedTokens = ["WETH", "WSTETH"];
15
15
  static supportedNetworks() {
16
16
  return ["Mainnet"];
17
17
  }
@@ -22,52 +22,43 @@ class AutomaticPorticoRoute extends route_js_1.AutomaticRoute {
22
22
  return [];
23
23
  }
24
24
  static async supportedSourceTokens(fromChain) {
25
- const { chain } = fromChain;
26
- const supported = this._supportedTokens
27
- .map((symbol) => {
28
- return sdk_base_1.filters.bySymbol(fromChain.config.tokenMap, symbol) ?? [];
29
- })
30
- .flat()
31
- .filter((td) => {
32
- const localOrEth = !td.original || td.original === "Ethereum";
33
- const isAvax = chain === "Avalanche" && (0, index_js_1.isNative)(td.address);
34
- return localOrEth && !isAvax;
35
- });
36
- return supported.map((td) => index_js_1.Wormhole.tokenId(chain, td.address));
25
+ const pb = await fromChain.getPorticoBridge();
26
+ const { tokenMap } = fromChain.config;
27
+ return pb
28
+ .supportedTokens()
29
+ .filter((t) => !tokenMap || sdk_base_1.filters.byAddress(tokenMap, (0, index_js_1.canonicalAddress)(t.token)))
30
+ .map((t) => t.token);
37
31
  }
38
32
  static async supportedDestinationTokens(sourceToken, fromChain, toChain) {
39
33
  const [, srcTokenAddress] = (0, index_js_1.resolveWrappedToken)(fromChain.network, fromChain.chain, sourceToken);
40
34
  const tokenAddress = (0, index_js_1.canonicalAddress)(srcTokenAddress);
41
- // The token that will be used to bridge
42
35
  const pb = await fromChain.getPorticoBridge();
43
- const transferrableToken = pb.getTransferrableToken(tokenAddress);
44
- // The tokens that _will_ be received on redemption
45
- const redeemToken = await index_js_1.TokenTransfer.lookupDestinationToken(fromChain, toChain, transferrableToken);
46
- // Grab the symbol for the token that gets redeemed
47
- const redeemTokenDetails = sdk_base_1.filters.byAddress(toChain.config.tokenMap, (0, index_js_1.canonicalAddress)(redeemToken));
48
- // Find the local/native version of the same token by symbol
49
- const locallyRedeemable = (sdk_base_1.filters.bySymbol(toChain.config.tokenMap, redeemTokenDetails.symbol) ?? [])
50
- .filter((td) => {
51
- return !td.original;
52
- })
53
- .map((td) => {
54
- switch (td.symbol) {
55
- case "ETH":
56
- case "WETH":
57
- return index_js_1.Wormhole.tokenId(toChain.chain, td.address);
58
- case "WSTETH":
59
- return index_js_1.Wormhole.tokenId(toChain.chain, td.address);
60
- default:
61
- throw new Error("Unknown symbol: " + redeemTokenDetails.symbol);
62
- }
63
- });
64
- return locallyRedeemable;
36
+ try {
37
+ // The highway token that will be used to bridge
38
+ const transferrableToken = await pb.getTransferrableToken(tokenAddress);
39
+ // Make sure it exists on the destination chain
40
+ await index_js_1.TokenTransfer.lookupDestinationToken(fromChain, toChain, transferrableToken);
41
+ }
42
+ catch {
43
+ return [];
44
+ }
45
+ // Find the destination token(s) in the same group
46
+ const toPb = await toChain.getPorticoBridge();
47
+ const tokens = toPb.supportedTokens();
48
+ const { tokenMap } = toChain.config;
49
+ const group = pb.getTokenGroup(tokenAddress);
50
+ return tokens
51
+ .filter((t) => (t.group === group ||
52
+ // ETH/WETH supports wrapping/unwrapping
53
+ (t.group === "ETH" && group === "WETH") ||
54
+ (t.group === "WETH" && group === "ETH")) &&
55
+ (!tokenMap || sdk_base_1.filters.byAddress(tokenMap, (0, index_js_1.canonicalAddress)(t.token))))
56
+ .map((t) => t.token);
65
57
  }
66
58
  static isProtocolSupported(chain) {
67
59
  return chain.supportsPorticoBridge();
68
60
  }
69
61
  async isAvailable() {
70
- // TODO:
71
62
  return true;
72
63
  }
73
64
  getDefaultOptions() {
@@ -75,9 +66,9 @@ class AutomaticPorticoRoute extends route_js_1.AutomaticRoute {
75
66
  }
76
67
  async validate(request, params) {
77
68
  try {
78
- if ((0, index_js_1.chainToPlatform)(request.fromChain.chain) !== "Evm" ||
79
- (0, index_js_1.chainToPlatform)(request.toChain.chain) !== "Evm") {
80
- throw new Error("Only EVM chains are supported");
69
+ if (!AutomaticPorticoRoute.isProtocolSupported(request.fromChain) ||
70
+ !AutomaticPorticoRoute.isProtocolSupported(request.toChain)) {
71
+ throw new Error("Protocol not supported");
81
72
  }
82
73
  const { fromChain, toChain, source, destination } = request;
83
74
  const { network } = fromChain;
@@ -86,8 +77,8 @@ class AutomaticPorticoRoute extends route_js_1.AutomaticRoute {
86
77
  const [, destinationToken] = (0, index_js_1.resolveWrappedToken)(network, toChain.chain, destination.id);
87
78
  const fromPb = await fromChain.getPorticoBridge();
88
79
  const toPb = await toChain.getPorticoBridge();
89
- const canonicalSourceToken = fromPb.getTransferrableToken((0, index_js_1.canonicalAddress)(sourceToken));
90
- const canonicalDestinationToken = toPb.getTransferrableToken((0, index_js_1.canonicalAddress)(destinationToken));
80
+ const canonicalSourceToken = await fromPb.getTransferrableToken((0, index_js_1.canonicalAddress)(sourceToken));
81
+ const canonicalDestinationToken = await toPb.getTransferrableToken((0, index_js_1.canonicalAddress)(destinationToken));
91
82
  const validatedParams = {
92
83
  amount: params.amount,
93
84
  options: params.options ?? this.getDefaultOptions(),
@@ -107,15 +98,25 @@ class AutomaticPorticoRoute extends route_js_1.AutomaticRoute {
107
98
  }
108
99
  async quote(request, params) {
109
100
  try {
110
- const swapAmounts = await this.quoteUniswap(request, params);
101
+ const swapAmounts = await this.fetchSwapQuote(request, params);
102
+ // destination token may have a different number of decimals than the source token
103
+ // so we need to scale the amounts to the token with the most decimals
104
+ // before comparing them
105
+ const maxDecimals = Math.max(request.source.decimals, request.destination.decimals);
106
+ const scaledAmount = index_js_1.amount.units(index_js_1.amount.scale(params.normalizedParams.amount, maxDecimals));
107
+ const scaledMinAmountFinish = index_js_1.amount.units(index_js_1.amount.scale(index_js_1.amount.fromBaseUnits(swapAmounts.minAmountFinish, request.destination.decimals), maxDecimals));
108
+ // if the slippage is more than 100bps, this likely means that the pools are unbalanced
109
+ if (scaledMinAmountFinish <
110
+ scaledAmount - (scaledAmount * exports.MAX_SLIPPAGE_BPS) / exports.BPS_PER_HUNDRED_PERCENT)
111
+ throw new Error("Slippage too high");
111
112
  const pb = await request.toChain.getPorticoBridge();
112
113
  const fee = await pb.quoteRelay(params.normalizedParams.canonicalDestinationToken.address, params.normalizedParams.destinationToken.address);
113
114
  const details = {
114
115
  swapAmounts,
115
116
  relayerFee: fee,
116
117
  };
117
- let destinationAmount = details.swapAmounts.minAmountFinish - fee;
118
- if (Number(destinationAmount) < 0) {
118
+ const destinationAmount = details.swapAmounts.minAmountFinish - fee;
119
+ if (destinationAmount < 0n) {
119
120
  return {
120
121
  success: false,
121
122
  error: new Error(`Amount too low for slippage and fee, would result in negative destination amount (${destinationAmount})`),
@@ -149,7 +150,10 @@ class AutomaticPorticoRoute extends route_js_1.AutomaticRoute {
149
150
  const sourceToken = request.source.id.address;
150
151
  const destToken = request.destination.id;
151
152
  const fromPorticoBridge = await request.fromChain.getPorticoBridge();
152
- const xfer = fromPorticoBridge.transfer(index_js_1.Wormhole.parseAddress(sender.chain(), sender.address()), to, sourceToken, index_js_1.amount.units(params.normalizedParams.amount), destToken, details);
153
+ const tokenGroup = fromPorticoBridge.getTokenGroup(sourceToken.toString());
154
+ const toPorticoBridge = await request.toChain.getPorticoBridge();
155
+ const destPorticoAddress = toPorticoBridge.getPorticoAddress(tokenGroup);
156
+ const xfer = fromPorticoBridge.transfer(index_js_1.Wormhole.parseAddress(sender.chain(), sender.address()), to, sourceToken, index_js_1.amount.units(params.normalizedParams.amount), destToken, destPorticoAddress, details);
153
157
  const txids = await (0, index_js_1.signSendWait)(request.fromChain, xfer, sender);
154
158
  const receipt = {
155
159
  originTxs: txids,
@@ -160,14 +164,40 @@ class AutomaticPorticoRoute extends route_js_1.AutomaticRoute {
160
164
  return receipt;
161
165
  }
162
166
  async *track(receipt, timeout) {
163
- if (!(0, index_js_1.isSourceInitiated)(receipt))
164
- throw new Error("Source must be initiated");
165
- const { txid } = receipt.originTxs[receipt.originTxs.length - 1];
166
- const vaa = await this.wh.getVaa(txid, "TokenBridge:TransferWithPayload", timeout);
167
- if (!vaa)
168
- throw new Error("No VAA found for transaction: " + txid);
169
- const parsed = index_js_1.PorticoBridge.deserializePayload(vaa.payload.payload);
170
- yield { ...receipt, vaa, parsed };
167
+ if ((0, index_js_1.isSourceInitiated)(receipt) || (0, index_js_1.isSourceFinalized)(receipt)) {
168
+ const { txid } = receipt.originTxs[receipt.originTxs.length - 1];
169
+ const vaa = await this.wh.getVaa(txid, "PorticoBridge:Transfer", timeout);
170
+ if (!vaa)
171
+ throw new Error("No VAA found for transaction: " + txid);
172
+ const msgId = {
173
+ chain: vaa.emitterChain,
174
+ emitter: vaa.emitterAddress,
175
+ sequence: vaa.sequence,
176
+ };
177
+ receipt = {
178
+ ...receipt,
179
+ state: index_js_1.TransferState.Attested,
180
+ attestation: {
181
+ id: msgId,
182
+ attestation: vaa,
183
+ },
184
+ };
185
+ yield receipt;
186
+ }
187
+ if ((0, index_js_1.isAttested)(receipt)) {
188
+ const toChain = this.wh.getChain(receipt.to);
189
+ const toPorticoBridge = await toChain.getPorticoBridge();
190
+ const isCompleted = await toPorticoBridge.isTransferCompleted(receipt.attestation.attestation);
191
+ if (isCompleted) {
192
+ receipt = {
193
+ ...receipt,
194
+ state: index_js_1.TransferState.DestinationFinalized,
195
+ };
196
+ yield receipt;
197
+ }
198
+ }
199
+ // TODO: handle swap failed case (highway token received)
200
+ yield receipt;
171
201
  }
172
202
  async complete(signer, receipt) {
173
203
  if (!(0, index_js_1.isAttested)(receipt))
@@ -178,32 +208,24 @@ class AutomaticPorticoRoute extends route_js_1.AutomaticRoute {
178
208
  const xfer = toPorticoBridge.redeem(sender.address, receipt.attestation.attestation);
179
209
  return await (0, index_js_1.signSendWait)(toChain, xfer, signer);
180
210
  }
181
- async quoteUniswap(request, params) {
182
- const fromPorticoBridge = await request.fromChain.getPorticoBridge();
183
- const startQuote = await fromPorticoBridge.quoteSwap(params.normalizedParams.sourceToken.address, params.normalizedParams.canonicalSourceToken.address, index_js_1.amount.units(params.normalizedParams.amount));
211
+ async fetchSwapQuote(request, params) {
212
+ const fromPb = await request.fromChain.getPorticoBridge();
213
+ const xferAmount = index_js_1.amount.units(params.normalizedParams.amount);
214
+ const tokenGroup = fromPb.getTokenGroup((0, index_js_1.canonicalAddress)(params.normalizedParams.sourceToken));
215
+ const startQuote = await fromPb.quoteSwap(params.normalizedParams.sourceToken.address, params.normalizedParams.canonicalSourceToken.address, tokenGroup, xferAmount);
184
216
  const startSlippage = (startQuote * exports.SLIPPAGE_BPS) / exports.BPS_PER_HUNDRED_PERCENT;
185
217
  if (startSlippage >= startQuote)
186
218
  throw new Error("Start slippage too high");
187
- const toPorticoBridge = await request.toChain.getPorticoBridge();
219
+ const toPb = await request.toChain.getPorticoBridge();
188
220
  const minAmountStart = startQuote - startSlippage;
189
- const finishQuote = await toPorticoBridge.quoteSwap(params.normalizedParams.canonicalDestinationToken.address, params.normalizedParams.destinationToken.address, minAmountStart);
221
+ const finishQuote = await toPb.quoteSwap(params.normalizedParams.canonicalDestinationToken.address, params.normalizedParams.destinationToken.address, tokenGroup, minAmountStart);
190
222
  const finishSlippage = (finishQuote * exports.SLIPPAGE_BPS) / exports.BPS_PER_HUNDRED_PERCENT;
191
223
  if (finishSlippage >= finishQuote)
192
224
  throw new Error("Finish slippage too high");
193
225
  const minAmountFinish = finishQuote - finishSlippage;
194
- const amountFinishQuote = await toPorticoBridge.quoteSwap(params.normalizedParams.canonicalDestinationToken.address, params.normalizedParams.destinationToken.address, startQuote);
195
- // the expected receive amount is the amount out from the swap
196
- // minus 5bps slippage
197
- const amountFinishSlippage = (amountFinishQuote * 5n) / exports.BPS_PER_HUNDRED_PERCENT;
198
- if (amountFinishSlippage >= amountFinishQuote)
199
- throw new Error("Amount finish slippage too high");
200
- const amountFinish = amountFinishQuote - amountFinishSlippage;
201
- if (amountFinish <= minAmountFinish)
202
- throw new Error("Amount finish too low");
203
226
  return {
204
227
  minAmountStart: minAmountStart,
205
228
  minAmountFinish: minAmountFinish,
206
- amountFinish: amountFinish,
207
229
  };
208
230
  }
209
231
  }
@@ -1 +1 @@
1
- {"version":3,"file":"automatic.js","sourceRoot":"","sources":["../../../../src/routes/portico/automatic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"automatic.js","sourceRoot":"","sources":["../../../../src/routes/portico/automatic.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/routes/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEjE,qBAAa,oBAAoB,CAAC,CAAC,SAAS,OAAO;IACjD,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,YAAY,CAAC;IAE1B,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAEzB,OAAO;IAYP,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM;IAIvC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM;IAIzC,YAAY,CAAC,EAAE,EAAE,EAAE,SAAS,uBAAuB,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,EAAE,CAAC,EACzF,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,EAAE,EACV,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;WAuCZ,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,SAAS,KAAK,EAAE,EAAE,SAAS,KAAK,EACvE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EACf,MAAM,EAAE;QACN,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;KAC1B,EACD,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,EAC/B,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC;CAYhC"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/routes/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEjE,qBAAa,oBAAoB,CAAC,CAAC,SAAS,OAAO;IACjD,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,YAAY,CAAC;IAE1B,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAEzB,OAAO;IAYP,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM;IAIvC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM;IAIzC,YAAY,CAAC,EAAE,EAAE,EAAE,SAAS,uBAAuB,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,EAAE,CAAC,EACzF,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,EAAE,EACV,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;WA2CZ,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,SAAS,KAAK,EAAE,EAAE,SAAS,KAAK,EACvE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EACf,MAAM,EAAE;QACN,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;KAC1B,EACD,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,EAC/B,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC;CAYhC"}
@@ -34,9 +34,11 @@ class RouteTransferRequest {
34
34
  params,
35
35
  };
36
36
  if (quote.relayFee) {
37
+ const relayFeeChain = quote.relayFee.token.chain === this.fromChain.chain ? this.fromChain : this.toChain;
38
+ const relayFeeDecimals = await relayFeeChain.getDecimals(quote.relayFee.token.address);
37
39
  dq.relayFee = {
38
40
  token: quote.relayFee.token,
39
- amount: sdk_base_1.amount.fromBaseUnits(quote.relayFee.amount, this.source.decimals),
41
+ amount: sdk_base_1.amount.fromBaseUnits(quote.relayFee.amount, relayFeeDecimals),
40
42
  };
41
43
  }
42
44
  if (quote.destinationNativeGas) {
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/routes/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/routes/request.ts"],"names":[],"mappings":"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"}
@@ -191,7 +191,7 @@ export declare class Wormhole<N extends Network> {
191
191
  */
192
192
  static canonicalAddress(chainAddress: ChainAddress | TokenId): string;
193
193
  /**
194
- * Parse an address from its canonincal string format to a NativeAddress
194
+ * Parse an address from its canonical string format to a NativeAddress
195
195
  *
196
196
  * @param chain The chain the address is for
197
197
  * @param address The native address in canonical string format
@@ -199,7 +199,7 @@ export declare class Wormhole<N extends Network> {
199
199
  */
200
200
  static chainAddress<C extends Chain>(chain: C, address: string): ChainAddress<C>;
201
201
  /**
202
- * Parse an address from its canonincal string format to a NativeAddress
202
+ * Parse an address from its canonical string format to a NativeAddress
203
203
  *
204
204
  * @param chain The chain the address is for
205
205
  * @param address The native address in canonical string format or the string "native"
@@ -305,7 +305,7 @@ class Wormhole {
305
305
  return (0, sdk_definitions_1.canonicalAddress)(chainAddress);
306
306
  }
307
307
  /**
308
- * Parse an address from its canonincal string format to a NativeAddress
308
+ * Parse an address from its canonical string format to a NativeAddress
309
309
  *
310
310
  * @param chain The chain the address is for
311
311
  * @param address The native address in canonical string format
@@ -315,7 +315,7 @@ class Wormhole {
315
315
  return { chain, address: Wormhole.parseAddress(chain, address) };
316
316
  }
317
317
  /**
318
- * Parse an address from its canonincal string format to a NativeAddress
318
+ * Parse an address from its canonical string format to a NativeAddress
319
319
  *
320
320
  * @param chain The chain the address is for
321
321
  * @param address The native address in canonical string format or the string "native"
@@ -1,11 +1,12 @@
1
1
  import type { StaticRouteMethods } from "../route.js";
2
2
  import { AutomaticRoute } from "../route.js";
3
3
  import type { Quote, QuoteResult, Receipt, TransferParams, ValidatedTransferParams, ValidationResult } from "../types.js";
4
- import type { AttestationReceipt, Chain, ChainContext, Network, Signer, SourceInitiatedTransferReceipt, TokenId, TransactionId } from "./../../index.js";
5
- import { PorticoBridge, TransferState, amount } from "./../../index.js";
4
+ import type { AttestationReceipt, AttestedTransferReceipt, Chain, ChainContext, CompletedTransferReceipt, Network, Signer, SourceInitiatedTransferReceipt, TokenId, TransactionId } from "./../../index.js";
5
+ import { PorticoBridge, amount } from "./../../index.js";
6
6
  import type { ChainAddress } from "@wormhole-foundation/sdk-definitions";
7
7
  import type { RouteTransferRequest } from "../request.js";
8
8
  export declare const SLIPPAGE_BPS = 15n;
9
+ export declare const MAX_SLIPPAGE_BPS = 100n;
9
10
  export declare const BPS_PER_HUNDRED_PERCENT = 10000n;
10
11
  export declare namespace PorticoRoute {
11
12
  type Options = {};
@@ -32,7 +33,6 @@ export declare class AutomaticPorticoRoute<N extends Network> extends AutomaticR
32
33
  static meta: {
33
34
  name: string;
34
35
  };
35
- private static _supportedTokens;
36
36
  static supportedNetworks(): Network[];
37
37
  static supportedChains(network: Network): Chain[];
38
38
  static supportedSourceTokens(fromChain: ChainContext<Network>): Promise<TokenId[]>;
@@ -43,30 +43,9 @@ export declare class AutomaticPorticoRoute<N extends Network> extends AutomaticR
43
43
  validate(request: RouteTransferRequest<N>, params: TP): Promise<VR>;
44
44
  quote(request: RouteTransferRequest<N>, params: VP): Promise<QR>;
45
45
  initiate(request: RouteTransferRequest<N>, sender: Signer<N>, quote: Q, to: ChainAddress): Promise<SourceInitiatedTransferReceipt<"Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance">>;
46
- track(receipt: R, timeout?: number): AsyncGenerator<{
47
- vaa: import("@wormhole-foundation/sdk-definitions").VAA<"TokenBridge:TransferWithPayload">;
48
- parsed: {
49
- readonly flagSet: {
50
- readonly recipientChain: number;
51
- readonly bridgeNonce: number;
52
- readonly feeTierStart: number;
53
- readonly feeTierFinish: number;
54
- readonly padding: Uint8Array;
55
- readonly flags: import("@wormhole-foundation/sdk-base").Bitset<readonly ["shouldWrapNative", "shouldUnwrapNative"]>;
56
- };
57
- readonly finalTokenAddress: import("@wormhole-foundation/sdk-definitions").UniversalAddress;
58
- readonly recipientAddress: import("@wormhole-foundation/sdk-definitions").UniversalAddress;
59
- readonly cannonAssetAmount: bigint;
60
- readonly minAmountFinish: bigint;
61
- readonly relayerFee: bigint;
62
- };
63
- state: TransferState.SourceInitiated;
64
- originTxs: TransactionId<"Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance">[];
65
- from: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance";
66
- to: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance";
67
- }, void, unknown>;
46
+ track(receipt: R, timeout?: number): AsyncGenerator<import("../../types.js").CreatedTransferReceipt<"Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance"> | import("../../types.js").FailedTransferReceipt<AttestationReceipt<"PorticoBridge">, "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance"> | import("../../types.js").InReviewTransferReceipt<AttestationReceipt<"PorticoBridge">, "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance"> | AttestedTransferReceipt<AttestationReceipt<"PorticoBridge">, "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance"> | import("../../types.js").RefundedTransferReceipt<AttestationReceipt<"PorticoBridge">, "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance"> | import("../../types.js").RedeemedTransferReceipt<AttestationReceipt<"PorticoBridge">, "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance"> | import("../../types.js").DestinationQueuedTransferReceipt<AttestationReceipt<"PorticoBridge">, "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance"> | CompletedTransferReceipt<AttestationReceipt<"PorticoBridge">, "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Snaxchain" | "Unichain" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance">, void, unknown>;
68
47
  complete(signer: Signer<N>, receipt: R): Promise<TransactionId[]>;
69
- private quoteUniswap;
48
+ private fetchSwapQuote;
70
49
  }
71
50
  export {};
72
51
  //# sourceMappingURL=automatic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"automatic.d.ts","sourceRoot":"","sources":["../../../../src/routes/portico/automatic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"automatic.d.ts","sourceRoot":"","sources":["../../../../src/routes/portico/automatic.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { filters, finality } from "@wormhole-foundation/sdk-base";
2
2
  import { AutomaticRoute } from "../route.js";
3
- import { PorticoBridge, TokenTransfer, TransferState, Wormhole, amount, canonicalAddress, chainToPlatform, contracts, isAttested, isNative, isSourceInitiated, resolveWrappedToken, signSendWait, } from "./../../index.js";
3
+ import { TokenTransfer, TransferState, Wormhole, amount, canonicalAddress, contracts, isAttested, isSourceFinalized, isSourceInitiated, resolveWrappedToken, signSendWait, } from "./../../index.js";
4
4
  export const SLIPPAGE_BPS = 15n; // 0.15%
5
+ export const MAX_SLIPPAGE_BPS = 100n; // 1%
5
6
  export const BPS_PER_HUNDRED_PERCENT = 10000n;
6
7
  export class AutomaticPorticoRoute extends AutomaticRoute {
7
8
  static NATIVE_GAS_DROPOFF_SUPPORTED = false;
8
9
  static meta = {
9
10
  name: "AutomaticPortico",
10
11
  };
11
- static _supportedTokens = ["WETH", "WSTETH"];
12
12
  static supportedNetworks() {
13
13
  return ["Mainnet"];
14
14
  }
@@ -19,52 +19,43 @@ export class AutomaticPorticoRoute extends AutomaticRoute {
19
19
  return [];
20
20
  }
21
21
  static async supportedSourceTokens(fromChain) {
22
- const { chain } = fromChain;
23
- const supported = this._supportedTokens
24
- .map((symbol) => {
25
- return filters.bySymbol(fromChain.config.tokenMap, symbol) ?? [];
26
- })
27
- .flat()
28
- .filter((td) => {
29
- const localOrEth = !td.original || td.original === "Ethereum";
30
- const isAvax = chain === "Avalanche" && isNative(td.address);
31
- return localOrEth && !isAvax;
32
- });
33
- return supported.map((td) => Wormhole.tokenId(chain, td.address));
22
+ const pb = await fromChain.getPorticoBridge();
23
+ const { tokenMap } = fromChain.config;
24
+ return pb
25
+ .supportedTokens()
26
+ .filter((t) => !tokenMap || filters.byAddress(tokenMap, canonicalAddress(t.token)))
27
+ .map((t) => t.token);
34
28
  }
35
29
  static async supportedDestinationTokens(sourceToken, fromChain, toChain) {
36
30
  const [, srcTokenAddress] = resolveWrappedToken(fromChain.network, fromChain.chain, sourceToken);
37
31
  const tokenAddress = canonicalAddress(srcTokenAddress);
38
- // The token that will be used to bridge
39
32
  const pb = await fromChain.getPorticoBridge();
40
- const transferrableToken = pb.getTransferrableToken(tokenAddress);
41
- // The tokens that _will_ be received on redemption
42
- const redeemToken = await TokenTransfer.lookupDestinationToken(fromChain, toChain, transferrableToken);
43
- // Grab the symbol for the token that gets redeemed
44
- const redeemTokenDetails = filters.byAddress(toChain.config.tokenMap, canonicalAddress(redeemToken));
45
- // Find the local/native version of the same token by symbol
46
- const locallyRedeemable = (filters.bySymbol(toChain.config.tokenMap, redeemTokenDetails.symbol) ?? [])
47
- .filter((td) => {
48
- return !td.original;
49
- })
50
- .map((td) => {
51
- switch (td.symbol) {
52
- case "ETH":
53
- case "WETH":
54
- return Wormhole.tokenId(toChain.chain, td.address);
55
- case "WSTETH":
56
- return Wormhole.tokenId(toChain.chain, td.address);
57
- default:
58
- throw new Error("Unknown symbol: " + redeemTokenDetails.symbol);
59
- }
60
- });
61
- return locallyRedeemable;
33
+ try {
34
+ // The highway token that will be used to bridge
35
+ const transferrableToken = await pb.getTransferrableToken(tokenAddress);
36
+ // Make sure it exists on the destination chain
37
+ await TokenTransfer.lookupDestinationToken(fromChain, toChain, transferrableToken);
38
+ }
39
+ catch {
40
+ return [];
41
+ }
42
+ // Find the destination token(s) in the same group
43
+ const toPb = await toChain.getPorticoBridge();
44
+ const tokens = toPb.supportedTokens();
45
+ const { tokenMap } = toChain.config;
46
+ const group = pb.getTokenGroup(tokenAddress);
47
+ return tokens
48
+ .filter((t) => (t.group === group ||
49
+ // ETH/WETH supports wrapping/unwrapping
50
+ (t.group === "ETH" && group === "WETH") ||
51
+ (t.group === "WETH" && group === "ETH")) &&
52
+ (!tokenMap || filters.byAddress(tokenMap, canonicalAddress(t.token))))
53
+ .map((t) => t.token);
62
54
  }
63
55
  static isProtocolSupported(chain) {
64
56
  return chain.supportsPorticoBridge();
65
57
  }
66
58
  async isAvailable() {
67
- // TODO:
68
59
  return true;
69
60
  }
70
61
  getDefaultOptions() {
@@ -72,9 +63,9 @@ export class AutomaticPorticoRoute extends AutomaticRoute {
72
63
  }
73
64
  async validate(request, params) {
74
65
  try {
75
- if (chainToPlatform(request.fromChain.chain) !== "Evm" ||
76
- chainToPlatform(request.toChain.chain) !== "Evm") {
77
- throw new Error("Only EVM chains are supported");
66
+ if (!AutomaticPorticoRoute.isProtocolSupported(request.fromChain) ||
67
+ !AutomaticPorticoRoute.isProtocolSupported(request.toChain)) {
68
+ throw new Error("Protocol not supported");
78
69
  }
79
70
  const { fromChain, toChain, source, destination } = request;
80
71
  const { network } = fromChain;
@@ -83,8 +74,8 @@ export class AutomaticPorticoRoute extends AutomaticRoute {
83
74
  const [, destinationToken] = resolveWrappedToken(network, toChain.chain, destination.id);
84
75
  const fromPb = await fromChain.getPorticoBridge();
85
76
  const toPb = await toChain.getPorticoBridge();
86
- const canonicalSourceToken = fromPb.getTransferrableToken(canonicalAddress(sourceToken));
87
- const canonicalDestinationToken = toPb.getTransferrableToken(canonicalAddress(destinationToken));
77
+ const canonicalSourceToken = await fromPb.getTransferrableToken(canonicalAddress(sourceToken));
78
+ const canonicalDestinationToken = await toPb.getTransferrableToken(canonicalAddress(destinationToken));
88
79
  const validatedParams = {
89
80
  amount: params.amount,
90
81
  options: params.options ?? this.getDefaultOptions(),
@@ -104,15 +95,25 @@ export class AutomaticPorticoRoute extends AutomaticRoute {
104
95
  }
105
96
  async quote(request, params) {
106
97
  try {
107
- const swapAmounts = await this.quoteUniswap(request, params);
98
+ const swapAmounts = await this.fetchSwapQuote(request, params);
99
+ // destination token may have a different number of decimals than the source token
100
+ // so we need to scale the amounts to the token with the most decimals
101
+ // before comparing them
102
+ const maxDecimals = Math.max(request.source.decimals, request.destination.decimals);
103
+ const scaledAmount = amount.units(amount.scale(params.normalizedParams.amount, maxDecimals));
104
+ const scaledMinAmountFinish = amount.units(amount.scale(amount.fromBaseUnits(swapAmounts.minAmountFinish, request.destination.decimals), maxDecimals));
105
+ // if the slippage is more than 100bps, this likely means that the pools are unbalanced
106
+ if (scaledMinAmountFinish <
107
+ scaledAmount - (scaledAmount * MAX_SLIPPAGE_BPS) / BPS_PER_HUNDRED_PERCENT)
108
+ throw new Error("Slippage too high");
108
109
  const pb = await request.toChain.getPorticoBridge();
109
110
  const fee = await pb.quoteRelay(params.normalizedParams.canonicalDestinationToken.address, params.normalizedParams.destinationToken.address);
110
111
  const details = {
111
112
  swapAmounts,
112
113
  relayerFee: fee,
113
114
  };
114
- let destinationAmount = details.swapAmounts.minAmountFinish - fee;
115
- if (Number(destinationAmount) < 0) {
115
+ const destinationAmount = details.swapAmounts.minAmountFinish - fee;
116
+ if (destinationAmount < 0n) {
116
117
  return {
117
118
  success: false,
118
119
  error: new Error(`Amount too low for slippage and fee, would result in negative destination amount (${destinationAmount})`),
@@ -146,7 +147,10 @@ export class AutomaticPorticoRoute extends AutomaticRoute {
146
147
  const sourceToken = request.source.id.address;
147
148
  const destToken = request.destination.id;
148
149
  const fromPorticoBridge = await request.fromChain.getPorticoBridge();
149
- const xfer = fromPorticoBridge.transfer(Wormhole.parseAddress(sender.chain(), sender.address()), to, sourceToken, amount.units(params.normalizedParams.amount), destToken, details);
150
+ const tokenGroup = fromPorticoBridge.getTokenGroup(sourceToken.toString());
151
+ const toPorticoBridge = await request.toChain.getPorticoBridge();
152
+ const destPorticoAddress = toPorticoBridge.getPorticoAddress(tokenGroup);
153
+ const xfer = fromPorticoBridge.transfer(Wormhole.parseAddress(sender.chain(), sender.address()), to, sourceToken, amount.units(params.normalizedParams.amount), destToken, destPorticoAddress, details);
150
154
  const txids = await signSendWait(request.fromChain, xfer, sender);
151
155
  const receipt = {
152
156
  originTxs: txids,
@@ -157,14 +161,40 @@ export class AutomaticPorticoRoute extends AutomaticRoute {
157
161
  return receipt;
158
162
  }
159
163
  async *track(receipt, timeout) {
160
- if (!isSourceInitiated(receipt))
161
- throw new Error("Source must be initiated");
162
- const { txid } = receipt.originTxs[receipt.originTxs.length - 1];
163
- const vaa = await this.wh.getVaa(txid, "TokenBridge:TransferWithPayload", timeout);
164
- if (!vaa)
165
- throw new Error("No VAA found for transaction: " + txid);
166
- const parsed = PorticoBridge.deserializePayload(vaa.payload.payload);
167
- yield { ...receipt, vaa, parsed };
164
+ if (isSourceInitiated(receipt) || isSourceFinalized(receipt)) {
165
+ const { txid } = receipt.originTxs[receipt.originTxs.length - 1];
166
+ const vaa = await this.wh.getVaa(txid, "PorticoBridge:Transfer", timeout);
167
+ if (!vaa)
168
+ throw new Error("No VAA found for transaction: " + txid);
169
+ const msgId = {
170
+ chain: vaa.emitterChain,
171
+ emitter: vaa.emitterAddress,
172
+ sequence: vaa.sequence,
173
+ };
174
+ receipt = {
175
+ ...receipt,
176
+ state: TransferState.Attested,
177
+ attestation: {
178
+ id: msgId,
179
+ attestation: vaa,
180
+ },
181
+ };
182
+ yield receipt;
183
+ }
184
+ if (isAttested(receipt)) {
185
+ const toChain = this.wh.getChain(receipt.to);
186
+ const toPorticoBridge = await toChain.getPorticoBridge();
187
+ const isCompleted = await toPorticoBridge.isTransferCompleted(receipt.attestation.attestation);
188
+ if (isCompleted) {
189
+ receipt = {
190
+ ...receipt,
191
+ state: TransferState.DestinationFinalized,
192
+ };
193
+ yield receipt;
194
+ }
195
+ }
196
+ // TODO: handle swap failed case (highway token received)
197
+ yield receipt;
168
198
  }
169
199
  async complete(signer, receipt) {
170
200
  if (!isAttested(receipt))
@@ -175,32 +205,24 @@ export class AutomaticPorticoRoute extends AutomaticRoute {
175
205
  const xfer = toPorticoBridge.redeem(sender.address, receipt.attestation.attestation);
176
206
  return await signSendWait(toChain, xfer, signer);
177
207
  }
178
- async quoteUniswap(request, params) {
179
- const fromPorticoBridge = await request.fromChain.getPorticoBridge();
180
- const startQuote = await fromPorticoBridge.quoteSwap(params.normalizedParams.sourceToken.address, params.normalizedParams.canonicalSourceToken.address, amount.units(params.normalizedParams.amount));
208
+ async fetchSwapQuote(request, params) {
209
+ const fromPb = await request.fromChain.getPorticoBridge();
210
+ const xferAmount = amount.units(params.normalizedParams.amount);
211
+ const tokenGroup = fromPb.getTokenGroup(canonicalAddress(params.normalizedParams.sourceToken));
212
+ const startQuote = await fromPb.quoteSwap(params.normalizedParams.sourceToken.address, params.normalizedParams.canonicalSourceToken.address, tokenGroup, xferAmount);
181
213
  const startSlippage = (startQuote * SLIPPAGE_BPS) / BPS_PER_HUNDRED_PERCENT;
182
214
  if (startSlippage >= startQuote)
183
215
  throw new Error("Start slippage too high");
184
- const toPorticoBridge = await request.toChain.getPorticoBridge();
216
+ const toPb = await request.toChain.getPorticoBridge();
185
217
  const minAmountStart = startQuote - startSlippage;
186
- const finishQuote = await toPorticoBridge.quoteSwap(params.normalizedParams.canonicalDestinationToken.address, params.normalizedParams.destinationToken.address, minAmountStart);
218
+ const finishQuote = await toPb.quoteSwap(params.normalizedParams.canonicalDestinationToken.address, params.normalizedParams.destinationToken.address, tokenGroup, minAmountStart);
187
219
  const finishSlippage = (finishQuote * SLIPPAGE_BPS) / BPS_PER_HUNDRED_PERCENT;
188
220
  if (finishSlippage >= finishQuote)
189
221
  throw new Error("Finish slippage too high");
190
222
  const minAmountFinish = finishQuote - finishSlippage;
191
- const amountFinishQuote = await toPorticoBridge.quoteSwap(params.normalizedParams.canonicalDestinationToken.address, params.normalizedParams.destinationToken.address, startQuote);
192
- // the expected receive amount is the amount out from the swap
193
- // minus 5bps slippage
194
- const amountFinishSlippage = (amountFinishQuote * 5n) / BPS_PER_HUNDRED_PERCENT;
195
- if (amountFinishSlippage >= amountFinishQuote)
196
- throw new Error("Amount finish slippage too high");
197
- const amountFinish = amountFinishQuote - amountFinishSlippage;
198
- if (amountFinish <= minAmountFinish)
199
- throw new Error("Amount finish too low");
200
223
  return {
201
224
  minAmountStart: minAmountStart,
202
225
  minAmountFinish: minAmountFinish,
203
- amountFinish: amountFinish,
204
226
  };
205
227
  }
206
228
  }
@@ -1 +1 @@
1
- {"version":3,"file":"automatic.js","sourceRoot":"","sources":["../../../../src/routes/portico/automatic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"automatic.js","sourceRoot":"","sources":["../../../../src/routes/portico/automatic.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/routes/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEjE,qBAAa,oBAAoB,CAAC,CAAC,SAAS,OAAO;IACjD,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,YAAY,CAAC;IAE1B,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAEzB,OAAO;IAYP,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM;IAIvC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM;IAIzC,YAAY,CAAC,EAAE,EAAE,EAAE,SAAS,uBAAuB,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,EAAE,CAAC,EACzF,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,EAAE,EACV,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;WAuCZ,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,SAAS,KAAK,EAAE,EAAE,SAAS,KAAK,EACvE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EACf,MAAM,EAAE;QACN,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;KAC1B,EACD,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,EAC/B,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC;CAYhC"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/routes/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEjE,qBAAa,oBAAoB,CAAC,CAAC,SAAS,OAAO;IACjD,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,YAAY,CAAC;IAE1B,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAEzB,OAAO;IAYP,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM;IAIvC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM;IAIzC,YAAY,CAAC,EAAE,EAAE,EAAE,SAAS,uBAAuB,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,EAAE,CAAC,EACzF,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,EAAE,EACV,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;WA2CZ,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,SAAS,KAAK,EAAE,EAAE,SAAS,KAAK,EACvE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EACf,MAAM,EAAE;QACN,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;KAC1B,EACD,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,EAC/B,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC;CAYhC"}
@@ -31,9 +31,11 @@ export class RouteTransferRequest {
31
31
  params,
32
32
  };
33
33
  if (quote.relayFee) {
34
+ const relayFeeChain = quote.relayFee.token.chain === this.fromChain.chain ? this.fromChain : this.toChain;
35
+ const relayFeeDecimals = await relayFeeChain.getDecimals(quote.relayFee.token.address);
34
36
  dq.relayFee = {
35
37
  token: quote.relayFee.token,
36
- amount: amount.fromBaseUnits(quote.relayFee.amount, this.source.decimals),
38
+ amount: amount.fromBaseUnits(quote.relayFee.amount, relayFeeDecimals),
37
39
  };
38
40
  }
39
41
  if (quote.destinationNativeGas) {
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/routes/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/routes/request.ts"],"names":[],"mappings":"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"}
@@ -191,7 +191,7 @@ export declare class Wormhole<N extends Network> {
191
191
  */
192
192
  static canonicalAddress(chainAddress: ChainAddress | TokenId): string;
193
193
  /**
194
- * Parse an address from its canonincal string format to a NativeAddress
194
+ * Parse an address from its canonical string format to a NativeAddress
195
195
  *
196
196
  * @param chain The chain the address is for
197
197
  * @param address The native address in canonical string format
@@ -199,7 +199,7 @@ export declare class Wormhole<N extends Network> {
199
199
  */
200
200
  static chainAddress<C extends Chain>(chain: C, address: string): ChainAddress<C>;
201
201
  /**
202
- * Parse an address from its canonincal string format to a NativeAddress
202
+ * Parse an address from its canonical string format to a NativeAddress
203
203
  *
204
204
  * @param chain The chain the address is for
205
205
  * @param address The native address in canonical string format or the string "native"
@@ -302,7 +302,7 @@ export class Wormhole {
302
302
  return canonicalAddress(chainAddress);
303
303
  }
304
304
  /**
305
- * Parse an address from its canonincal string format to a NativeAddress
305
+ * Parse an address from its canonical string format to a NativeAddress
306
306
  *
307
307
  * @param chain The chain the address is for
308
308
  * @param address The native address in canonical string format
@@ -312,7 +312,7 @@ export class Wormhole {
312
312
  return { chain, address: Wormhole.parseAddress(chain, address) };
313
313
  }
314
314
  /**
315
- * Parse an address from its canonincal string format to a NativeAddress
315
+ * Parse an address from its canonical string format to a NativeAddress
316
316
  *
317
317
  * @param chain The chain the address is for
318
318
  * @param address The native address in canonical string format or the string "native"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wormhole-foundation/sdk-connect",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/wormhole-foundation/connect-sdk.git"
@@ -98,8 +98,8 @@
98
98
  },
99
99
  "dependencies": {
100
100
  "axios": "^1.4.0",
101
- "@wormhole-foundation/sdk-base": "0.11.0",
102
- "@wormhole-foundation/sdk-definitions": "0.11.0"
101
+ "@wormhole-foundation/sdk-base": "0.12.0",
102
+ "@wormhole-foundation/sdk-definitions": "0.12.0"
103
103
  },
104
104
  "type": "module"
105
105
  }