@otim/utils 0.0.2-development.0 → 0.0.2
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/api/index.js +1 -1
- package/dist/api/index.mjs +1 -1
- package/dist/chains/config/all-chains.d.mts +4 -4
- package/dist/chains/config/all-chains.d.ts +4 -4
- package/dist/chains/config/all-chains.d.ts.map +1 -1
- package/dist/chains/index.js +9 -3
- package/dist/chains/index.js.map +2 -2
- package/dist/chains/index.mjs +9 -3
- package/dist/chains/index.mjs.map +2 -2
- package/dist/helpers/index.js +1 -1
- package/dist/helpers/index.mjs +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/index.mjs +1 -1
- package/dist/wallet/wagmi/index.js +1 -1
- package/dist/wallet/wagmi/index.mjs +1 -1
- package/package.json +4 -4
package/dist/api/index.js
CHANGED
|
@@ -1294,7 +1294,7 @@ var transactionGetListRequestSchema = import_zod17.z.object({
|
|
|
1294
1294
|
var transactionGetListResponseSchema = import_zod17.z.array(transactionSchema);
|
|
1295
1295
|
|
|
1296
1296
|
// src/env.ts
|
|
1297
|
-
var BUILD_MODE = "
|
|
1297
|
+
var BUILD_MODE = "production";
|
|
1298
1298
|
|
|
1299
1299
|
// src/helpers/logger.ts
|
|
1300
1300
|
var Logger = class {
|
package/dist/api/index.mjs
CHANGED
|
@@ -1152,7 +1152,7 @@ var transactionGetListRequestSchema = z17.object({
|
|
|
1152
1152
|
var transactionGetListResponseSchema = z17.array(transactionSchema);
|
|
1153
1153
|
|
|
1154
1154
|
// src/env.ts
|
|
1155
|
-
var BUILD_MODE = "
|
|
1155
|
+
var BUILD_MODE = "production";
|
|
1156
1156
|
|
|
1157
1157
|
// src/helpers/logger.ts
|
|
1158
1158
|
var Logger = class {
|
|
@@ -3612,14 +3612,14 @@ export declare const allSupportedChains: {
|
|
|
3612
3612
|
};
|
|
3613
3613
|
/**
|
|
3614
3614
|
* Get the default chain ID based on the current environment.
|
|
3615
|
-
* Production
|
|
3616
|
-
* Development: Base Sepolia
|
|
3615
|
+
* Production: Base mainnet (8453)
|
|
3616
|
+
* Development/Staging/Preview: Base Sepolia (84532)
|
|
3617
3617
|
*/
|
|
3618
3618
|
export declare const getDefaultChainId: () => number;
|
|
3619
3619
|
/**
|
|
3620
3620
|
* Get the default chain based on the current environment.
|
|
3621
|
-
* Production
|
|
3622
|
-
* Development: Base Sepolia
|
|
3621
|
+
* Production: Base mainnet
|
|
3622
|
+
* Development/Staging/Preview: Base Sepolia
|
|
3623
3623
|
*/
|
|
3624
3624
|
export declare const getDefaultChain: () => {
|
|
3625
3625
|
blockExplorers: {
|
|
@@ -3612,14 +3612,14 @@ export declare const allSupportedChains: {
|
|
|
3612
3612
|
};
|
|
3613
3613
|
/**
|
|
3614
3614
|
* Get the default chain ID based on the current environment.
|
|
3615
|
-
* Production
|
|
3616
|
-
* Development: Base Sepolia
|
|
3615
|
+
* Production: Base mainnet (8453)
|
|
3616
|
+
* Development/Staging/Preview: Base Sepolia (84532)
|
|
3617
3617
|
*/
|
|
3618
3618
|
export declare const getDefaultChainId: () => number;
|
|
3619
3619
|
/**
|
|
3620
3620
|
* Get the default chain based on the current environment.
|
|
3621
|
-
* Production
|
|
3622
|
-
* Development: Base Sepolia
|
|
3621
|
+
* Production: Base mainnet
|
|
3622
|
+
* Development/Staging/Preview: Base Sepolia
|
|
3623
3623
|
*/
|
|
3624
3624
|
export declare const getDefaultChain: () => {
|
|
3625
3625
|
blockExplorers: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all-chains.d.ts","sourceRoot":"","sources":["../../../src/chains/config/all-chains.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"all-chains.d.ts","sourceRoot":"","sources":["../../../src/chains/config/all-chains.ts"],"names":[],"mappings":"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"}
|
package/dist/chains/index.js
CHANGED
|
@@ -112,9 +112,15 @@ var pecorinoHost = {
|
|
|
112
112
|
var import_chains = require("viem/chains");
|
|
113
113
|
|
|
114
114
|
// src/env.ts
|
|
115
|
-
var BUILD_MODE = "
|
|
115
|
+
var BUILD_MODE = "production";
|
|
116
116
|
|
|
117
117
|
// src/chains/config/all-chains.ts
|
|
118
|
+
function isProductionMode() {
|
|
119
|
+
if (typeof process !== "undefined" && process.env?.NEXT_PUBLIC_ENVIRONMENT) {
|
|
120
|
+
return process.env.NEXT_PUBLIC_ENVIRONMENT === "production";
|
|
121
|
+
}
|
|
122
|
+
return BUILD_MODE === "production";
|
|
123
|
+
}
|
|
118
124
|
var supportedChains = {
|
|
119
125
|
mainnet: {
|
|
120
126
|
mainnet: import_chains.mainnet,
|
|
@@ -150,10 +156,10 @@ var allSupportedChains = {
|
|
|
150
156
|
pecorinoSignet
|
|
151
157
|
};
|
|
152
158
|
var getDefaultChainId = () => {
|
|
153
|
-
return
|
|
159
|
+
return isProductionMode() ? import_chains.base.id : import_chains.baseSepolia.id;
|
|
154
160
|
};
|
|
155
161
|
var getDefaultChain = () => {
|
|
156
|
-
return
|
|
162
|
+
return isProductionMode() ? import_chains.base : import_chains.baseSepolia;
|
|
157
163
|
};
|
|
158
164
|
|
|
159
165
|
// src/chains/config/mainnet-chains.ts
|
package/dist/chains/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/chains/index.ts", "../../src/chains/config/custom-chains.ts", "../../src/chains/config/all-chains.ts", "../../src/env.ts", "../../src/chains/config/mainnet-chains.ts", "../../src/chains/config/testnet-chains.ts", "../../src/chains/tokens/token-addresses.ts", "../../src/helpers/blockchain.ts", "../../src/chains/tokens/token-metadata.ts", "../../src/chains/tokens/chain-tokens.ts", "../../src/chains/config/supported-chains.ts", "../../src/chains/utils/filter-tokens.ts", "../../src/chains/utils/token-maps.ts", "../../src/chains/utils/stablecoin.ts", "../../src/chains/lambda/chain-mapping.ts"],
|
|
4
|
-
"sourcesContent": ["export type {\n ChainConfig,\n ChainToken,\n ChainTokenAddresses,\n TokenMetadata,\n} from \"./types\";\nexport type {\n MainnetChainName,\n SupportedChainName,\n TestnetChainName,\n} from \"./config/all-chains\";\nexport type { SupportedChainId } from \"./config/supported-chains\";\n\nexport { pecorinoHost, pecorinoSignet } from \"./config/custom-chains\";\n\nexport {\n allSupportedChains,\n getDefaultChain,\n getDefaultChainId,\n supportedChains,\n} from \"./config/all-chains\";\n\nexport {\n getMainnetChain,\n isMainnetChain,\n mainnetChains,\n mainnetChainsById,\n} from \"./config/mainnet-chains\";\n\nexport {\n getTestnetChain,\n isTestnetChain,\n testnetChains,\n testnetChainsById,\n} from \"./config/testnet-chains\";\n\nexport {\n allChains,\n chainById,\n getAllChains,\n getChainById,\n getChainConfig,\n getMainnetChains,\n getTestnetChains,\n isSupportedChain,\n} from \"./config/supported-chains\";\n\nexport { getTokenMetadata, tokenMetadata } from \"./tokens/token-metadata\";\n\nexport {\n getTokenAddress,\n getTokenAddresses,\n isTokenSupported,\n tokenAddresses,\n} from \"./tokens/token-addresses\";\n\nexport {\n getChainToken,\n getChainTokenByAddress,\n getChainTokens,\n} from \"./tokens/chain-tokens\";\n\nexport { filterTokens } from \"./utils/filter-tokens\";\n\nexport {\n createTokenMaps,\n getTokenByAddress,\n getTokenBySymbol,\n type TokenMaps,\n} from \"./utils/token-maps\";\n\nexport { isStablecoin } from \"./utils/stablecoin\";\n\nexport {\n chainIdToLambdaId,\n CHAIN_ID_TO_LAMBDA_ID,\n getLambdaChainIds,\n getLambdaSupportedChainIds,\n isLambdaSupportedChain,\n LAMBDA_ID_TO_CHAIN_ID,\n lambdaIdToChainId,\n} from \"./lambda/chain-mapping\";\n", "import type { Chain } from \"viem/chains\";\n\nexport const pecorinoSignet = {\n id: 14174,\n name: \"Pecorino Signet\",\n nativeCurrency: {\n decimals: 18,\n name: \"USD\",\n symbol: \"USD\",\n },\n rpcUrls: {\n default: { http: [\"https://rpc.pecorino.signet.sh/\"] },\n public: { http: [\"https://rpc.pecorino.signet.sh/\"] },\n },\n blockExplorers: {\n default: {\n name: \"Pecorino Signet Explorer\",\n url: \"https://explorer.pecorino.signet.sh/\",\n },\n },\n testnet: true,\n} as const satisfies Chain;\n\nexport const pecorinoHost = {\n id: 3151908,\n name: \"Pecorino Host\",\n nativeCurrency: {\n decimals: 18,\n name: \"ETH\",\n symbol: \"ETH\",\n },\n rpcUrls: {\n default: { http: [\"https://host-rpc.pecorino.signet.sh/\"] },\n public: { http: [\"https://host-rpc.pecorino.signet.sh/\"] },\n },\n blockExplorers: {\n default: {\n name: \"Pecorino Host Explorer\",\n url: \"https://explorer-host.pecorino.signet.sh/\",\n },\n },\n testnet: true,\n} as const satisfies Chain;\n", "import {\n arbitrum,\n arbitrumSepolia,\n base,\n baseSepolia,\n bsc,\n bscTestnet,\n mainnet,\n optimism,\n optimismSepolia,\n polygon,\n polygonAmoy,\n sepolia,\n unichain,\n unichainSepolia,\n} from \"viem/chains\";\n\nimport { pecorinoHost, pecorinoSignet } from \"./custom-chains\";\nimport { BUILD_MODE } from \"../../env\";\n\nexport const supportedChains = {\n mainnet: {\n mainnet,\n base,\n arbitrum,\n optimism,\n },\n testnet: {\n sepolia,\n baseSepolia,\n arbitrumSepolia,\n optimismSepolia,\n pecorinoHost,\n pecorinoSignet,\n },\n} as const;\n\nexport const allSupportedChains = {\n mainnet,\n base,\n arbitrum,\n optimism,\n bsc,\n unichain,\n polygon,\n sepolia,\n baseSepolia,\n arbitrumSepolia,\n optimismSepolia,\n bscTestnet,\n unichainSepolia,\n polygonAmoy,\n pecorinoHost,\n pecorinoSignet,\n} as const;\n\n/**\n * Get the default chain ID based on the current environment.\n * Production/Preview: Base mainnet\n * Development: Base Sepolia\n */\nexport const getDefaultChainId = (): number => {\n return BUILD_MODE === \"production\" ? base.id : baseSepolia.id;\n};\n\n/**\n * Get the default chain based on the current environment.\n * Production/Preview: Base mainnet\n * Development: Base Sepolia\n */\nexport const getDefaultChain = () => {\n return BUILD_MODE === \"production\" ? base : baseSepolia;\n};\n\nexport type SupportedChainName = keyof typeof allSupportedChains;\nexport type MainnetChainName = keyof typeof supportedChains.mainnet;\nexport type TestnetChainName = keyof typeof supportedChains.testnet;\n", "/**\n * Environment configuration for @otim/utils\n *\n * These values are injected at build time via esbuild's define option.\n * See scripts/build.js for the injection logic.\n */\n\n/**\n * Build mode - determines production vs development behavior\n * Values: \"production\" | \"development\"\n */\nexport const BUILD_MODE = process.env.BUILD_MODE || \"development\";\n\n/**\n * App API URL - base URL for API requests\n * Defaults to production URL if not specified\n */\nexport const APP_API_URL =\n process.env.NEXT_PUBLIC_APP_API_URL || \"https://app.otim.com/api\";\n", "import type { Optional } from \"@otim/utils/helpers\";\nimport type { Chain } from \"viem/chains\";\n\nimport { arbitrum, base, bsc, mainnet, optimism, polygon, unichain } from \"viem/chains\";\n\nexport const mainnetChains = [mainnet, base, arbitrum, optimism, bsc, unichain, polygon] as const;\n\nexport const mainnetChainsById = new Map<number, Chain>(\n mainnetChains.map((chain) => [chain.id, chain]),\n);\n\nexport function getMainnetChain(chainId: number): Optional<Chain> {\n return mainnetChainsById.get(chainId);\n}\n\nexport function isMainnetChain(chainId: number): boolean {\n return mainnetChainsById.has(chainId);\n}\n", "import type { Optional } from \"@otim/utils/helpers\";\nimport type { Chain } from \"viem/chains\";\n\nimport {\n arbitrumSepolia,\n baseSepolia,\n bscTestnet,\n optimismSepolia,\n polygonAmoy,\n sepolia,\n unichainSepolia,\n} from \"viem/chains\";\n\nimport { pecorinoHost, pecorinoSignet } from \"./custom-chains\";\n\nexport const testnetChains = [\n sepolia,\n baseSepolia,\n arbitrumSepolia,\n optimismSepolia,\n bscTestnet,\n unichainSepolia,\n polygonAmoy,\n pecorinoHost,\n pecorinoSignet,\n] as const;\n\nexport const testnetChainsById = new Map<number, Chain>(\n testnetChains.map((chain) => [chain.id, chain]),\n);\n\nexport function getTestnetChain(chainId: number): Optional<Chain> {\n return testnetChainsById.get(chainId);\n}\n\nexport function isTestnetChain(chainId: number): boolean {\n return testnetChainsById.has(chainId);\n}\n", "import type { ChainTokenAddresses } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport {\n arbitrum,\n arbitrumSepolia,\n base,\n baseSepolia,\n bsc,\n bscTestnet,\n mainnet,\n optimism,\n optimismSepolia,\n polygon,\n polygonAmoy,\n sepolia,\n unichain,\n unichainSepolia,\n} from \"viem/chains\";\n\nimport { DEFAULT_ADDRESS } from \"../../helpers\";\nimport { pecorinoHost, pecorinoSignet } from \"../config/custom-chains\";\n\nexport const tokenAddresses: Record<number, ChainTokenAddresses> = {\n [mainnet.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\",\n USDC: \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n USDT: \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n },\n [base.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n USDT: \"0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2\",\n },\n [arbitrum.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\n USDC: \"0xaf88d065e77c8cc2239327c5edb3a432268e5831\",\n USDT: \"0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9\",\n },\n [optimism.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85\",\n USDT: \"0x94b008aA00579c1307B0EF2c499aD98a8ce58e58\",\n },\n [sepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14\",\n USDC: \"0x1c7d4b196cb0c7b01d743fbc6116a902379c7238\",\n USDT: \"0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0\",\n },\n [baseSepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x036CbD53842c5426634e7929541eC2318f3dCF7e\",\n USDT: \"0x323e78f944A9a1FcF3a10efcC5319DBb0bB6e673\",\n },\n [arbitrumSepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\n USDC: \"0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d\",\n USDT: \"0xE5b6C29411b3ad31C3613BbA0145293fC9957256\",\n },\n [optimismSepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x5fd84259d66Cd46123540766Be93DFE6D43130D7\",\n USDT: \"0xebca682b6c15d539284432edc5b960771f0009e8\",\n },\n [bsc.id]: {\n BNB: DEFAULT_ADDRESS,\n WBNB: \"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\",\n USDC: \"0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d\",\n USDT: \"0x55d398326f99059fF775485246999027B3197955\",\n },\n [bscTestnet.id]: {\n BNB: DEFAULT_ADDRESS,\n WBNB: \"0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd\",\n USDC: \"0x64544969ed7EBf5f083679233325356EbE738930\",\n },\n [unichain.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA\",\n },\n [unichainSepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x4B4dB6adEdED34DC879EbBaed49D3054f26D8D87\",\n },\n [polygon.id]: {\n POL: DEFAULT_ADDRESS,\n MATIC: DEFAULT_ADDRESS,\n WMATIC: \"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270\",\n USDC: \"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359\",\n USDT: \"0xc2132D05D31c914a87C6611C10748AEb04B58e8F\",\n },\n [polygonAmoy.id]: {\n POL: DEFAULT_ADDRESS,\n MATIC: DEFAULT_ADDRESS,\n WMATIC: \"0x360ad4f9a9A8EFe9A8DCB5f461c4Cc1047E1Dcf9\",\n USDC: \"0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582\",\n },\n [pecorinoSignet.id]: {\n USD: DEFAULT_ADDRESS,\n },\n [pecorinoHost.id]: {\n ETH: DEFAULT_ADDRESS,\n },\n};\n\nexport function getTokenAddresses(chainId: number): ChainTokenAddresses {\n return tokenAddresses[chainId] || {};\n}\n\nexport function getTokenAddress(\n chainId: number,\n symbol: string,\n): Optional<Address> {\n const addresses = getTokenAddresses(chainId);\n return addresses[symbol.toUpperCase()];\n}\n\nexport function isTokenSupported(chainId: number, symbol: string): boolean {\n return getTokenAddress(chainId, symbol) !== undefined;\n}\n", "import type { EIP2098Signature, HexString, VRS } from \"@otim/utils/schemas\";\nimport type { Chain } from \"viem\";\n\nimport { isAddressEqual } from \"viem\";\n\nexport const truncateAddress = (address: string): string => {\n if (!address) return \"\";\n return `${address.slice(0, 6)}...${address.slice(-4)}`;\n};\n\n/**\n * Ethereum address regex pattern\n * Matches addresses like 0x1234...abcd (40 hex characters after 0x prefix)\n */\nexport const ETHEREUM_ADDRESS_REGEX = /^0x[a-fA-F0-9]{40}$/;\n\n/**\n * Validates if a string is a valid Ethereum address format\n * @param address - The address string to validate\n * @returns true if the address matches the Ethereum address format\n */\nexport const isValidEthereumAddress = (address: string): boolean => {\n return ETHEREUM_ADDRESS_REGEX.test(address);\n};\n\n/**\n * Parses a signature string into its v, r, s components.\n * @param signature - The signature string to parse (must be 0x-prefixed, 132 chars total)\n * @returns VRS object containing v, r, and s values\n */\nexport const parseSignatureToVRS = (signature: string): VRS => {\n if (typeof signature !== \"string\") {\n throw new Error(\"Signature must be a string\");\n }\n\n if (!signature.startsWith(\"0x\")) {\n throw new Error('Signature must start with \"0x\"');\n }\n\n if (signature.length !== 132) {\n throw new Error(\n 'Signature must be 65 bytes (130 hex chars) plus \"0x\" = 132 total length',\n );\n }\n\n const r = signature.slice(2, 66);\n const s = signature.slice(66, 130);\n const vHex = signature.slice(130, 132);\n const v = parseInt(vHex, 16);\n return { v, r: `0x${r}`, s: `0x${s}` };\n};\n\n/**\n * Checks if a v value is valid according to EIP-155.\n */\nexport const isValidV = (v: number): boolean => {\n return v === 0 || v === 1 || v === 27 || v === 28 || v >= 35;\n};\n\n/**\n * Normalizes v value for EIP-155 compliance.\n */\nexport const normalizeV = (v: number) => {\n if (!isValidV(v)) return 0;\n\n const cmp = v <= 1 ? 1 : 0;\n const result = v % 2 === cmp;\n\n return Number(result) % 2;\n};\n\n/**\n * Creates an EIP-2098 compact signature from VRS components.\n * @param vrs - The VRS signature components\n * @returns EIP2098Signature object with yParity, r, and s\n */\nexport const createEIP2098Signature = (vrs: VRS): EIP2098Signature => {\n const v = vrs.v;\n const r = vrs.r;\n const s = vrs.s;\n\n return { yParity: normalizeV(v), r, s };\n};\n\nexport const getChainRpcUrl = (\n chainId: number,\n chains: readonly [Chain, ...Chain[]],\n) => {\n const chain = chains.find((chain) => chain.id === chainId);\n return chain?.rpcUrls.default;\n};\n\nexport const DEFAULT_ADDRESS = \"0x0000000000000000000000000000000000000000\";\n\nexport const isNullAddress = (address: HexString) => {\n return isAddressEqual(address, DEFAULT_ADDRESS);\n};\n", "import type { TokenMetadata } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\n\nexport const tokenMetadata: Record<string, TokenMetadata> = {\n ETH: {\n name: \"Ether\",\n symbol: \"ETH\",\n decimals: 18,\n logoURI: \"/tokens/eth.svg\",\n },\n WETH: {\n name: \"Wrapped Ether\",\n symbol: \"WETH\",\n decimals: 18,\n logoURI: \"/tokens/eth.svg\",\n type: \"ERC20\",\n },\n USD: {\n name: \"US Dollar\",\n symbol: \"USD\",\n decimals: 18,\n logoURI: \"/tokens/usd.svg\",\n },\n USDC: {\n name: \"USD Coin\",\n symbol: \"USDC\",\n decimals: 6,\n logoURI:\n \"https://assets-cdn.trustwallet.com/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png\",\n type: \"ERC20\",\n },\n USDT: {\n name: \"Tether\",\n symbol: \"USDT\",\n decimals: 6,\n logoURI:\n \"https://assets-cdn.trustwallet.com/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png\",\n type: \"ERC20\",\n },\n};\n\nexport function getTokenMetadata(symbol: string): Optional<TokenMetadata> {\n return tokenMetadata[symbol.toUpperCase()];\n}\n", "import type { ChainToken } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\n\nimport { getTokenAddresses } from \"./token-addresses\";\nimport { getTokenMetadata } from \"./token-metadata\";\n\nexport function getChainTokens(chainId: number): ChainToken[] {\n const addresses = getTokenAddresses(chainId);\n const tokens: ChainToken[] = [];\n\n for (const [symbol, address] of Object.entries(addresses)) {\n const metadata = getTokenMetadata(symbol);\n\n if (metadata && address) {\n tokens.push({ ...metadata, address, chainId });\n }\n }\n\n return tokens;\n}\n\nexport function getChainToken(\n chainId: number,\n symbol: string,\n): Optional<ChainToken> {\n const tokens = getChainTokens(chainId);\n return tokens.find(\n (token) => token.symbol.toUpperCase() === symbol.toUpperCase(),\n );\n}\n\nexport function getChainTokenByAddress(\n chainId: number,\n address: string,\n): Optional<ChainToken> {\n const tokens = getChainTokens(chainId);\n return tokens.find(\n (token) => token.address.toLowerCase() === address.toLowerCase(),\n );\n}\n", "import type { ChainConfig } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\nimport type { Chain } from \"viem/chains\";\n\nimport { mainnetChains } from \"./mainnet-chains\";\nimport { testnetChains } from \"./testnet-chains\";\nimport { getChainTokens } from \"../tokens/chain-tokens\";\n\nexport const allChains = [...mainnetChains, ...testnetChains] as const;\n\nexport type SupportedChainId = (typeof allChains)[number][\"id\"];\n\nexport const chainById = new Map<number, Chain>(\n allChains.map((chain) => [chain.id, chain]),\n);\n\nexport function getChainById(chainId: number): Optional<Chain> {\n return chainById.get(chainId);\n}\n\nexport function getChainConfig(chainId: number): Optional<ChainConfig> {\n const chain = getChainById(chainId);\n if (!chain) return undefined;\n\n return {\n chain,\n isTestnet: chain.testnet ?? false,\n tokens: getChainTokens(chain.id),\n };\n}\n\nexport function getMainnetChains(): ChainConfig[] {\n return mainnetChains.map((chain) => ({\n chain,\n isTestnet: false,\n tokens: getChainTokens(chain.id),\n }));\n}\n\nexport function getTestnetChains(): ChainConfig[] {\n return testnetChains.map((chain) => ({\n chain,\n isTestnet: true,\n tokens: getChainTokens(chain.id),\n }));\n}\n\nexport function getAllChains(): ChainConfig[] {\n return [...getMainnetChains(), ...getTestnetChains()];\n}\n\nexport function isSupportedChain(chainId: number): boolean {\n return chainById.has(chainId);\n}\n", "import type { ChainToken } from \"../types\";\n\nexport function filterTokens(\n tokens: ChainToken[],\n allowedSymbols: string[],\n disabledSymbols: string[],\n): ChainToken[] {\n let result = tokens;\n\n if (disabledSymbols.length > 0) {\n result = result.filter(\n (token) => !disabledSymbols.includes(token.symbol.toUpperCase()),\n );\n }\n\n if (allowedSymbols && allowedSymbols.length > 0) {\n result = result.filter((token) =>\n allowedSymbols.includes(token.symbol.toUpperCase()),\n );\n }\n\n return result;\n}\n", "import type { ChainToken } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\n\nexport interface TokenMaps {\n byAddress: Map<string, ChainToken>;\n bySymbol: Map<string, ChainToken>;\n}\n\nexport function createTokenMaps(tokens: ChainToken[]): TokenMaps {\n const byAddress = new Map<string, ChainToken>();\n const bySymbol = new Map<string, ChainToken>();\n\n tokens.forEach((token) => {\n byAddress.set(token.address.toLowerCase(), token);\n bySymbol.set(token.symbol.toLowerCase(), token);\n });\n\n return { byAddress, bySymbol };\n}\n\nexport function getTokenByAddress(\n maps: TokenMaps,\n address: string,\n): Optional<ChainToken> {\n if (!address) return undefined;\n return maps.byAddress.get(address.toLowerCase());\n}\n\nexport function getTokenBySymbol(\n maps: TokenMaps,\n symbol: string,\n): Optional<ChainToken> {\n if (!symbol) return undefined;\n return maps.bySymbol.get(symbol.toLowerCase());\n}\n", "/**\n * List of supported stablecoin symbols\n */\nconst stablecoinSymbols = [\"USDC\", \"USDT\"] as const;\n\n/**\n * Checks if a token symbol is a stablecoin\n * @param symbol - Token symbol to check (e.g., \"USDC\", \"ETH\")\n * @returns true if the symbol is a recognized stablecoin\n */\nexport function isStablecoin(symbol: string | string[]): boolean {\n if (typeof symbol === \"string\") {\n return stablecoinSymbols.includes(\n symbol as (typeof stablecoinSymbols)[number],\n );\n }\n\n return symbol.every((s) =>\n stablecoinSymbols.includes(s as (typeof stablecoinSymbols)[number]),\n );\n}\n", "import type { Optional } from \"@otim/utils/helpers\";\n\n/**\n * Mapping between chain ID numbers (used internally by otim) and\n * Lambda API chain ID strings (used by Lambda's API endpoints).\n *\n * Lambda uses string identifiers for chains while we use numeric chain IDs\n * from viem/wagmi. This map provides bidirectional conversion.\n */\n\n/**\n * Map from numeric chain ID to Lambda chain ID string\n */\nexport const CHAIN_ID_TO_LAMBDA_ID: Record<number, string> = {\n /** Mainnet chains */\n 1: \"ethereum\",\n 8453: \"base\",\n 42161: \"arbitrum\",\n 10: \"optimism\",\n 56: \"binance-smart-chain\",\n 130: \"unichain\",\n 137: \"polygon\",\n} as const;\n\n/**\n * Map from Lambda chain ID string to numeric chain ID\n */\nexport const LAMBDA_ID_TO_CHAIN_ID: Record<string, number> = {\n ethereum: 1,\n base: 8453,\n arbitrum: 42161,\n optimism: 10,\n \"binance-smart-chain\": 56,\n unichain: 130,\n polygon: 137,\n} as const;\n\n/**\n * Convert a numeric chain ID to Lambda's chain ID string\n * @param chainId - The numeric chain ID\n * @returns The Lambda chain ID string, or undefined if not supported by Lambda\n * @example\n * ```ts\n * chainIdToLambdaId(8453) // \"base\"\n * chainIdToLambdaId(1) // \"ethereum\"\n * ```\n */\n\nexport function chainIdToLambdaId(chainId: number): Optional<string> {\n return CHAIN_ID_TO_LAMBDA_ID[chainId];\n}\n\n/**\n * Convert a Lambda chain ID string to numeric chain ID\n * @param lambdaId - The Lambda chain ID string\n * @returns The numeric chain ID, or undefined if not recognized\n * @example\n * ```ts\n * lambdaIdToChainId(\"base\") // 8453\n * lambdaIdToChainId(\"ethereum\") // 1\n * ```\n */\nexport function lambdaIdToChainId(lambdaId: string): Optional<number> {\n return LAMBDA_ID_TO_CHAIN_ID[lambdaId];\n}\n\n/**\n * Check if a chain ID is supported by Lambda\n * @param chainId - The numeric chain ID to check\n * @returns true if the chain is supported by Lambda\n */\nexport function isLambdaSupportedChain(chainId: number): boolean {\n return chainId in CHAIN_ID_TO_LAMBDA_ID;\n}\n\n/**\n * Get all chain IDs supported by Lambda\n * @returns Array of numeric chain IDs that are supported by Lambda\n */\nexport function getLambdaSupportedChainIds(): number[] {\n return Object.keys(CHAIN_ID_TO_LAMBDA_ID).map(Number);\n}\n\n/**\n * Get all Lambda chain ID strings\n * @returns Array of Lambda chain ID strings\n */\nexport function getLambdaChainIds(): string[] {\n return Object.values(CHAIN_ID_TO_LAMBDA_ID);\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEO,IAAM,iBAAiB;AAAA,EAC5B,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,gBAAgB;AAAA,IACd,UAAU;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACP,SAAS,EAAE,MAAM,CAAC,iCAAiC,EAAE;AAAA,IACrD,QAAQ,EAAE,MAAM,CAAC,iCAAiC,EAAE;AAAA,EACtD;AAAA,EACA,gBAAgB;AAAA,IACd,SAAS;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EACA,SAAS;AACX;AAEO,IAAM,eAAe;AAAA,EAC1B,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,gBAAgB;AAAA,IACd,UAAU;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACP,SAAS,EAAE,MAAM,CAAC,sCAAsC,EAAE;AAAA,IAC1D,QAAQ,EAAE,MAAM,CAAC,sCAAsC,EAAE;AAAA,EAC3D;AAAA,EACA,gBAAgB;AAAA,IACd,SAAS;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EACA,SAAS;AACX;;;AC1CA,oBAeO;;;ACJA,IAAM,aAAa;;;
|
|
4
|
+
"sourcesContent": ["export type {\n ChainConfig,\n ChainToken,\n ChainTokenAddresses,\n TokenMetadata,\n} from \"./types\";\nexport type {\n MainnetChainName,\n SupportedChainName,\n TestnetChainName,\n} from \"./config/all-chains\";\nexport type { SupportedChainId } from \"./config/supported-chains\";\n\nexport { pecorinoHost, pecorinoSignet } from \"./config/custom-chains\";\n\nexport {\n allSupportedChains,\n getDefaultChain,\n getDefaultChainId,\n supportedChains,\n} from \"./config/all-chains\";\n\nexport {\n getMainnetChain,\n isMainnetChain,\n mainnetChains,\n mainnetChainsById,\n} from \"./config/mainnet-chains\";\n\nexport {\n getTestnetChain,\n isTestnetChain,\n testnetChains,\n testnetChainsById,\n} from \"./config/testnet-chains\";\n\nexport {\n allChains,\n chainById,\n getAllChains,\n getChainById,\n getChainConfig,\n getMainnetChains,\n getTestnetChains,\n isSupportedChain,\n} from \"./config/supported-chains\";\n\nexport { getTokenMetadata, tokenMetadata } from \"./tokens/token-metadata\";\n\nexport {\n getTokenAddress,\n getTokenAddresses,\n isTokenSupported,\n tokenAddresses,\n} from \"./tokens/token-addresses\";\n\nexport {\n getChainToken,\n getChainTokenByAddress,\n getChainTokens,\n} from \"./tokens/chain-tokens\";\n\nexport { filterTokens } from \"./utils/filter-tokens\";\n\nexport {\n createTokenMaps,\n getTokenByAddress,\n getTokenBySymbol,\n type TokenMaps,\n} from \"./utils/token-maps\";\n\nexport { isStablecoin } from \"./utils/stablecoin\";\n\nexport {\n chainIdToLambdaId,\n CHAIN_ID_TO_LAMBDA_ID,\n getLambdaChainIds,\n getLambdaSupportedChainIds,\n isLambdaSupportedChain,\n LAMBDA_ID_TO_CHAIN_ID,\n lambdaIdToChainId,\n} from \"./lambda/chain-mapping\";\n", "import type { Chain } from \"viem/chains\";\n\nexport const pecorinoSignet = {\n id: 14174,\n name: \"Pecorino Signet\",\n nativeCurrency: {\n decimals: 18,\n name: \"USD\",\n symbol: \"USD\",\n },\n rpcUrls: {\n default: { http: [\"https://rpc.pecorino.signet.sh/\"] },\n public: { http: [\"https://rpc.pecorino.signet.sh/\"] },\n },\n blockExplorers: {\n default: {\n name: \"Pecorino Signet Explorer\",\n url: \"https://explorer.pecorino.signet.sh/\",\n },\n },\n testnet: true,\n} as const satisfies Chain;\n\nexport const pecorinoHost = {\n id: 3151908,\n name: \"Pecorino Host\",\n nativeCurrency: {\n decimals: 18,\n name: \"ETH\",\n symbol: \"ETH\",\n },\n rpcUrls: {\n default: { http: [\"https://host-rpc.pecorino.signet.sh/\"] },\n public: { http: [\"https://host-rpc.pecorino.signet.sh/\"] },\n },\n blockExplorers: {\n default: {\n name: \"Pecorino Host Explorer\",\n url: \"https://explorer-host.pecorino.signet.sh/\",\n },\n },\n testnet: true,\n} as const satisfies Chain;\n", "import {\n arbitrum,\n arbitrumSepolia,\n base,\n baseSepolia,\n bsc,\n bscTestnet,\n mainnet,\n optimism,\n optimismSepolia,\n polygon,\n polygonAmoy,\n sepolia,\n unichain,\n unichainSepolia,\n} from \"viem/chains\";\n\nimport { pecorinoHost, pecorinoSignet } from \"./custom-chains\";\nimport { BUILD_MODE } from \"../../env\";\n\n/**\n * Determines if we should use production chains based on runtime environment.\n * Checks NEXT_PUBLIC_ENVIRONMENT (runtime) first, falls back to BUILD_MODE (build-time).\n *\n * Production chains are used when:\n * - NEXT_PUBLIC_ENVIRONMENT === \"production\"\n * - BUILD_MODE === \"production\" (fallback if NEXT_PUBLIC_ENVIRONMENT is not set)\n */\nfunction isProductionMode(): boolean {\n // Check runtime environment variable first (available in Next.js)\n if (typeof process !== \"undefined\" && process.env?.NEXT_PUBLIC_ENVIRONMENT) {\n return process.env.NEXT_PUBLIC_ENVIRONMENT === \"production\";\n }\n\n // Fall back to build-time environment\n return BUILD_MODE === \"production\";\n}\n\nexport const supportedChains = {\n mainnet: {\n mainnet,\n base,\n arbitrum,\n optimism,\n },\n testnet: {\n sepolia,\n baseSepolia,\n arbitrumSepolia,\n optimismSepolia,\n pecorinoHost,\n pecorinoSignet,\n },\n} as const;\n\nexport const allSupportedChains = {\n mainnet,\n base,\n arbitrum,\n optimism,\n bsc,\n unichain,\n polygon,\n sepolia,\n baseSepolia,\n arbitrumSepolia,\n optimismSepolia,\n bscTestnet,\n unichainSepolia,\n polygonAmoy,\n pecorinoHost,\n pecorinoSignet,\n} as const;\n\n/**\n * Get the default chain ID based on the current environment.\n * Production: Base mainnet (8453)\n * Development/Staging/Preview: Base Sepolia (84532)\n */\nexport const getDefaultChainId = (): number => {\n return isProductionMode() ? base.id : baseSepolia.id;\n};\n\n/**\n * Get the default chain based on the current environment.\n * Production: Base mainnet\n * Development/Staging/Preview: Base Sepolia\n */\nexport const getDefaultChain = () => {\n return isProductionMode() ? base : baseSepolia;\n};\n\nexport type SupportedChainName = keyof typeof allSupportedChains;\nexport type MainnetChainName = keyof typeof supportedChains.mainnet;\nexport type TestnetChainName = keyof typeof supportedChains.testnet;\n", "/**\n * Environment configuration for @otim/utils\n *\n * These values are injected at build time via esbuild's define option.\n * See scripts/build.js for the injection logic.\n */\n\n/**\n * Build mode - determines production vs development behavior\n * Values: \"production\" | \"development\"\n */\nexport const BUILD_MODE = process.env.BUILD_MODE || \"development\";\n\n/**\n * App API URL - base URL for API requests\n * Defaults to production URL if not specified\n */\nexport const APP_API_URL =\n process.env.NEXT_PUBLIC_APP_API_URL || \"https://app.otim.com/api\";\n", "import type { Optional } from \"@otim/utils/helpers\";\nimport type { Chain } from \"viem/chains\";\n\nimport { arbitrum, base, bsc, mainnet, optimism, polygon, unichain } from \"viem/chains\";\n\nexport const mainnetChains = [mainnet, base, arbitrum, optimism, bsc, unichain, polygon] as const;\n\nexport const mainnetChainsById = new Map<number, Chain>(\n mainnetChains.map((chain) => [chain.id, chain]),\n);\n\nexport function getMainnetChain(chainId: number): Optional<Chain> {\n return mainnetChainsById.get(chainId);\n}\n\nexport function isMainnetChain(chainId: number): boolean {\n return mainnetChainsById.has(chainId);\n}\n", "import type { Optional } from \"@otim/utils/helpers\";\nimport type { Chain } from \"viem/chains\";\n\nimport {\n arbitrumSepolia,\n baseSepolia,\n bscTestnet,\n optimismSepolia,\n polygonAmoy,\n sepolia,\n unichainSepolia,\n} from \"viem/chains\";\n\nimport { pecorinoHost, pecorinoSignet } from \"./custom-chains\";\n\nexport const testnetChains = [\n sepolia,\n baseSepolia,\n arbitrumSepolia,\n optimismSepolia,\n bscTestnet,\n unichainSepolia,\n polygonAmoy,\n pecorinoHost,\n pecorinoSignet,\n] as const;\n\nexport const testnetChainsById = new Map<number, Chain>(\n testnetChains.map((chain) => [chain.id, chain]),\n);\n\nexport function getTestnetChain(chainId: number): Optional<Chain> {\n return testnetChainsById.get(chainId);\n}\n\nexport function isTestnetChain(chainId: number): boolean {\n return testnetChainsById.has(chainId);\n}\n", "import type { ChainTokenAddresses } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport {\n arbitrum,\n arbitrumSepolia,\n base,\n baseSepolia,\n bsc,\n bscTestnet,\n mainnet,\n optimism,\n optimismSepolia,\n polygon,\n polygonAmoy,\n sepolia,\n unichain,\n unichainSepolia,\n} from \"viem/chains\";\n\nimport { DEFAULT_ADDRESS } from \"../../helpers\";\nimport { pecorinoHost, pecorinoSignet } from \"../config/custom-chains\";\n\nexport const tokenAddresses: Record<number, ChainTokenAddresses> = {\n [mainnet.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\",\n USDC: \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n USDT: \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n },\n [base.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n USDT: \"0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2\",\n },\n [arbitrum.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\n USDC: \"0xaf88d065e77c8cc2239327c5edb3a432268e5831\",\n USDT: \"0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9\",\n },\n [optimism.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85\",\n USDT: \"0x94b008aA00579c1307B0EF2c499aD98a8ce58e58\",\n },\n [sepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14\",\n USDC: \"0x1c7d4b196cb0c7b01d743fbc6116a902379c7238\",\n USDT: \"0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0\",\n },\n [baseSepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x036CbD53842c5426634e7929541eC2318f3dCF7e\",\n USDT: \"0x323e78f944A9a1FcF3a10efcC5319DBb0bB6e673\",\n },\n [arbitrumSepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\n USDC: \"0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d\",\n USDT: \"0xE5b6C29411b3ad31C3613BbA0145293fC9957256\",\n },\n [optimismSepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x5fd84259d66Cd46123540766Be93DFE6D43130D7\",\n USDT: \"0xebca682b6c15d539284432edc5b960771f0009e8\",\n },\n [bsc.id]: {\n BNB: DEFAULT_ADDRESS,\n WBNB: \"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\",\n USDC: \"0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d\",\n USDT: \"0x55d398326f99059fF775485246999027B3197955\",\n },\n [bscTestnet.id]: {\n BNB: DEFAULT_ADDRESS,\n WBNB: \"0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd\",\n USDC: \"0x64544969ed7EBf5f083679233325356EbE738930\",\n },\n [unichain.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA\",\n },\n [unichainSepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x4B4dB6adEdED34DC879EbBaed49D3054f26D8D87\",\n },\n [polygon.id]: {\n POL: DEFAULT_ADDRESS,\n MATIC: DEFAULT_ADDRESS,\n WMATIC: \"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270\",\n USDC: \"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359\",\n USDT: \"0xc2132D05D31c914a87C6611C10748AEb04B58e8F\",\n },\n [polygonAmoy.id]: {\n POL: DEFAULT_ADDRESS,\n MATIC: DEFAULT_ADDRESS,\n WMATIC: \"0x360ad4f9a9A8EFe9A8DCB5f461c4Cc1047E1Dcf9\",\n USDC: \"0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582\",\n },\n [pecorinoSignet.id]: {\n USD: DEFAULT_ADDRESS,\n },\n [pecorinoHost.id]: {\n ETH: DEFAULT_ADDRESS,\n },\n};\n\nexport function getTokenAddresses(chainId: number): ChainTokenAddresses {\n return tokenAddresses[chainId] || {};\n}\n\nexport function getTokenAddress(\n chainId: number,\n symbol: string,\n): Optional<Address> {\n const addresses = getTokenAddresses(chainId);\n return addresses[symbol.toUpperCase()];\n}\n\nexport function isTokenSupported(chainId: number, symbol: string): boolean {\n return getTokenAddress(chainId, symbol) !== undefined;\n}\n", "import type { EIP2098Signature, HexString, VRS } from \"@otim/utils/schemas\";\nimport type { Chain } from \"viem\";\n\nimport { isAddressEqual } from \"viem\";\n\nexport const truncateAddress = (address: string): string => {\n if (!address) return \"\";\n return `${address.slice(0, 6)}...${address.slice(-4)}`;\n};\n\n/**\n * Ethereum address regex pattern\n * Matches addresses like 0x1234...abcd (40 hex characters after 0x prefix)\n */\nexport const ETHEREUM_ADDRESS_REGEX = /^0x[a-fA-F0-9]{40}$/;\n\n/**\n * Validates if a string is a valid Ethereum address format\n * @param address - The address string to validate\n * @returns true if the address matches the Ethereum address format\n */\nexport const isValidEthereumAddress = (address: string): boolean => {\n return ETHEREUM_ADDRESS_REGEX.test(address);\n};\n\n/**\n * Parses a signature string into its v, r, s components.\n * @param signature - The signature string to parse (must be 0x-prefixed, 132 chars total)\n * @returns VRS object containing v, r, and s values\n */\nexport const parseSignatureToVRS = (signature: string): VRS => {\n if (typeof signature !== \"string\") {\n throw new Error(\"Signature must be a string\");\n }\n\n if (!signature.startsWith(\"0x\")) {\n throw new Error('Signature must start with \"0x\"');\n }\n\n if (signature.length !== 132) {\n throw new Error(\n 'Signature must be 65 bytes (130 hex chars) plus \"0x\" = 132 total length',\n );\n }\n\n const r = signature.slice(2, 66);\n const s = signature.slice(66, 130);\n const vHex = signature.slice(130, 132);\n const v = parseInt(vHex, 16);\n return { v, r: `0x${r}`, s: `0x${s}` };\n};\n\n/**\n * Checks if a v value is valid according to EIP-155.\n */\nexport const isValidV = (v: number): boolean => {\n return v === 0 || v === 1 || v === 27 || v === 28 || v >= 35;\n};\n\n/**\n * Normalizes v value for EIP-155 compliance.\n */\nexport const normalizeV = (v: number) => {\n if (!isValidV(v)) return 0;\n\n const cmp = v <= 1 ? 1 : 0;\n const result = v % 2 === cmp;\n\n return Number(result) % 2;\n};\n\n/**\n * Creates an EIP-2098 compact signature from VRS components.\n * @param vrs - The VRS signature components\n * @returns EIP2098Signature object with yParity, r, and s\n */\nexport const createEIP2098Signature = (vrs: VRS): EIP2098Signature => {\n const v = vrs.v;\n const r = vrs.r;\n const s = vrs.s;\n\n return { yParity: normalizeV(v), r, s };\n};\n\nexport const getChainRpcUrl = (\n chainId: number,\n chains: readonly [Chain, ...Chain[]],\n) => {\n const chain = chains.find((chain) => chain.id === chainId);\n return chain?.rpcUrls.default;\n};\n\nexport const DEFAULT_ADDRESS = \"0x0000000000000000000000000000000000000000\";\n\nexport const isNullAddress = (address: HexString) => {\n return isAddressEqual(address, DEFAULT_ADDRESS);\n};\n", "import type { TokenMetadata } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\n\nexport const tokenMetadata: Record<string, TokenMetadata> = {\n ETH: {\n name: \"Ether\",\n symbol: \"ETH\",\n decimals: 18,\n logoURI: \"/tokens/eth.svg\",\n },\n WETH: {\n name: \"Wrapped Ether\",\n symbol: \"WETH\",\n decimals: 18,\n logoURI: \"/tokens/eth.svg\",\n type: \"ERC20\",\n },\n USD: {\n name: \"US Dollar\",\n symbol: \"USD\",\n decimals: 18,\n logoURI: \"/tokens/usd.svg\",\n },\n USDC: {\n name: \"USD Coin\",\n symbol: \"USDC\",\n decimals: 6,\n logoURI:\n \"https://assets-cdn.trustwallet.com/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png\",\n type: \"ERC20\",\n },\n USDT: {\n name: \"Tether\",\n symbol: \"USDT\",\n decimals: 6,\n logoURI:\n \"https://assets-cdn.trustwallet.com/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png\",\n type: \"ERC20\",\n },\n};\n\nexport function getTokenMetadata(symbol: string): Optional<TokenMetadata> {\n return tokenMetadata[symbol.toUpperCase()];\n}\n", "import type { ChainToken } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\n\nimport { getTokenAddresses } from \"./token-addresses\";\nimport { getTokenMetadata } from \"./token-metadata\";\n\nexport function getChainTokens(chainId: number): ChainToken[] {\n const addresses = getTokenAddresses(chainId);\n const tokens: ChainToken[] = [];\n\n for (const [symbol, address] of Object.entries(addresses)) {\n const metadata = getTokenMetadata(symbol);\n\n if (metadata && address) {\n tokens.push({ ...metadata, address, chainId });\n }\n }\n\n return tokens;\n}\n\nexport function getChainToken(\n chainId: number,\n symbol: string,\n): Optional<ChainToken> {\n const tokens = getChainTokens(chainId);\n return tokens.find(\n (token) => token.symbol.toUpperCase() === symbol.toUpperCase(),\n );\n}\n\nexport function getChainTokenByAddress(\n chainId: number,\n address: string,\n): Optional<ChainToken> {\n const tokens = getChainTokens(chainId);\n return tokens.find(\n (token) => token.address.toLowerCase() === address.toLowerCase(),\n );\n}\n", "import type { ChainConfig } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\nimport type { Chain } from \"viem/chains\";\n\nimport { mainnetChains } from \"./mainnet-chains\";\nimport { testnetChains } from \"./testnet-chains\";\nimport { getChainTokens } from \"../tokens/chain-tokens\";\n\nexport const allChains = [...mainnetChains, ...testnetChains] as const;\n\nexport type SupportedChainId = (typeof allChains)[number][\"id\"];\n\nexport const chainById = new Map<number, Chain>(\n allChains.map((chain) => [chain.id, chain]),\n);\n\nexport function getChainById(chainId: number): Optional<Chain> {\n return chainById.get(chainId);\n}\n\nexport function getChainConfig(chainId: number): Optional<ChainConfig> {\n const chain = getChainById(chainId);\n if (!chain) return undefined;\n\n return {\n chain,\n isTestnet: chain.testnet ?? false,\n tokens: getChainTokens(chain.id),\n };\n}\n\nexport function getMainnetChains(): ChainConfig[] {\n return mainnetChains.map((chain) => ({\n chain,\n isTestnet: false,\n tokens: getChainTokens(chain.id),\n }));\n}\n\nexport function getTestnetChains(): ChainConfig[] {\n return testnetChains.map((chain) => ({\n chain,\n isTestnet: true,\n tokens: getChainTokens(chain.id),\n }));\n}\n\nexport function getAllChains(): ChainConfig[] {\n return [...getMainnetChains(), ...getTestnetChains()];\n}\n\nexport function isSupportedChain(chainId: number): boolean {\n return chainById.has(chainId);\n}\n", "import type { ChainToken } from \"../types\";\n\nexport function filterTokens(\n tokens: ChainToken[],\n allowedSymbols: string[],\n disabledSymbols: string[],\n): ChainToken[] {\n let result = tokens;\n\n if (disabledSymbols.length > 0) {\n result = result.filter(\n (token) => !disabledSymbols.includes(token.symbol.toUpperCase()),\n );\n }\n\n if (allowedSymbols && allowedSymbols.length > 0) {\n result = result.filter((token) =>\n allowedSymbols.includes(token.symbol.toUpperCase()),\n );\n }\n\n return result;\n}\n", "import type { ChainToken } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\n\nexport interface TokenMaps {\n byAddress: Map<string, ChainToken>;\n bySymbol: Map<string, ChainToken>;\n}\n\nexport function createTokenMaps(tokens: ChainToken[]): TokenMaps {\n const byAddress = new Map<string, ChainToken>();\n const bySymbol = new Map<string, ChainToken>();\n\n tokens.forEach((token) => {\n byAddress.set(token.address.toLowerCase(), token);\n bySymbol.set(token.symbol.toLowerCase(), token);\n });\n\n return { byAddress, bySymbol };\n}\n\nexport function getTokenByAddress(\n maps: TokenMaps,\n address: string,\n): Optional<ChainToken> {\n if (!address) return undefined;\n return maps.byAddress.get(address.toLowerCase());\n}\n\nexport function getTokenBySymbol(\n maps: TokenMaps,\n symbol: string,\n): Optional<ChainToken> {\n if (!symbol) return undefined;\n return maps.bySymbol.get(symbol.toLowerCase());\n}\n", "/**\n * List of supported stablecoin symbols\n */\nconst stablecoinSymbols = [\"USDC\", \"USDT\"] as const;\n\n/**\n * Checks if a token symbol is a stablecoin\n * @param symbol - Token symbol to check (e.g., \"USDC\", \"ETH\")\n * @returns true if the symbol is a recognized stablecoin\n */\nexport function isStablecoin(symbol: string | string[]): boolean {\n if (typeof symbol === \"string\") {\n return stablecoinSymbols.includes(\n symbol as (typeof stablecoinSymbols)[number],\n );\n }\n\n return symbol.every((s) =>\n stablecoinSymbols.includes(s as (typeof stablecoinSymbols)[number]),\n );\n}\n", "import type { Optional } from \"@otim/utils/helpers\";\n\n/**\n * Mapping between chain ID numbers (used internally by otim) and\n * Lambda API chain ID strings (used by Lambda's API endpoints).\n *\n * Lambda uses string identifiers for chains while we use numeric chain IDs\n * from viem/wagmi. This map provides bidirectional conversion.\n */\n\n/**\n * Map from numeric chain ID to Lambda chain ID string\n */\nexport const CHAIN_ID_TO_LAMBDA_ID: Record<number, string> = {\n /** Mainnet chains */\n 1: \"ethereum\",\n 8453: \"base\",\n 42161: \"arbitrum\",\n 10: \"optimism\",\n 56: \"binance-smart-chain\",\n 130: \"unichain\",\n 137: \"polygon\",\n} as const;\n\n/**\n * Map from Lambda chain ID string to numeric chain ID\n */\nexport const LAMBDA_ID_TO_CHAIN_ID: Record<string, number> = {\n ethereum: 1,\n base: 8453,\n arbitrum: 42161,\n optimism: 10,\n \"binance-smart-chain\": 56,\n unichain: 130,\n polygon: 137,\n} as const;\n\n/**\n * Convert a numeric chain ID to Lambda's chain ID string\n * @param chainId - The numeric chain ID\n * @returns The Lambda chain ID string, or undefined if not supported by Lambda\n * @example\n * ```ts\n * chainIdToLambdaId(8453) // \"base\"\n * chainIdToLambdaId(1) // \"ethereum\"\n * ```\n */\n\nexport function chainIdToLambdaId(chainId: number): Optional<string> {\n return CHAIN_ID_TO_LAMBDA_ID[chainId];\n}\n\n/**\n * Convert a Lambda chain ID string to numeric chain ID\n * @param lambdaId - The Lambda chain ID string\n * @returns The numeric chain ID, or undefined if not recognized\n * @example\n * ```ts\n * lambdaIdToChainId(\"base\") // 8453\n * lambdaIdToChainId(\"ethereum\") // 1\n * ```\n */\nexport function lambdaIdToChainId(lambdaId: string): Optional<number> {\n return LAMBDA_ID_TO_CHAIN_ID[lambdaId];\n}\n\n/**\n * Check if a chain ID is supported by Lambda\n * @param chainId - The numeric chain ID to check\n * @returns true if the chain is supported by Lambda\n */\nexport function isLambdaSupportedChain(chainId: number): boolean {\n return chainId in CHAIN_ID_TO_LAMBDA_ID;\n}\n\n/**\n * Get all chain IDs supported by Lambda\n * @returns Array of numeric chain IDs that are supported by Lambda\n */\nexport function getLambdaSupportedChainIds(): number[] {\n return Object.keys(CHAIN_ID_TO_LAMBDA_ID).map(Number);\n}\n\n/**\n * Get all Lambda chain ID strings\n * @returns Array of Lambda chain ID strings\n */\nexport function getLambdaChainIds(): string[] {\n return Object.values(CHAIN_ID_TO_LAMBDA_ID);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_chains", "import_chains", "import_chains"]
|
|
7
7
|
}
|
package/dist/chains/index.mjs
CHANGED
|
@@ -59,9 +59,15 @@ import {
|
|
|
59
59
|
} from "viem/chains";
|
|
60
60
|
|
|
61
61
|
// src/env.ts
|
|
62
|
-
var BUILD_MODE = "
|
|
62
|
+
var BUILD_MODE = "production";
|
|
63
63
|
|
|
64
64
|
// src/chains/config/all-chains.ts
|
|
65
|
+
function isProductionMode() {
|
|
66
|
+
if (typeof process !== "undefined" && process.env?.NEXT_PUBLIC_ENVIRONMENT) {
|
|
67
|
+
return process.env.NEXT_PUBLIC_ENVIRONMENT === "production";
|
|
68
|
+
}
|
|
69
|
+
return BUILD_MODE === "production";
|
|
70
|
+
}
|
|
65
71
|
var supportedChains = {
|
|
66
72
|
mainnet: {
|
|
67
73
|
mainnet,
|
|
@@ -97,10 +103,10 @@ var allSupportedChains = {
|
|
|
97
103
|
pecorinoSignet
|
|
98
104
|
};
|
|
99
105
|
var getDefaultChainId = () => {
|
|
100
|
-
return
|
|
106
|
+
return isProductionMode() ? base.id : baseSepolia.id;
|
|
101
107
|
};
|
|
102
108
|
var getDefaultChain = () => {
|
|
103
|
-
return
|
|
109
|
+
return isProductionMode() ? base : baseSepolia;
|
|
104
110
|
};
|
|
105
111
|
|
|
106
112
|
// src/chains/config/mainnet-chains.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/chains/config/custom-chains.ts", "../../src/chains/config/all-chains.ts", "../../src/env.ts", "../../src/chains/config/mainnet-chains.ts", "../../src/chains/config/testnet-chains.ts", "../../src/chains/tokens/token-addresses.ts", "../../src/helpers/blockchain.ts", "../../src/chains/tokens/token-metadata.ts", "../../src/chains/tokens/chain-tokens.ts", "../../src/chains/config/supported-chains.ts", "../../src/chains/utils/filter-tokens.ts", "../../src/chains/utils/token-maps.ts", "../../src/chains/utils/stablecoin.ts", "../../src/chains/lambda/chain-mapping.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Chain } from \"viem/chains\";\n\nexport const pecorinoSignet = {\n id: 14174,\n name: \"Pecorino Signet\",\n nativeCurrency: {\n decimals: 18,\n name: \"USD\",\n symbol: \"USD\",\n },\n rpcUrls: {\n default: { http: [\"https://rpc.pecorino.signet.sh/\"] },\n public: { http: [\"https://rpc.pecorino.signet.sh/\"] },\n },\n blockExplorers: {\n default: {\n name: \"Pecorino Signet Explorer\",\n url: \"https://explorer.pecorino.signet.sh/\",\n },\n },\n testnet: true,\n} as const satisfies Chain;\n\nexport const pecorinoHost = {\n id: 3151908,\n name: \"Pecorino Host\",\n nativeCurrency: {\n decimals: 18,\n name: \"ETH\",\n symbol: \"ETH\",\n },\n rpcUrls: {\n default: { http: [\"https://host-rpc.pecorino.signet.sh/\"] },\n public: { http: [\"https://host-rpc.pecorino.signet.sh/\"] },\n },\n blockExplorers: {\n default: {\n name: \"Pecorino Host Explorer\",\n url: \"https://explorer-host.pecorino.signet.sh/\",\n },\n },\n testnet: true,\n} as const satisfies Chain;\n", "import {\n arbitrum,\n arbitrumSepolia,\n base,\n baseSepolia,\n bsc,\n bscTestnet,\n mainnet,\n optimism,\n optimismSepolia,\n polygon,\n polygonAmoy,\n sepolia,\n unichain,\n unichainSepolia,\n} from \"viem/chains\";\n\nimport { pecorinoHost, pecorinoSignet } from \"./custom-chains\";\nimport { BUILD_MODE } from \"../../env\";\n\nexport const supportedChains = {\n mainnet: {\n mainnet,\n base,\n arbitrum,\n optimism,\n },\n testnet: {\n sepolia,\n baseSepolia,\n arbitrumSepolia,\n optimismSepolia,\n pecorinoHost,\n pecorinoSignet,\n },\n} as const;\n\nexport const allSupportedChains = {\n mainnet,\n base,\n arbitrum,\n optimism,\n bsc,\n unichain,\n polygon,\n sepolia,\n baseSepolia,\n arbitrumSepolia,\n optimismSepolia,\n bscTestnet,\n unichainSepolia,\n polygonAmoy,\n pecorinoHost,\n pecorinoSignet,\n} as const;\n\n/**\n * Get the default chain ID based on the current environment.\n * Production/Preview: Base mainnet\n * Development: Base Sepolia\n */\nexport const getDefaultChainId = (): number => {\n return BUILD_MODE === \"production\" ? base.id : baseSepolia.id;\n};\n\n/**\n * Get the default chain based on the current environment.\n * Production/Preview: Base mainnet\n * Development: Base Sepolia\n */\nexport const getDefaultChain = () => {\n return BUILD_MODE === \"production\" ? base : baseSepolia;\n};\n\nexport type SupportedChainName = keyof typeof allSupportedChains;\nexport type MainnetChainName = keyof typeof supportedChains.mainnet;\nexport type TestnetChainName = keyof typeof supportedChains.testnet;\n", "/**\n * Environment configuration for @otim/utils\n *\n * These values are injected at build time via esbuild's define option.\n * See scripts/build.js for the injection logic.\n */\n\n/**\n * Build mode - determines production vs development behavior\n * Values: \"production\" | \"development\"\n */\nexport const BUILD_MODE = process.env.BUILD_MODE || \"development\";\n\n/**\n * App API URL - base URL for API requests\n * Defaults to production URL if not specified\n */\nexport const APP_API_URL =\n process.env.NEXT_PUBLIC_APP_API_URL || \"https://app.otim.com/api\";\n", "import type { Optional } from \"@otim/utils/helpers\";\nimport type { Chain } from \"viem/chains\";\n\nimport { arbitrum, base, bsc, mainnet, optimism, polygon, unichain } from \"viem/chains\";\n\nexport const mainnetChains = [mainnet, base, arbitrum, optimism, bsc, unichain, polygon] as const;\n\nexport const mainnetChainsById = new Map<number, Chain>(\n mainnetChains.map((chain) => [chain.id, chain]),\n);\n\nexport function getMainnetChain(chainId: number): Optional<Chain> {\n return mainnetChainsById.get(chainId);\n}\n\nexport function isMainnetChain(chainId: number): boolean {\n return mainnetChainsById.has(chainId);\n}\n", "import type { Optional } from \"@otim/utils/helpers\";\nimport type { Chain } from \"viem/chains\";\n\nimport {\n arbitrumSepolia,\n baseSepolia,\n bscTestnet,\n optimismSepolia,\n polygonAmoy,\n sepolia,\n unichainSepolia,\n} from \"viem/chains\";\n\nimport { pecorinoHost, pecorinoSignet } from \"./custom-chains\";\n\nexport const testnetChains = [\n sepolia,\n baseSepolia,\n arbitrumSepolia,\n optimismSepolia,\n bscTestnet,\n unichainSepolia,\n polygonAmoy,\n pecorinoHost,\n pecorinoSignet,\n] as const;\n\nexport const testnetChainsById = new Map<number, Chain>(\n testnetChains.map((chain) => [chain.id, chain]),\n);\n\nexport function getTestnetChain(chainId: number): Optional<Chain> {\n return testnetChainsById.get(chainId);\n}\n\nexport function isTestnetChain(chainId: number): boolean {\n return testnetChainsById.has(chainId);\n}\n", "import type { ChainTokenAddresses } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport {\n arbitrum,\n arbitrumSepolia,\n base,\n baseSepolia,\n bsc,\n bscTestnet,\n mainnet,\n optimism,\n optimismSepolia,\n polygon,\n polygonAmoy,\n sepolia,\n unichain,\n unichainSepolia,\n} from \"viem/chains\";\n\nimport { DEFAULT_ADDRESS } from \"../../helpers\";\nimport { pecorinoHost, pecorinoSignet } from \"../config/custom-chains\";\n\nexport const tokenAddresses: Record<number, ChainTokenAddresses> = {\n [mainnet.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\",\n USDC: \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n USDT: \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n },\n [base.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n USDT: \"0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2\",\n },\n [arbitrum.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\n USDC: \"0xaf88d065e77c8cc2239327c5edb3a432268e5831\",\n USDT: \"0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9\",\n },\n [optimism.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85\",\n USDT: \"0x94b008aA00579c1307B0EF2c499aD98a8ce58e58\",\n },\n [sepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14\",\n USDC: \"0x1c7d4b196cb0c7b01d743fbc6116a902379c7238\",\n USDT: \"0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0\",\n },\n [baseSepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x036CbD53842c5426634e7929541eC2318f3dCF7e\",\n USDT: \"0x323e78f944A9a1FcF3a10efcC5319DBb0bB6e673\",\n },\n [arbitrumSepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\n USDC: \"0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d\",\n USDT: \"0xE5b6C29411b3ad31C3613BbA0145293fC9957256\",\n },\n [optimismSepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x5fd84259d66Cd46123540766Be93DFE6D43130D7\",\n USDT: \"0xebca682b6c15d539284432edc5b960771f0009e8\",\n },\n [bsc.id]: {\n BNB: DEFAULT_ADDRESS,\n WBNB: \"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\",\n USDC: \"0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d\",\n USDT: \"0x55d398326f99059fF775485246999027B3197955\",\n },\n [bscTestnet.id]: {\n BNB: DEFAULT_ADDRESS,\n WBNB: \"0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd\",\n USDC: \"0x64544969ed7EBf5f083679233325356EbE738930\",\n },\n [unichain.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA\",\n },\n [unichainSepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x4B4dB6adEdED34DC879EbBaed49D3054f26D8D87\",\n },\n [polygon.id]: {\n POL: DEFAULT_ADDRESS,\n MATIC: DEFAULT_ADDRESS,\n WMATIC: \"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270\",\n USDC: \"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359\",\n USDT: \"0xc2132D05D31c914a87C6611C10748AEb04B58e8F\",\n },\n [polygonAmoy.id]: {\n POL: DEFAULT_ADDRESS,\n MATIC: DEFAULT_ADDRESS,\n WMATIC: \"0x360ad4f9a9A8EFe9A8DCB5f461c4Cc1047E1Dcf9\",\n USDC: \"0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582\",\n },\n [pecorinoSignet.id]: {\n USD: DEFAULT_ADDRESS,\n },\n [pecorinoHost.id]: {\n ETH: DEFAULT_ADDRESS,\n },\n};\n\nexport function getTokenAddresses(chainId: number): ChainTokenAddresses {\n return tokenAddresses[chainId] || {};\n}\n\nexport function getTokenAddress(\n chainId: number,\n symbol: string,\n): Optional<Address> {\n const addresses = getTokenAddresses(chainId);\n return addresses[symbol.toUpperCase()];\n}\n\nexport function isTokenSupported(chainId: number, symbol: string): boolean {\n return getTokenAddress(chainId, symbol) !== undefined;\n}\n", "import type { EIP2098Signature, HexString, VRS } from \"@otim/utils/schemas\";\nimport type { Chain } from \"viem\";\n\nimport { isAddressEqual } from \"viem\";\n\nexport const truncateAddress = (address: string): string => {\n if (!address) return \"\";\n return `${address.slice(0, 6)}...${address.slice(-4)}`;\n};\n\n/**\n * Ethereum address regex pattern\n * Matches addresses like 0x1234...abcd (40 hex characters after 0x prefix)\n */\nexport const ETHEREUM_ADDRESS_REGEX = /^0x[a-fA-F0-9]{40}$/;\n\n/**\n * Validates if a string is a valid Ethereum address format\n * @param address - The address string to validate\n * @returns true if the address matches the Ethereum address format\n */\nexport const isValidEthereumAddress = (address: string): boolean => {\n return ETHEREUM_ADDRESS_REGEX.test(address);\n};\n\n/**\n * Parses a signature string into its v, r, s components.\n * @param signature - The signature string to parse (must be 0x-prefixed, 132 chars total)\n * @returns VRS object containing v, r, and s values\n */\nexport const parseSignatureToVRS = (signature: string): VRS => {\n if (typeof signature !== \"string\") {\n throw new Error(\"Signature must be a string\");\n }\n\n if (!signature.startsWith(\"0x\")) {\n throw new Error('Signature must start with \"0x\"');\n }\n\n if (signature.length !== 132) {\n throw new Error(\n 'Signature must be 65 bytes (130 hex chars) plus \"0x\" = 132 total length',\n );\n }\n\n const r = signature.slice(2, 66);\n const s = signature.slice(66, 130);\n const vHex = signature.slice(130, 132);\n const v = parseInt(vHex, 16);\n return { v, r: `0x${r}`, s: `0x${s}` };\n};\n\n/**\n * Checks if a v value is valid according to EIP-155.\n */\nexport const isValidV = (v: number): boolean => {\n return v === 0 || v === 1 || v === 27 || v === 28 || v >= 35;\n};\n\n/**\n * Normalizes v value for EIP-155 compliance.\n */\nexport const normalizeV = (v: number) => {\n if (!isValidV(v)) return 0;\n\n const cmp = v <= 1 ? 1 : 0;\n const result = v % 2 === cmp;\n\n return Number(result) % 2;\n};\n\n/**\n * Creates an EIP-2098 compact signature from VRS components.\n * @param vrs - The VRS signature components\n * @returns EIP2098Signature object with yParity, r, and s\n */\nexport const createEIP2098Signature = (vrs: VRS): EIP2098Signature => {\n const v = vrs.v;\n const r = vrs.r;\n const s = vrs.s;\n\n return { yParity: normalizeV(v), r, s };\n};\n\nexport const getChainRpcUrl = (\n chainId: number,\n chains: readonly [Chain, ...Chain[]],\n) => {\n const chain = chains.find((chain) => chain.id === chainId);\n return chain?.rpcUrls.default;\n};\n\nexport const DEFAULT_ADDRESS = \"0x0000000000000000000000000000000000000000\";\n\nexport const isNullAddress = (address: HexString) => {\n return isAddressEqual(address, DEFAULT_ADDRESS);\n};\n", "import type { TokenMetadata } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\n\nexport const tokenMetadata: Record<string, TokenMetadata> = {\n ETH: {\n name: \"Ether\",\n symbol: \"ETH\",\n decimals: 18,\n logoURI: \"/tokens/eth.svg\",\n },\n WETH: {\n name: \"Wrapped Ether\",\n symbol: \"WETH\",\n decimals: 18,\n logoURI: \"/tokens/eth.svg\",\n type: \"ERC20\",\n },\n USD: {\n name: \"US Dollar\",\n symbol: \"USD\",\n decimals: 18,\n logoURI: \"/tokens/usd.svg\",\n },\n USDC: {\n name: \"USD Coin\",\n symbol: \"USDC\",\n decimals: 6,\n logoURI:\n \"https://assets-cdn.trustwallet.com/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png\",\n type: \"ERC20\",\n },\n USDT: {\n name: \"Tether\",\n symbol: \"USDT\",\n decimals: 6,\n logoURI:\n \"https://assets-cdn.trustwallet.com/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png\",\n type: \"ERC20\",\n },\n};\n\nexport function getTokenMetadata(symbol: string): Optional<TokenMetadata> {\n return tokenMetadata[symbol.toUpperCase()];\n}\n", "import type { ChainToken } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\n\nimport { getTokenAddresses } from \"./token-addresses\";\nimport { getTokenMetadata } from \"./token-metadata\";\n\nexport function getChainTokens(chainId: number): ChainToken[] {\n const addresses = getTokenAddresses(chainId);\n const tokens: ChainToken[] = [];\n\n for (const [symbol, address] of Object.entries(addresses)) {\n const metadata = getTokenMetadata(symbol);\n\n if (metadata && address) {\n tokens.push({ ...metadata, address, chainId });\n }\n }\n\n return tokens;\n}\n\nexport function getChainToken(\n chainId: number,\n symbol: string,\n): Optional<ChainToken> {\n const tokens = getChainTokens(chainId);\n return tokens.find(\n (token) => token.symbol.toUpperCase() === symbol.toUpperCase(),\n );\n}\n\nexport function getChainTokenByAddress(\n chainId: number,\n address: string,\n): Optional<ChainToken> {\n const tokens = getChainTokens(chainId);\n return tokens.find(\n (token) => token.address.toLowerCase() === address.toLowerCase(),\n );\n}\n", "import type { ChainConfig } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\nimport type { Chain } from \"viem/chains\";\n\nimport { mainnetChains } from \"./mainnet-chains\";\nimport { testnetChains } from \"./testnet-chains\";\nimport { getChainTokens } from \"../tokens/chain-tokens\";\n\nexport const allChains = [...mainnetChains, ...testnetChains] as const;\n\nexport type SupportedChainId = (typeof allChains)[number][\"id\"];\n\nexport const chainById = new Map<number, Chain>(\n allChains.map((chain) => [chain.id, chain]),\n);\n\nexport function getChainById(chainId: number): Optional<Chain> {\n return chainById.get(chainId);\n}\n\nexport function getChainConfig(chainId: number): Optional<ChainConfig> {\n const chain = getChainById(chainId);\n if (!chain) return undefined;\n\n return {\n chain,\n isTestnet: chain.testnet ?? false,\n tokens: getChainTokens(chain.id),\n };\n}\n\nexport function getMainnetChains(): ChainConfig[] {\n return mainnetChains.map((chain) => ({\n chain,\n isTestnet: false,\n tokens: getChainTokens(chain.id),\n }));\n}\n\nexport function getTestnetChains(): ChainConfig[] {\n return testnetChains.map((chain) => ({\n chain,\n isTestnet: true,\n tokens: getChainTokens(chain.id),\n }));\n}\n\nexport function getAllChains(): ChainConfig[] {\n return [...getMainnetChains(), ...getTestnetChains()];\n}\n\nexport function isSupportedChain(chainId: number): boolean {\n return chainById.has(chainId);\n}\n", "import type { ChainToken } from \"../types\";\n\nexport function filterTokens(\n tokens: ChainToken[],\n allowedSymbols: string[],\n disabledSymbols: string[],\n): ChainToken[] {\n let result = tokens;\n\n if (disabledSymbols.length > 0) {\n result = result.filter(\n (token) => !disabledSymbols.includes(token.symbol.toUpperCase()),\n );\n }\n\n if (allowedSymbols && allowedSymbols.length > 0) {\n result = result.filter((token) =>\n allowedSymbols.includes(token.symbol.toUpperCase()),\n );\n }\n\n return result;\n}\n", "import type { ChainToken } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\n\nexport interface TokenMaps {\n byAddress: Map<string, ChainToken>;\n bySymbol: Map<string, ChainToken>;\n}\n\nexport function createTokenMaps(tokens: ChainToken[]): TokenMaps {\n const byAddress = new Map<string, ChainToken>();\n const bySymbol = new Map<string, ChainToken>();\n\n tokens.forEach((token) => {\n byAddress.set(token.address.toLowerCase(), token);\n bySymbol.set(token.symbol.toLowerCase(), token);\n });\n\n return { byAddress, bySymbol };\n}\n\nexport function getTokenByAddress(\n maps: TokenMaps,\n address: string,\n): Optional<ChainToken> {\n if (!address) return undefined;\n return maps.byAddress.get(address.toLowerCase());\n}\n\nexport function getTokenBySymbol(\n maps: TokenMaps,\n symbol: string,\n): Optional<ChainToken> {\n if (!symbol) return undefined;\n return maps.bySymbol.get(symbol.toLowerCase());\n}\n", "/**\n * List of supported stablecoin symbols\n */\nconst stablecoinSymbols = [\"USDC\", \"USDT\"] as const;\n\n/**\n * Checks if a token symbol is a stablecoin\n * @param symbol - Token symbol to check (e.g., \"USDC\", \"ETH\")\n * @returns true if the symbol is a recognized stablecoin\n */\nexport function isStablecoin(symbol: string | string[]): boolean {\n if (typeof symbol === \"string\") {\n return stablecoinSymbols.includes(\n symbol as (typeof stablecoinSymbols)[number],\n );\n }\n\n return symbol.every((s) =>\n stablecoinSymbols.includes(s as (typeof stablecoinSymbols)[number]),\n );\n}\n", "import type { Optional } from \"@otim/utils/helpers\";\n\n/**\n * Mapping between chain ID numbers (used internally by otim) and\n * Lambda API chain ID strings (used by Lambda's API endpoints).\n *\n * Lambda uses string identifiers for chains while we use numeric chain IDs\n * from viem/wagmi. This map provides bidirectional conversion.\n */\n\n/**\n * Map from numeric chain ID to Lambda chain ID string\n */\nexport const CHAIN_ID_TO_LAMBDA_ID: Record<number, string> = {\n /** Mainnet chains */\n 1: \"ethereum\",\n 8453: \"base\",\n 42161: \"arbitrum\",\n 10: \"optimism\",\n 56: \"binance-smart-chain\",\n 130: \"unichain\",\n 137: \"polygon\",\n} as const;\n\n/**\n * Map from Lambda chain ID string to numeric chain ID\n */\nexport const LAMBDA_ID_TO_CHAIN_ID: Record<string, number> = {\n ethereum: 1,\n base: 8453,\n arbitrum: 42161,\n optimism: 10,\n \"binance-smart-chain\": 56,\n unichain: 130,\n polygon: 137,\n} as const;\n\n/**\n * Convert a numeric chain ID to Lambda's chain ID string\n * @param chainId - The numeric chain ID\n * @returns The Lambda chain ID string, or undefined if not supported by Lambda\n * @example\n * ```ts\n * chainIdToLambdaId(8453) // \"base\"\n * chainIdToLambdaId(1) // \"ethereum\"\n * ```\n */\n\nexport function chainIdToLambdaId(chainId: number): Optional<string> {\n return CHAIN_ID_TO_LAMBDA_ID[chainId];\n}\n\n/**\n * Convert a Lambda chain ID string to numeric chain ID\n * @param lambdaId - The Lambda chain ID string\n * @returns The numeric chain ID, or undefined if not recognized\n * @example\n * ```ts\n * lambdaIdToChainId(\"base\") // 8453\n * lambdaIdToChainId(\"ethereum\") // 1\n * ```\n */\nexport function lambdaIdToChainId(lambdaId: string): Optional<number> {\n return LAMBDA_ID_TO_CHAIN_ID[lambdaId];\n}\n\n/**\n * Check if a chain ID is supported by Lambda\n * @param chainId - The numeric chain ID to check\n * @returns true if the chain is supported by Lambda\n */\nexport function isLambdaSupportedChain(chainId: number): boolean {\n return chainId in CHAIN_ID_TO_LAMBDA_ID;\n}\n\n/**\n * Get all chain IDs supported by Lambda\n * @returns Array of numeric chain IDs that are supported by Lambda\n */\nexport function getLambdaSupportedChainIds(): number[] {\n return Object.keys(CHAIN_ID_TO_LAMBDA_ID).map(Number);\n}\n\n/**\n * Get all Lambda chain ID strings\n * @returns Array of Lambda chain ID strings\n */\nexport function getLambdaChainIds(): string[] {\n return Object.values(CHAIN_ID_TO_LAMBDA_ID);\n}\n"],
|
|
5
|
-
"mappings": ";AAEO,IAAM,iBAAiB;AAAA,EAC5B,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,gBAAgB;AAAA,IACd,UAAU;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACP,SAAS,EAAE,MAAM,CAAC,iCAAiC,EAAE;AAAA,IACrD,QAAQ,EAAE,MAAM,CAAC,iCAAiC,EAAE;AAAA,EACtD;AAAA,EACA,gBAAgB;AAAA,IACd,SAAS;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EACA,SAAS;AACX;AAEO,IAAM,eAAe;AAAA,EAC1B,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,gBAAgB;AAAA,IACd,UAAU;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACP,SAAS,EAAE,MAAM,CAAC,sCAAsC,EAAE;AAAA,IAC1D,QAAQ,EAAE,MAAM,CAAC,sCAAsC,EAAE;AAAA,EAC3D;AAAA,EACA,gBAAgB;AAAA,IACd,SAAS;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EACA,SAAS;AACX;;;AC1CA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;;;ACJA,IAAM,aAAa;;;
|
|
4
|
+
"sourcesContent": ["import type { Chain } from \"viem/chains\";\n\nexport const pecorinoSignet = {\n id: 14174,\n name: \"Pecorino Signet\",\n nativeCurrency: {\n decimals: 18,\n name: \"USD\",\n symbol: \"USD\",\n },\n rpcUrls: {\n default: { http: [\"https://rpc.pecorino.signet.sh/\"] },\n public: { http: [\"https://rpc.pecorino.signet.sh/\"] },\n },\n blockExplorers: {\n default: {\n name: \"Pecorino Signet Explorer\",\n url: \"https://explorer.pecorino.signet.sh/\",\n },\n },\n testnet: true,\n} as const satisfies Chain;\n\nexport const pecorinoHost = {\n id: 3151908,\n name: \"Pecorino Host\",\n nativeCurrency: {\n decimals: 18,\n name: \"ETH\",\n symbol: \"ETH\",\n },\n rpcUrls: {\n default: { http: [\"https://host-rpc.pecorino.signet.sh/\"] },\n public: { http: [\"https://host-rpc.pecorino.signet.sh/\"] },\n },\n blockExplorers: {\n default: {\n name: \"Pecorino Host Explorer\",\n url: \"https://explorer-host.pecorino.signet.sh/\",\n },\n },\n testnet: true,\n} as const satisfies Chain;\n", "import {\n arbitrum,\n arbitrumSepolia,\n base,\n baseSepolia,\n bsc,\n bscTestnet,\n mainnet,\n optimism,\n optimismSepolia,\n polygon,\n polygonAmoy,\n sepolia,\n unichain,\n unichainSepolia,\n} from \"viem/chains\";\n\nimport { pecorinoHost, pecorinoSignet } from \"./custom-chains\";\nimport { BUILD_MODE } from \"../../env\";\n\n/**\n * Determines if we should use production chains based on runtime environment.\n * Checks NEXT_PUBLIC_ENVIRONMENT (runtime) first, falls back to BUILD_MODE (build-time).\n *\n * Production chains are used when:\n * - NEXT_PUBLIC_ENVIRONMENT === \"production\"\n * - BUILD_MODE === \"production\" (fallback if NEXT_PUBLIC_ENVIRONMENT is not set)\n */\nfunction isProductionMode(): boolean {\n // Check runtime environment variable first (available in Next.js)\n if (typeof process !== \"undefined\" && process.env?.NEXT_PUBLIC_ENVIRONMENT) {\n return process.env.NEXT_PUBLIC_ENVIRONMENT === \"production\";\n }\n\n // Fall back to build-time environment\n return BUILD_MODE === \"production\";\n}\n\nexport const supportedChains = {\n mainnet: {\n mainnet,\n base,\n arbitrum,\n optimism,\n },\n testnet: {\n sepolia,\n baseSepolia,\n arbitrumSepolia,\n optimismSepolia,\n pecorinoHost,\n pecorinoSignet,\n },\n} as const;\n\nexport const allSupportedChains = {\n mainnet,\n base,\n arbitrum,\n optimism,\n bsc,\n unichain,\n polygon,\n sepolia,\n baseSepolia,\n arbitrumSepolia,\n optimismSepolia,\n bscTestnet,\n unichainSepolia,\n polygonAmoy,\n pecorinoHost,\n pecorinoSignet,\n} as const;\n\n/**\n * Get the default chain ID based on the current environment.\n * Production: Base mainnet (8453)\n * Development/Staging/Preview: Base Sepolia (84532)\n */\nexport const getDefaultChainId = (): number => {\n return isProductionMode() ? base.id : baseSepolia.id;\n};\n\n/**\n * Get the default chain based on the current environment.\n * Production: Base mainnet\n * Development/Staging/Preview: Base Sepolia\n */\nexport const getDefaultChain = () => {\n return isProductionMode() ? base : baseSepolia;\n};\n\nexport type SupportedChainName = keyof typeof allSupportedChains;\nexport type MainnetChainName = keyof typeof supportedChains.mainnet;\nexport type TestnetChainName = keyof typeof supportedChains.testnet;\n", "/**\n * Environment configuration for @otim/utils\n *\n * These values are injected at build time via esbuild's define option.\n * See scripts/build.js for the injection logic.\n */\n\n/**\n * Build mode - determines production vs development behavior\n * Values: \"production\" | \"development\"\n */\nexport const BUILD_MODE = process.env.BUILD_MODE || \"development\";\n\n/**\n * App API URL - base URL for API requests\n * Defaults to production URL if not specified\n */\nexport const APP_API_URL =\n process.env.NEXT_PUBLIC_APP_API_URL || \"https://app.otim.com/api\";\n", "import type { Optional } from \"@otim/utils/helpers\";\nimport type { Chain } from \"viem/chains\";\n\nimport { arbitrum, base, bsc, mainnet, optimism, polygon, unichain } from \"viem/chains\";\n\nexport const mainnetChains = [mainnet, base, arbitrum, optimism, bsc, unichain, polygon] as const;\n\nexport const mainnetChainsById = new Map<number, Chain>(\n mainnetChains.map((chain) => [chain.id, chain]),\n);\n\nexport function getMainnetChain(chainId: number): Optional<Chain> {\n return mainnetChainsById.get(chainId);\n}\n\nexport function isMainnetChain(chainId: number): boolean {\n return mainnetChainsById.has(chainId);\n}\n", "import type { Optional } from \"@otim/utils/helpers\";\nimport type { Chain } from \"viem/chains\";\n\nimport {\n arbitrumSepolia,\n baseSepolia,\n bscTestnet,\n optimismSepolia,\n polygonAmoy,\n sepolia,\n unichainSepolia,\n} from \"viem/chains\";\n\nimport { pecorinoHost, pecorinoSignet } from \"./custom-chains\";\n\nexport const testnetChains = [\n sepolia,\n baseSepolia,\n arbitrumSepolia,\n optimismSepolia,\n bscTestnet,\n unichainSepolia,\n polygonAmoy,\n pecorinoHost,\n pecorinoSignet,\n] as const;\n\nexport const testnetChainsById = new Map<number, Chain>(\n testnetChains.map((chain) => [chain.id, chain]),\n);\n\nexport function getTestnetChain(chainId: number): Optional<Chain> {\n return testnetChainsById.get(chainId);\n}\n\nexport function isTestnetChain(chainId: number): boolean {\n return testnetChainsById.has(chainId);\n}\n", "import type { ChainTokenAddresses } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport {\n arbitrum,\n arbitrumSepolia,\n base,\n baseSepolia,\n bsc,\n bscTestnet,\n mainnet,\n optimism,\n optimismSepolia,\n polygon,\n polygonAmoy,\n sepolia,\n unichain,\n unichainSepolia,\n} from \"viem/chains\";\n\nimport { DEFAULT_ADDRESS } from \"../../helpers\";\nimport { pecorinoHost, pecorinoSignet } from \"../config/custom-chains\";\n\nexport const tokenAddresses: Record<number, ChainTokenAddresses> = {\n [mainnet.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\",\n USDC: \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n USDT: \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n },\n [base.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n USDT: \"0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2\",\n },\n [arbitrum.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\n USDC: \"0xaf88d065e77c8cc2239327c5edb3a432268e5831\",\n USDT: \"0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9\",\n },\n [optimism.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85\",\n USDT: \"0x94b008aA00579c1307B0EF2c499aD98a8ce58e58\",\n },\n [sepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14\",\n USDC: \"0x1c7d4b196cb0c7b01d743fbc6116a902379c7238\",\n USDT: \"0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0\",\n },\n [baseSepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x036CbD53842c5426634e7929541eC2318f3dCF7e\",\n USDT: \"0x323e78f944A9a1FcF3a10efcC5319DBb0bB6e673\",\n },\n [arbitrumSepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\n USDC: \"0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d\",\n USDT: \"0xE5b6C29411b3ad31C3613BbA0145293fC9957256\",\n },\n [optimismSepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x5fd84259d66Cd46123540766Be93DFE6D43130D7\",\n USDT: \"0xebca682b6c15d539284432edc5b960771f0009e8\",\n },\n [bsc.id]: {\n BNB: DEFAULT_ADDRESS,\n WBNB: \"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\",\n USDC: \"0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d\",\n USDT: \"0x55d398326f99059fF775485246999027B3197955\",\n },\n [bscTestnet.id]: {\n BNB: DEFAULT_ADDRESS,\n WBNB: \"0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd\",\n USDC: \"0x64544969ed7EBf5f083679233325356EbE738930\",\n },\n [unichain.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA\",\n },\n [unichainSepolia.id]: {\n ETH: DEFAULT_ADDRESS,\n WETH: \"0x4200000000000000000000000000000000000006\",\n USDC: \"0x4B4dB6adEdED34DC879EbBaed49D3054f26D8D87\",\n },\n [polygon.id]: {\n POL: DEFAULT_ADDRESS,\n MATIC: DEFAULT_ADDRESS,\n WMATIC: \"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270\",\n USDC: \"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359\",\n USDT: \"0xc2132D05D31c914a87C6611C10748AEb04B58e8F\",\n },\n [polygonAmoy.id]: {\n POL: DEFAULT_ADDRESS,\n MATIC: DEFAULT_ADDRESS,\n WMATIC: \"0x360ad4f9a9A8EFe9A8DCB5f461c4Cc1047E1Dcf9\",\n USDC: \"0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582\",\n },\n [pecorinoSignet.id]: {\n USD: DEFAULT_ADDRESS,\n },\n [pecorinoHost.id]: {\n ETH: DEFAULT_ADDRESS,\n },\n};\n\nexport function getTokenAddresses(chainId: number): ChainTokenAddresses {\n return tokenAddresses[chainId] || {};\n}\n\nexport function getTokenAddress(\n chainId: number,\n symbol: string,\n): Optional<Address> {\n const addresses = getTokenAddresses(chainId);\n return addresses[symbol.toUpperCase()];\n}\n\nexport function isTokenSupported(chainId: number, symbol: string): boolean {\n return getTokenAddress(chainId, symbol) !== undefined;\n}\n", "import type { EIP2098Signature, HexString, VRS } from \"@otim/utils/schemas\";\nimport type { Chain } from \"viem\";\n\nimport { isAddressEqual } from \"viem\";\n\nexport const truncateAddress = (address: string): string => {\n if (!address) return \"\";\n return `${address.slice(0, 6)}...${address.slice(-4)}`;\n};\n\n/**\n * Ethereum address regex pattern\n * Matches addresses like 0x1234...abcd (40 hex characters after 0x prefix)\n */\nexport const ETHEREUM_ADDRESS_REGEX = /^0x[a-fA-F0-9]{40}$/;\n\n/**\n * Validates if a string is a valid Ethereum address format\n * @param address - The address string to validate\n * @returns true if the address matches the Ethereum address format\n */\nexport const isValidEthereumAddress = (address: string): boolean => {\n return ETHEREUM_ADDRESS_REGEX.test(address);\n};\n\n/**\n * Parses a signature string into its v, r, s components.\n * @param signature - The signature string to parse (must be 0x-prefixed, 132 chars total)\n * @returns VRS object containing v, r, and s values\n */\nexport const parseSignatureToVRS = (signature: string): VRS => {\n if (typeof signature !== \"string\") {\n throw new Error(\"Signature must be a string\");\n }\n\n if (!signature.startsWith(\"0x\")) {\n throw new Error('Signature must start with \"0x\"');\n }\n\n if (signature.length !== 132) {\n throw new Error(\n 'Signature must be 65 bytes (130 hex chars) plus \"0x\" = 132 total length',\n );\n }\n\n const r = signature.slice(2, 66);\n const s = signature.slice(66, 130);\n const vHex = signature.slice(130, 132);\n const v = parseInt(vHex, 16);\n return { v, r: `0x${r}`, s: `0x${s}` };\n};\n\n/**\n * Checks if a v value is valid according to EIP-155.\n */\nexport const isValidV = (v: number): boolean => {\n return v === 0 || v === 1 || v === 27 || v === 28 || v >= 35;\n};\n\n/**\n * Normalizes v value for EIP-155 compliance.\n */\nexport const normalizeV = (v: number) => {\n if (!isValidV(v)) return 0;\n\n const cmp = v <= 1 ? 1 : 0;\n const result = v % 2 === cmp;\n\n return Number(result) % 2;\n};\n\n/**\n * Creates an EIP-2098 compact signature from VRS components.\n * @param vrs - The VRS signature components\n * @returns EIP2098Signature object with yParity, r, and s\n */\nexport const createEIP2098Signature = (vrs: VRS): EIP2098Signature => {\n const v = vrs.v;\n const r = vrs.r;\n const s = vrs.s;\n\n return { yParity: normalizeV(v), r, s };\n};\n\nexport const getChainRpcUrl = (\n chainId: number,\n chains: readonly [Chain, ...Chain[]],\n) => {\n const chain = chains.find((chain) => chain.id === chainId);\n return chain?.rpcUrls.default;\n};\n\nexport const DEFAULT_ADDRESS = \"0x0000000000000000000000000000000000000000\";\n\nexport const isNullAddress = (address: HexString) => {\n return isAddressEqual(address, DEFAULT_ADDRESS);\n};\n", "import type { TokenMetadata } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\n\nexport const tokenMetadata: Record<string, TokenMetadata> = {\n ETH: {\n name: \"Ether\",\n symbol: \"ETH\",\n decimals: 18,\n logoURI: \"/tokens/eth.svg\",\n },\n WETH: {\n name: \"Wrapped Ether\",\n symbol: \"WETH\",\n decimals: 18,\n logoURI: \"/tokens/eth.svg\",\n type: \"ERC20\",\n },\n USD: {\n name: \"US Dollar\",\n symbol: \"USD\",\n decimals: 18,\n logoURI: \"/tokens/usd.svg\",\n },\n USDC: {\n name: \"USD Coin\",\n symbol: \"USDC\",\n decimals: 6,\n logoURI:\n \"https://assets-cdn.trustwallet.com/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png\",\n type: \"ERC20\",\n },\n USDT: {\n name: \"Tether\",\n symbol: \"USDT\",\n decimals: 6,\n logoURI:\n \"https://assets-cdn.trustwallet.com/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png\",\n type: \"ERC20\",\n },\n};\n\nexport function getTokenMetadata(symbol: string): Optional<TokenMetadata> {\n return tokenMetadata[symbol.toUpperCase()];\n}\n", "import type { ChainToken } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\n\nimport { getTokenAddresses } from \"./token-addresses\";\nimport { getTokenMetadata } from \"./token-metadata\";\n\nexport function getChainTokens(chainId: number): ChainToken[] {\n const addresses = getTokenAddresses(chainId);\n const tokens: ChainToken[] = [];\n\n for (const [symbol, address] of Object.entries(addresses)) {\n const metadata = getTokenMetadata(symbol);\n\n if (metadata && address) {\n tokens.push({ ...metadata, address, chainId });\n }\n }\n\n return tokens;\n}\n\nexport function getChainToken(\n chainId: number,\n symbol: string,\n): Optional<ChainToken> {\n const tokens = getChainTokens(chainId);\n return tokens.find(\n (token) => token.symbol.toUpperCase() === symbol.toUpperCase(),\n );\n}\n\nexport function getChainTokenByAddress(\n chainId: number,\n address: string,\n): Optional<ChainToken> {\n const tokens = getChainTokens(chainId);\n return tokens.find(\n (token) => token.address.toLowerCase() === address.toLowerCase(),\n );\n}\n", "import type { ChainConfig } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\nimport type { Chain } from \"viem/chains\";\n\nimport { mainnetChains } from \"./mainnet-chains\";\nimport { testnetChains } from \"./testnet-chains\";\nimport { getChainTokens } from \"../tokens/chain-tokens\";\n\nexport const allChains = [...mainnetChains, ...testnetChains] as const;\n\nexport type SupportedChainId = (typeof allChains)[number][\"id\"];\n\nexport const chainById = new Map<number, Chain>(\n allChains.map((chain) => [chain.id, chain]),\n);\n\nexport function getChainById(chainId: number): Optional<Chain> {\n return chainById.get(chainId);\n}\n\nexport function getChainConfig(chainId: number): Optional<ChainConfig> {\n const chain = getChainById(chainId);\n if (!chain) return undefined;\n\n return {\n chain,\n isTestnet: chain.testnet ?? false,\n tokens: getChainTokens(chain.id),\n };\n}\n\nexport function getMainnetChains(): ChainConfig[] {\n return mainnetChains.map((chain) => ({\n chain,\n isTestnet: false,\n tokens: getChainTokens(chain.id),\n }));\n}\n\nexport function getTestnetChains(): ChainConfig[] {\n return testnetChains.map((chain) => ({\n chain,\n isTestnet: true,\n tokens: getChainTokens(chain.id),\n }));\n}\n\nexport function getAllChains(): ChainConfig[] {\n return [...getMainnetChains(), ...getTestnetChains()];\n}\n\nexport function isSupportedChain(chainId: number): boolean {\n return chainById.has(chainId);\n}\n", "import type { ChainToken } from \"../types\";\n\nexport function filterTokens(\n tokens: ChainToken[],\n allowedSymbols: string[],\n disabledSymbols: string[],\n): ChainToken[] {\n let result = tokens;\n\n if (disabledSymbols.length > 0) {\n result = result.filter(\n (token) => !disabledSymbols.includes(token.symbol.toUpperCase()),\n );\n }\n\n if (allowedSymbols && allowedSymbols.length > 0) {\n result = result.filter((token) =>\n allowedSymbols.includes(token.symbol.toUpperCase()),\n );\n }\n\n return result;\n}\n", "import type { ChainToken } from \"../types\";\nimport type { Optional } from \"@otim/utils/helpers\";\n\nexport interface TokenMaps {\n byAddress: Map<string, ChainToken>;\n bySymbol: Map<string, ChainToken>;\n}\n\nexport function createTokenMaps(tokens: ChainToken[]): TokenMaps {\n const byAddress = new Map<string, ChainToken>();\n const bySymbol = new Map<string, ChainToken>();\n\n tokens.forEach((token) => {\n byAddress.set(token.address.toLowerCase(), token);\n bySymbol.set(token.symbol.toLowerCase(), token);\n });\n\n return { byAddress, bySymbol };\n}\n\nexport function getTokenByAddress(\n maps: TokenMaps,\n address: string,\n): Optional<ChainToken> {\n if (!address) return undefined;\n return maps.byAddress.get(address.toLowerCase());\n}\n\nexport function getTokenBySymbol(\n maps: TokenMaps,\n symbol: string,\n): Optional<ChainToken> {\n if (!symbol) return undefined;\n return maps.bySymbol.get(symbol.toLowerCase());\n}\n", "/**\n * List of supported stablecoin symbols\n */\nconst stablecoinSymbols = [\"USDC\", \"USDT\"] as const;\n\n/**\n * Checks if a token symbol is a stablecoin\n * @param symbol - Token symbol to check (e.g., \"USDC\", \"ETH\")\n * @returns true if the symbol is a recognized stablecoin\n */\nexport function isStablecoin(symbol: string | string[]): boolean {\n if (typeof symbol === \"string\") {\n return stablecoinSymbols.includes(\n symbol as (typeof stablecoinSymbols)[number],\n );\n }\n\n return symbol.every((s) =>\n stablecoinSymbols.includes(s as (typeof stablecoinSymbols)[number]),\n );\n}\n", "import type { Optional } from \"@otim/utils/helpers\";\n\n/**\n * Mapping between chain ID numbers (used internally by otim) and\n * Lambda API chain ID strings (used by Lambda's API endpoints).\n *\n * Lambda uses string identifiers for chains while we use numeric chain IDs\n * from viem/wagmi. This map provides bidirectional conversion.\n */\n\n/**\n * Map from numeric chain ID to Lambda chain ID string\n */\nexport const CHAIN_ID_TO_LAMBDA_ID: Record<number, string> = {\n /** Mainnet chains */\n 1: \"ethereum\",\n 8453: \"base\",\n 42161: \"arbitrum\",\n 10: \"optimism\",\n 56: \"binance-smart-chain\",\n 130: \"unichain\",\n 137: \"polygon\",\n} as const;\n\n/**\n * Map from Lambda chain ID string to numeric chain ID\n */\nexport const LAMBDA_ID_TO_CHAIN_ID: Record<string, number> = {\n ethereum: 1,\n base: 8453,\n arbitrum: 42161,\n optimism: 10,\n \"binance-smart-chain\": 56,\n unichain: 130,\n polygon: 137,\n} as const;\n\n/**\n * Convert a numeric chain ID to Lambda's chain ID string\n * @param chainId - The numeric chain ID\n * @returns The Lambda chain ID string, or undefined if not supported by Lambda\n * @example\n * ```ts\n * chainIdToLambdaId(8453) // \"base\"\n * chainIdToLambdaId(1) // \"ethereum\"\n * ```\n */\n\nexport function chainIdToLambdaId(chainId: number): Optional<string> {\n return CHAIN_ID_TO_LAMBDA_ID[chainId];\n}\n\n/**\n * Convert a Lambda chain ID string to numeric chain ID\n * @param lambdaId - The Lambda chain ID string\n * @returns The numeric chain ID, or undefined if not recognized\n * @example\n * ```ts\n * lambdaIdToChainId(\"base\") // 8453\n * lambdaIdToChainId(\"ethereum\") // 1\n * ```\n */\nexport function lambdaIdToChainId(lambdaId: string): Optional<number> {\n return LAMBDA_ID_TO_CHAIN_ID[lambdaId];\n}\n\n/**\n * Check if a chain ID is supported by Lambda\n * @param chainId - The numeric chain ID to check\n * @returns true if the chain is supported by Lambda\n */\nexport function isLambdaSupportedChain(chainId: number): boolean {\n return chainId in CHAIN_ID_TO_LAMBDA_ID;\n}\n\n/**\n * Get all chain IDs supported by Lambda\n * @returns Array of numeric chain IDs that are supported by Lambda\n */\nexport function getLambdaSupportedChainIds(): number[] {\n return Object.keys(CHAIN_ID_TO_LAMBDA_ID).map(Number);\n}\n\n/**\n * Get all Lambda chain ID strings\n * @returns Array of Lambda chain ID strings\n */\nexport function getLambdaChainIds(): string[] {\n return Object.values(CHAIN_ID_TO_LAMBDA_ID);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["arbitrum", "base", "bsc", "mainnet", "optimism", "polygon", "unichain", "arbitrumSepolia", "baseSepolia", "bscTestnet", "optimismSepolia", "polygonAmoy", "sepolia", "unichainSepolia", "sepolia", "baseSepolia", "arbitrumSepolia", "optimismSepolia", "bscTestnet", "unichainSepolia", "polygonAmoy", "arbitrum", "arbitrumSepolia", "base", "baseSepolia", "bsc", "bscTestnet", "mainnet", "optimism", "optimismSepolia", "polygon", "polygonAmoy", "sepolia", "unichain", "unichainSepolia", "mainnet", "base", "arbitrum", "optimism", "sepolia", "baseSepolia", "arbitrumSepolia", "optimismSepolia", "bsc", "bscTestnet", "unichain", "unichainSepolia", "polygon", "polygonAmoy"]
|
|
7
7
|
}
|
package/dist/helpers/index.js
CHANGED
package/dist/helpers/index.mjs
CHANGED
package/dist/server/index.js
CHANGED
|
@@ -75,7 +75,7 @@ module.exports = __toCommonJS(server_exports);
|
|
|
75
75
|
var import_axios = __toESM(require("axios"));
|
|
76
76
|
|
|
77
77
|
// src/env.ts
|
|
78
|
-
var BUILD_MODE = "
|
|
78
|
+
var BUILD_MODE = "production";
|
|
79
79
|
var APP_API_URL = "https://app.otim.com/api";
|
|
80
80
|
|
|
81
81
|
// src/helpers/logger.ts
|
package/dist/server/index.mjs
CHANGED
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6
6
|
import axios from "axios";
|
|
7
7
|
|
|
8
8
|
// src/env.ts
|
|
9
|
-
var BUILD_MODE = "
|
|
9
|
+
var BUILD_MODE = "production";
|
|
10
10
|
var APP_API_URL = "https://app.otim.com/api";
|
|
11
11
|
|
|
12
12
|
// src/helpers/logger.ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@otim/utils",
|
|
3
|
-
"version": "0.0.2
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "Shared utilities for Otim apps and packages",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"otim",
|
|
@@ -190,7 +190,7 @@
|
|
|
190
190
|
"abitype": "^1.1.2",
|
|
191
191
|
"axios": "^1.13.2",
|
|
192
192
|
"viem": "^2.39.3",
|
|
193
|
-
"wagmi": "^
|
|
193
|
+
"wagmi": "^2.19.5",
|
|
194
194
|
"zod": "^4.1.12"
|
|
195
195
|
},
|
|
196
196
|
"devDependencies": {
|
|
@@ -203,8 +203,8 @@
|
|
|
203
203
|
"typescript": "^5.9.3",
|
|
204
204
|
"ws": "^8.18.3",
|
|
205
205
|
"@otim/builder": "0.0.0",
|
|
206
|
-
"@otim/
|
|
207
|
-
"@otim/
|
|
206
|
+
"@otim/eslint-config": "0.0.1",
|
|
207
|
+
"@otim/typescript-config": "0.0.1"
|
|
208
208
|
},
|
|
209
209
|
"engines": {
|
|
210
210
|
"node": ">=18.0.0"
|