@stable-io/cctp-sdk-definitions
Version:
Definitions for the CCTP SDK
51 lines • 1.51 kB
JavaScript
// Copyright (c) 2025 Stable Technologies Inc
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
import { deepReadonly, column, constMap } from "@stable-io/map-utils";
export const platformDomainEntries = [[
"Evm", [
"Ethereum",
"Avalanche",
"Optimism",
"Arbitrum",
"Base",
"Polygon",
"Unichain",
"Linea",
"Codex",
"Sonic",
"Worldchain",
]
], [
"Cosmwasm", [
"Noble",
]
], [
"Solana", [
"Solana",
]
], [
"Sui", [
"Sui",
]
], [
"Aptos", [
"Aptos",
]
],
];
export const platforms = deepReadonly(column(platformDomainEntries, 0));
export const domainsOf = constMap(platformDomainEntries);
export const platformOf = constMap(platformDomainEntries, [1, 0]);
export const isEvmDomain = (domain) => domainsOf("Evm").includes(domain);
//must fit in a universal address, hence at most 32 bytes
const platformAddressFormatEntries = [
["Evm", [20, "hex"]],
["Cosmwasm", [32, "bech32"]],
["Solana", [32, "base58"]],
["Sui", [32, "hex"]],
["Aptos", [32, "hex"]],
];
export const addressFormatOf = constMap(platformAddressFormatEntries);
//# sourceMappingURL=platforms.js.map