@stable-io/cctp-sdk-cctpr-evm
Version:
EVM support for the CCTPR corridor of the CCTP SDK
302 lines • 16.1 kB
TypeScript
import type { DeriveType } from "binary-layout";
import type { Network } from "@stable-io/cctp-sdk-definitions";
export declare const quoteRelayLayout: <N extends Network>(network: N) => {
readonly binary: "switch";
readonly idSize: 1;
readonly idTag: "quoteRelay";
readonly layouts: readonly [readonly [readonly [129, "inUsdc"], readonly [{
readonly size: 1;
readonly custom: {
to: (val: number) => import("@stable-io/utils").ApplyAliases<import("@stable-io/cctp-sdk-definitions").DomainAliases, {
Mainnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Solana", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"];
Testnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"];
}[N extends bigint ? `bigint(${N})` : N extends boolean ? `boolean(${N})` : N][number]>;
from: (val: import("@stable-io/utils").ApplyAliases<import("@stable-io/cctp-sdk-definitions").DomainAliases, {
Mainnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Solana", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"];
Testnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"];
}[N extends bigint ? `bigint(${N})` : N extends boolean ? `boolean(${N})` : N][number]>) => number;
};
readonly binary: "uint";
readonly name: "destinationDomain";
}, {
readonly binary: "uint";
readonly size: 1;
readonly endianness: "big";
readonly custom: {
readonly to: (encoded: number) => "v1" | "v2Direct" | "avaxHop";
readonly from: (name: "v1" | "v2Direct" | "avaxHop") => number;
};
readonly name: "corridor";
}, {
readonly binary: "uint";
readonly size: 4;
readonly custom: {
to: (val: number) => import("@stable-io/amount").Amount<{
readonly name: "GasToken";
readonly units: readonly [{
readonly symbol: "GasToken";
readonly scale: 1n;
}, {
readonly symbol: "mGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "\u00B5GasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "nGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "aGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}];
readonly human: "GasToken";
}>;
from: (amount: import("@stable-io/amount").Amount<{
readonly name: "GasToken";
readonly units: readonly [{
readonly symbol: "GasToken";
readonly scale: 1n;
}, {
readonly symbol: "mGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "\u00B5GasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "nGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "aGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}];
readonly human: "GasToken";
}>) => number;
};
readonly name: "gasDropoff";
}]], readonly [readonly [130, "inGasToken"], readonly [{
readonly size: 1;
readonly custom: {
to: (val: number) => import("@stable-io/utils").ApplyAliases<import("@stable-io/cctp-sdk-definitions").DomainAliases, {
Mainnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Solana", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"];
Testnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"];
}[N extends bigint ? `bigint(${N})` : N extends boolean ? `boolean(${N})` : N][number]>;
from: (val: import("@stable-io/utils").ApplyAliases<import("@stable-io/cctp-sdk-definitions").DomainAliases, {
Mainnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Solana", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"];
Testnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"];
}[N extends bigint ? `bigint(${N})` : N extends boolean ? `boolean(${N})` : N][number]>) => number;
};
readonly binary: "uint";
readonly name: "destinationDomain";
}, {
readonly binary: "uint";
readonly size: 1;
readonly endianness: "big";
readonly custom: {
readonly to: (encoded: number) => "v1" | "v2Direct" | "avaxHop";
readonly from: (name: "v1" | "v2Direct" | "avaxHop") => number;
};
readonly name: "corridor";
}, {
readonly binary: "uint";
readonly size: 4;
readonly custom: {
to: (val: number) => import("@stable-io/amount").Amount<{
readonly name: "GasToken";
readonly units: readonly [{
readonly symbol: "GasToken";
readonly scale: 1n;
}, {
readonly symbol: "mGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "\u00B5GasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "nGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "aGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}];
readonly human: "GasToken";
}>;
from: (amount: import("@stable-io/amount").Amount<{
readonly name: "GasToken";
readonly units: readonly [{
readonly symbol: "GasToken";
readonly scale: 1n;
}, {
readonly symbol: "mGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "\u00B5GasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "nGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "aGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}];
readonly human: "GasToken";
}>) => number;
};
readonly name: "gasDropoff";
}]]];
};
export type QuoteRelay<N extends Network> = DeriveType<ReturnType<typeof quoteRelayLayout<N>>>;
export declare const quoteRelayArrayLayout: <N extends Network>(network: N) => {
readonly binary: "array";
readonly layout: {
readonly binary: "switch";
readonly idSize: 1;
readonly idTag: "quoteRelay";
readonly layouts: readonly [readonly [readonly [129, "inUsdc"], readonly [{
readonly size: 1;
readonly custom: {
to: (val: number) => import("@stable-io/utils").ApplyAliases<import("@stable-io/cctp-sdk-definitions").DomainAliases, {
Mainnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Solana", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"];
Testnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"];
}[N extends bigint ? `bigint(${N})` : N extends boolean ? `boolean(${N})` : N][number]>;
from: (val: import("@stable-io/utils").ApplyAliases<import("@stable-io/cctp-sdk-definitions").DomainAliases, {
Mainnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Solana", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"];
Testnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"];
}[N extends bigint ? `bigint(${N})` : N extends boolean ? `boolean(${N})` : N][number]>) => number;
};
readonly binary: "uint";
readonly name: "destinationDomain";
}, {
readonly binary: "uint";
readonly size: 1;
readonly endianness: "big";
readonly custom: {
readonly to: (encoded: number) => "v1" | "v2Direct" | "avaxHop";
readonly from: (name: "v1" | "v2Direct" | "avaxHop") => number;
};
readonly name: "corridor";
}, {
readonly binary: "uint";
readonly size: 4;
readonly custom: {
to: (val: number) => import("@stable-io/amount").Amount<{
readonly name: "GasToken";
readonly units: readonly [{
readonly symbol: "GasToken";
readonly scale: 1n;
}, {
readonly symbol: "mGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "\u00B5GasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "nGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "aGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}];
readonly human: "GasToken";
}>;
from: (amount: import("@stable-io/amount").Amount<{
readonly name: "GasToken";
readonly units: readonly [{
readonly symbol: "GasToken";
readonly scale: 1n;
}, {
readonly symbol: "mGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "\u00B5GasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "nGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "aGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}];
readonly human: "GasToken";
}>) => number;
};
readonly name: "gasDropoff";
}]], readonly [readonly [130, "inGasToken"], readonly [{
readonly size: 1;
readonly custom: {
to: (val: number) => import("@stable-io/utils").ApplyAliases<import("@stable-io/cctp-sdk-definitions").DomainAliases, {
Mainnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Solana", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"];
Testnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"];
}[N extends bigint ? `bigint(${N})` : N extends boolean ? `boolean(${N})` : N][number]>;
from: (val: import("@stable-io/utils").ApplyAliases<import("@stable-io/cctp-sdk-definitions").DomainAliases, {
Mainnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Solana", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"];
Testnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"];
}[N extends bigint ? `bigint(${N})` : N extends boolean ? `boolean(${N})` : N][number]>) => number;
};
readonly binary: "uint";
readonly name: "destinationDomain";
}, {
readonly binary: "uint";
readonly size: 1;
readonly endianness: "big";
readonly custom: {
readonly to: (encoded: number) => "v1" | "v2Direct" | "avaxHop";
readonly from: (name: "v1" | "v2Direct" | "avaxHop") => number;
};
readonly name: "corridor";
}, {
readonly binary: "uint";
readonly size: 4;
readonly custom: {
to: (val: number) => import("@stable-io/amount").Amount<{
readonly name: "GasToken";
readonly units: readonly [{
readonly symbol: "GasToken";
readonly scale: 1n;
}, {
readonly symbol: "mGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "\u00B5GasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "nGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "aGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}];
readonly human: "GasToken";
}>;
from: (amount: import("@stable-io/amount").Amount<{
readonly name: "GasToken";
readonly units: readonly [{
readonly symbol: "GasToken";
readonly scale: 1n;
}, {
readonly symbol: "mGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "\u00B5GasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "nGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}, {
readonly symbol: "aGasToken";
readonly scale: bigint | import("@stable-io/amount").Rational;
}];
readonly human: "GasToken";
}>) => number;
};
readonly name: "gasDropoff";
}]]];
};
};
export declare const quoteRelayResultLayout: {
readonly binary: "array";
readonly layout: {
readonly binary: "uint";
readonly size: 32;
};
};
//# sourceMappingURL=quoteRelay.d.ts.map