@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.
- package/dist/cjs/routes/portico/automatic.d.ts +5 -26
- package/dist/cjs/routes/portico/automatic.d.ts.map +1 -1
- package/dist/cjs/routes/portico/automatic.js +92 -70
- package/dist/cjs/routes/portico/automatic.js.map +1 -1
- package/dist/cjs/routes/request.d.ts.map +1 -1
- package/dist/cjs/routes/request.js +3 -1
- package/dist/cjs/routes/request.js.map +1 -1
- package/dist/cjs/wormhole.d.ts +2 -2
- package/dist/cjs/wormhole.js +2 -2
- package/dist/esm/routes/portico/automatic.d.ts +5 -26
- package/dist/esm/routes/portico/automatic.d.ts.map +1 -1
- package/dist/esm/routes/portico/automatic.js +92 -70
- package/dist/esm/routes/portico/automatic.js.map +1 -1
- package/dist/esm/routes/request.d.ts.map +1 -1
- package/dist/esm/routes/request.js +3 -1
- package/dist/esm/routes/request.js.map +1 -1
- package/dist/esm/wormhole.d.ts +2 -2
- package/dist/esm/wormhole.js +2 -2
- package/package.json +3 -3
|
@@ -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,
|
|
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
|
|
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":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,OAAO,EACP,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,kBAAkB,EAClB,KAAK,EACL,YAAY,EACZ,OAAO,EACP,MAAM,EACN,8BAA8B,EAC9B,OAAO,EACP,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,aAAa,
|
|
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
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
.
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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 (
|
|
79
|
-
|
|
80
|
-
throw new Error("
|
|
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.
|
|
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
|
-
|
|
118
|
-
if (
|
|
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
|
|
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 (
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
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
|
|
182
|
-
const
|
|
183
|
-
const
|
|
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
|
|
219
|
+
const toPb = await request.toChain.getPorticoBridge();
|
|
188
220
|
const minAmountStart = startQuote - startSlippage;
|
|
189
|
-
const finishQuote = await
|
|
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":";;;AAAA,4DAAkE;AAElE,0CAA6C;
|
|
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;
|
|
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,
|
|
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":";;;AACA,4DAAuD;AAKvD,yCAA6C;AAG7C,MAAa,oBAAoB;IAC/B,MAAM,CAAe;IACrB,WAAW,CAAe;IAE1B,SAAS,CAAkB;IAC3B,OAAO,CAAkB;IAEzB,YACE,SAA0B,EAC1B,OAAwB,EACxB,MAAoB,EACpB,WAAyB;QAEzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,OAAO,iBAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,mBAAmB,CAAC,GAAW;QAC7B,OAAO,iBAAM,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,KAAoB,EACpB,MAAU,EACV,OAAa;QAEb,IAAI,EAAE,GAAkB;YACtB,OAAO,EAAE,IAAI;YACb,WAAW,EAAE;gBACX,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK;gBAC9B,MAAM,EAAE,iBAAM,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;aAC7E;YACD,gBAAgB,EAAE;gBAChB,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,KAAK;gBACnC,MAAM,EAAE,iBAAM,CAAC,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;aACvF;YACD,MAAM;SACP,CAAC;QAEF,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,EAAE,CAAC,QAAQ,GAAG;gBACZ,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;gBAC3B,MAAM,EAAE,iBAAM,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/routes/request.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/wormhole.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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"
|
package/dist/cjs/wormhole.js
CHANGED
|
@@ -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
|
|
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
|
|
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,
|
|
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
|
|
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":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,OAAO,EACP,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,kBAAkB,EAClB,KAAK,EACL,YAAY,EACZ,OAAO,EACP,MAAM,EACN,8BAA8B,EAC9B,OAAO,EACP,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,aAAa,
|
|
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 {
|
|
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
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
.
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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 (
|
|
76
|
-
|
|
77
|
-
throw new Error("
|
|
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.
|
|
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
|
-
|
|
115
|
-
if (
|
|
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
|
|
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 (
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
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
|
|
179
|
-
const
|
|
180
|
-
const
|
|
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
|
|
216
|
+
const toPb = await request.toChain.getPorticoBridge();
|
|
185
217
|
const minAmountStart = startQuote - startSlippage;
|
|
186
|
-
const finishQuote = await
|
|
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":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"automatic.js","sourceRoot":"","sources":["../../../../src/routes/portico/automatic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAqB7C,OAAO,EAEL,aAAa,EACb,aAAa,EACb,QAAQ,EACR,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAI1B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,QAAQ;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,KAAK;AAC3C,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAO,CAAC;AA8B/C,MAAM,OAAO,qBACX,SAAQ,cAA4B;IAGpC,MAAM,CAAC,4BAA4B,GAAG,KAAK,CAAC;IAE5C,MAAM,CAAC,IAAI,GAAG;QACZ,IAAI,EAAE,kBAAkB;KACzB,CAAC;IAEF,MAAM,CAAC,iBAAiB;QACtB,OAAO,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,OAAgB;QACrC,IAAI,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,OAAO,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;QACvD,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,SAAgC;QACjE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC;QACtC,OAAO,EAAE;aACN,eAAe,EAAE;aACjB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAClF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,0BAA0B,CACrC,WAAoB,EACpB,SAA0B,EAC1B,OAAwB;QAExB,MAAM,CAAC,EAAE,eAAe,CAAC,GAAG,mBAAmB,CAC7C,SAAS,CAAC,OAAO,EACjB,SAAS,CAAC,KAAK,EACf,WAAW,CACZ,CAAC;QACF,MAAM,YAAY,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAEvD,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;QAE9C,IAAI,CAAC;YACH,gDAAgD;YAChD,MAAM,kBAAkB,GAAG,MAAM,EAAE,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;YACxE,+CAA+C;YAC/C,MAAM,aAAa,CAAC,sBAAsB,CAAC,SAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;QACrF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,kDAAkD;QAClD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QACpC,MAAM,KAAK,GAAG,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC7C,OAAO,MAAM;aACV,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK;YAChB,wCAAwC;YACxC,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,MAAM,CAAC;YACvC,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,CAAC,CAAC;YAC1C,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACxE;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAoB,KAAsB;QAClE,OAAO,KAAK,CAAC,qBAAqB,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAgC,EAAE,MAAU;QACzD,IAAI,CAAC;YACH,IACE,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC7D,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,EAC3D,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;YAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;YAE9B,0EAA0E;YAC1E,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACjF,MAAM,CAAC,EAAE,gBAAgB,CAAC,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,WAAY,CAAC,EAAE,CAAC,CAAC;YAE1F,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAE9C,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAC7D,gBAAgB,CAAC,WAAW,CAAC,CAC9B,CAAC;YAEF,MAAM,yBAAyB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAChE,gBAAgB,CAAC,gBAAgB,CAAC,CACnC,CAAC;YAEF,MAAM,eAAe,GAAO;gBAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACnD,gBAAgB,EAAE;oBAChB,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC1C,oBAAoB;oBACpB,yBAAyB;oBACzB,WAAW;oBACX,gBAAgB;iBACjB;aACF,CAAC;YAEF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QAClD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAgC,EAAE,MAAU;QACtD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAE/D,kFAAkF;YAClF,sEAAsE;YACtE,wBAAwB;YACxB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACpF,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;YAC7F,MAAM,qBAAqB,GAAG,MAAM,CAAC,KAAK,CACxC,MAAM,CAAC,KAAK,CACV,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAC/E,WAAW,CACZ,CACF,CAAC;YACF,uFAAuF;YACvF,IACE,qBAAqB;gBACrB,YAAY,GAAG,CAAC,YAAY,GAAG,gBAAgB,CAAC,GAAG,uBAAuB;gBAE1E,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAEvC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAEpD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,UAAU,CAC7B,MAAM,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,OAAO,EACzD,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,CACjD,CAAC;YAEF,MAAM,OAAO,GAAwB;gBACnC,WAAW;gBACX,UAAU,EAAE,GAAG;aAChB,CAAC;YAEF,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,GAAG,GAAG,CAAC;YAEpE,IAAI,iBAAiB,GAAG,EAAE,EAAE,CAAC;gBAC3B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,IAAI,KAAK,CACd,qFAAqF,iBAAiB,GAAG,CAC1G;iBACF,CAAC;YACJ,CAAC;YAED,OAAO,CAAC,MAAM,OAAO,CAAC,YAAY,CAChC;gBACE,WAAW,EAAE;oBACX,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,WAAW;oBAC1C,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;iBACrD;gBACD,gBAAgB,EAAE;oBAChB,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,gBAAgB;oBAC/C,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,eAAe,GAAG,GAAG;iBAClD;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,gBAAgB;oBAC/C,MAAM,EAAE,GAAG;iBACZ;gBACD,GAAG,EAAE,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;aAC5D,EACD,MAAM,EACN,OAAO,CACR,CAAM,CAAC;QACV,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,CAAU;aAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAgC,EAAE,MAAiB,EAAE,KAAQ,EAAE,EAAgB;QAC5F,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAElC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC;QAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,WAAY,CAAC,EAAE,CAAC;QAE1C,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;QACrE,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3E,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACjE,MAAM,kBAAkB,GAAG,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEzE,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CACrC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EACvD,EAAE,EACF,WAAW,EACX,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAC5C,SAAU,EACV,kBAAkB,EAClB,OAAQ,CACT,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAClE,MAAM,OAAO,GAAmC;YAC9C,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,aAAa,CAAC,eAAe;YACpC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK;YAC7B,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK;SAC1B,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,CAAC,KAAK,CAAC,OAAU,EAAE,OAAgB;QACvC,IAAI,iBAAiB,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;YAElE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAC;YAC1E,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAC;YAEnE,MAAM,KAAK,GAAsB;gBAC/B,KAAK,EAAE,GAAG,CAAC,YAAY;gBACvB,OAAO,EAAE,GAAG,CAAC,cAAc;gBAC3B,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACvB,CAAC;YAEF,OAAO,GAAG;gBACR,GAAG,OAAO;gBACV,KAAK,EAAE,aAAa,CAAC,QAAQ;gBAC7B,WAAW,EAAE;oBACX,EAAE,EAAE,KAAK;oBACT,WAAW,EAAE,GAAG;iBACjB;aACqE,CAAC;YAEzE,MAAM,OAAO,CAAC;QAChB,CAAC;QAED,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7C,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACzD,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAC3D,OAAO,CAAC,WAAW,CAAC,WAAW,CAChC,CAAC;YACF,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,GAAG;oBACR,GAAG,OAAO;oBACV,KAAK,EAAE,aAAa,CAAC,oBAAoB;iBAC8B,CAAC;gBAE1E,MAAM,OAAO,CAAC;YAChB,CAAC;QACH,CAAC;QAED,yDAAyD;QAEzD,MAAM,OAAO,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAiB,EAAE,OAAU;QAC1C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAErE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACrF,OAAO,MAAM,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,OAAgC,EAAE,MAAU;QACvE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;QAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/F,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CACvC,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,EAC3C,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,OAAO,EACpD,UAAU,EACV,UAAU,CACX,CAAC;QACF,MAAM,aAAa,GAAG,CAAC,UAAU,GAAG,YAAY,CAAC,GAAG,uBAAuB,CAAC;QAE5E,IAAI,aAAa,IAAI,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAE5E,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACtD,MAAM,cAAc,GAAG,UAAU,GAAG,aAAa,CAAC;QAClD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CACtC,MAAM,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,OAAO,EACzD,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,EAChD,UAAU,EACV,cAAc,CACf,CAAC;QACF,MAAM,cAAc,GAAG,CAAC,WAAW,GAAG,YAAY,CAAC,GAAG,uBAAuB,CAAC;QAE9E,IAAI,cAAc,IAAI,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAE/E,MAAM,eAAe,GAAG,WAAW,GAAG,cAAc,CAAC;QAErD,OAAO;YACL,cAAc,EAAE,cAAc;YAC9B,eAAe,EAAE,eAAe;SACjC,CAAC;IACJ,CAAC"}
|
|
@@ -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;
|
|
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,
|
|
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":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAKvD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,MAAM,OAAO,oBAAoB;IAC/B,MAAM,CAAe;IACrB,WAAW,CAAe;IAE1B,SAAS,CAAkB;IAC3B,OAAO,CAAkB;IAEzB,YACE,SAA0B,EAC1B,OAAwB,EACxB,MAAoB,EACpB,WAAyB;QAEzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,mBAAmB,CAAC,GAAW;QAC7B,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,KAAoB,EACpB,MAAU,EACV,OAAa;QAEb,IAAI,EAAE,GAAkB;YACtB,OAAO,EAAE,IAAI;YACb,WAAW,EAAE;gBACX,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK;gBAC9B,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;aAC7E;YACD,gBAAgB,EAAE;gBAChB,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,KAAK;gBACnC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;aACvF;YACD,MAAM;SACP,CAAC;QAEF,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,EAAE,CAAC,QAAQ,GAAG;gBACZ,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;gBAC3B,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/routes/request.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/wormhole.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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"
|
package/dist/esm/wormhole.js
CHANGED
|
@@ -302,7 +302,7 @@ export class Wormhole {
|
|
|
302
302
|
return canonicalAddress(chainAddress);
|
|
303
303
|
}
|
|
304
304
|
/**
|
|
305
|
-
* Parse an address from its
|
|
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
|
|
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.
|
|
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.
|
|
102
|
-
"@wormhole-foundation/sdk-definitions": "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
|
}
|