@skate-org/amm-core-v2 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/README.md +32 -0
- package/dist/adapter/index.d.ts +3 -0
- package/dist/adapter/index.d.ts.map +1 -0
- package/dist/adapter/skate.d.ts +15 -0
- package/dist/adapter/skate.d.ts.map +1 -0
- package/dist/deployment/aggregated/_type_.d.ts +13 -0
- package/dist/deployment/aggregated/_type_.d.ts.map +1 -0
- package/dist/deployment/aggregated/dev.d.ts +3 -0
- package/dist/deployment/aggregated/dev.d.ts.map +1 -0
- package/dist/deployment/aggregated/index.d.ts +6 -0
- package/dist/deployment/aggregated/index.d.ts.map +1 -0
- package/dist/deployment/aggregated/production.d.ts +3 -0
- package/dist/deployment/aggregated/production.d.ts.map +1 -0
- package/dist/deployment/aggregated/retrieval.d.ts +26 -0
- package/dist/deployment/aggregated/retrieval.d.ts.map +1 -0
- package/dist/deployment/aggregated/staging.d.ts +3 -0
- package/dist/deployment/aggregated/staging.d.ts.map +1 -0
- package/dist/deployment/index.d.ts +4 -0
- package/dist/deployment/index.d.ts.map +1 -0
- package/dist/deployment/kernel.d.ts +15 -0
- package/dist/deployment/kernel.d.ts.map +1 -0
- package/dist/deployment/periphery.d.ts +20 -0
- package/dist/deployment/periphery.d.ts.map +1 -0
- package/dist/errors.d.ts +17 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/index.cjs +659 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +5 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +583 -0
- package/dist/index.js.map +1 -0
- package/dist/types/action.d.ts +72 -0
- package/dist/types/action.d.ts.map +1 -0
- package/dist/types/chain.d.ts +20 -0
- package/dist/types/chain.d.ts.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/mode.d.ts +25 -0
- package/dist/types/mode.d.ts.map +1 -0
- package/dist/types/pair.d.ts +13 -0
- package/dist/types/pair.d.ts.map +1 -0
- package/dist/types/vm.d.ts +29 -0
- package/dist/types/vm.d.ts.map +1 -0
- package/dist/utils/bs58.d.ts +3 -0
- package/dist/utils/bs58.d.ts.map +1 -0
- package/package.json +36 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/types/chain.ts","../src/types/vm.ts","../src/types/mode.ts","../src/types/action.ts","../src/deployment/kernel.ts","../src/deployment/periphery.ts","../src/deployment/aggregated/dev.ts","../src/deployment/aggregated/staging.ts","../src/deployment/aggregated/production.ts","../src/deployment/aggregated/retrieval.ts","../src/adapter/skate.ts","../src/utils/bs58.ts","../src/errors.ts"],"sourcesContent":["export enum CHAIN {\n SKATE = 5050,\n\n SOLANA = 901,\n ECLIPSE = 902,\n\n SUI = 1001,\n\n BASE = 8453,\n ARBITRUM = 42161,\n BSC = 56,\n MANTLE = 5000,\n OPTIMISM = 10,\n ETHEREUM = 1,\n HYPERLIQUID = 999,\n PLUME = 98866,\n ZG = 16661,\n MONAD = 143,\n MEGAETH = 4326,\n TEMPO = 4217,\n}\n\nexport const CHAIN_MAP: Record<string, number> = Object.entries(CHAIN)\n .filter(([, value]) => typeof value === \"number\")\n .reduce(\n (map, [key, value]) => {\n map[key] = value as number;\n return map;\n },\n {} as Record<string, number>,\n );\n","import { CHAIN } from \"./chain\";\n\nexport enum VM {\n EVM = 1,\n /** Reserved — no TVM chain in scope for v2; kept for forward-compatibility with v1 numbering. */\n TVM = 2,\n SVM = 3,\n SuiVM = 4,\n}\n\nexport enum BLOCK_EXPLORER {\n SKATE = \"https://scan.skatechain.org\",\n ECLIPSE = \"https://eclipsescan.xyz\",\n SOLANA = \"https://solscan.io\",\n SUI = \"https://suiscan.xyz/mainnet\",\n BASE = \"https://basescan.org\",\n ARBITRUM = \"https://arbiscan.io\",\n MANTLE = \"https://mantlescan.xyz\",\n OPTIMISM = \"https://optimistic.etherscan.io\",\n ETHEREUM = \"https://etherscan.io\",\n BSC = \"https://bscscan.com\",\n HYPERLIQUID = \"https://hyperscan.com\",\n PLUME = \"https://explorer.plume.org\",\n ZG = \"https://chainscan.0g.ai\",\n MONAD = \"https://monadvision.com\",\n MEGAETH = \"https://megaeth.blockscout.com\",\n TEMPO = \"https://explore.tempo.xyz\",\n}\n\nexport function getBlockExplorer(chain: CHAIN): BLOCK_EXPLORER | null {\n switch (chain) {\n case CHAIN.SKATE: return BLOCK_EXPLORER.SKATE;\n case CHAIN.SOLANA: return BLOCK_EXPLORER.SOLANA;\n case CHAIN.ECLIPSE: return BLOCK_EXPLORER.ECLIPSE;\n case CHAIN.SUI: return BLOCK_EXPLORER.SUI;\n case CHAIN.BASE: return BLOCK_EXPLORER.BASE;\n case CHAIN.ARBITRUM: return BLOCK_EXPLORER.ARBITRUM;\n case CHAIN.MANTLE: return BLOCK_EXPLORER.MANTLE;\n case CHAIN.OPTIMISM: return BLOCK_EXPLORER.OPTIMISM;\n case CHAIN.ETHEREUM: return BLOCK_EXPLORER.ETHEREUM;\n case CHAIN.BSC: return BLOCK_EXPLORER.BSC;\n case CHAIN.HYPERLIQUID: return BLOCK_EXPLORER.HYPERLIQUID;\n case CHAIN.PLUME: return BLOCK_EXPLORER.PLUME;\n case CHAIN.ZG: return BLOCK_EXPLORER.ZG;\n case CHAIN.MONAD: return BLOCK_EXPLORER.MONAD;\n case CHAIN.MEGAETH: return BLOCK_EXPLORER.MEGAETH;\n case CHAIN.TEMPO: return BLOCK_EXPLORER.TEMPO;\n default: return null;\n }\n}\n\nexport function vmTypeFromChain(chainId: CHAIN): VM | null {\n switch (chainId) {\n case CHAIN.SKATE:\n case CHAIN.BASE:\n case CHAIN.ARBITRUM:\n case CHAIN.MANTLE:\n case CHAIN.OPTIMISM:\n case CHAIN.ETHEREUM:\n case CHAIN.BSC:\n case CHAIN.HYPERLIQUID:\n case CHAIN.PLUME:\n case CHAIN.ZG:\n case CHAIN.MONAD:\n case CHAIN.MEGAETH:\n case CHAIN.TEMPO:\n return VM.EVM;\n\n case CHAIN.SOLANA:\n case CHAIN.ECLIPSE:\n return VM.SVM;\n\n case CHAIN.SUI:\n return VM.SuiVM;\n\n default:\n return null;\n }\n}\n","import type { CHAIN } from \"./chain\";\n\nexport type EnvMode = \"STAGING\" | \"PRODUCTION\" | \"DEV\";\n\nexport interface DevModeConfig {\n /** Full base URL including scheme, e.g. \"http://localhost:3000/amm-action-v2\". */\n apiEndpoint: string;\n /**\n * Optional per-chain RPC URL overrides. When a `CHAIN` key is present here,\n * `@skate-org/amm-evm-v2`'s `getKernelPublicClient` / `getSourcePublicClient`\n * factories prefer the override over the built-in `DEFAULT_RPC`. Useful for\n * private MegaETH RPCs (until Skate's DEV URL is public), localnet, or\n * rate-limited public endpoints.\n *\n * A caller-supplied `transport` argument still takes precedence over this.\n */\n rpcEndpoints?: Partial<Record<CHAIN, string>>;\n}\n\nexport type EnvModeWithConfig = EnvMode | { mode: \"DEV\"; config: DevModeConfig };\n\nexport function normalizeMode(mode: EnvModeWithConfig): { mode: EnvMode; config?: DevModeConfig } {\n if (typeof mode === \"string\") return { mode };\n return { mode: mode.mode, config: mode.config };\n}\n","// v2 ActionStatus (per amm-action-v2-service).\nexport type ActionStatus =\n | \"RECEIVED\"\n | \"PROCESSED\"\n | \"EXECUTED\"\n | \"WITHDRAWN\"\n | \"KERNEL_SETTLE_FAILED\"\n | \"GATEWAY_SETTLE_FAILED\"\n | \"CORRUPTED\";\n\nexport enum TaskPhase {\n INDEX_ACTION = \"INDEX_ACTION\",\n SETTLE_KERNEL = \"SETTLE_KERNEL\",\n SUBMIT_EXECUTION = \"SUBMIT_EXECUTION\",\n SETTLE_GATEWAY = \"SETTLE_GATEWAY\",\n SETTLE_REFUND = \"SETTLE_REFUND\",\n}\n\nexport type ActionType = \"mint\" | \"burn\" | \"swap\" | \"increaseLiquidity\" | \"decreaseLiquidity\";\n\nexport type TaskFunctionMeta =\n | SettleMintMeta\n | SettleBurnMeta\n | SettleSwapMeta\n | SettleMeta\n | TransferToMeta;\n\n/**\n * Kernel-side task metadata. `decimal0`/`decimal1` are **always 18** — the kernel\n * normalizes amounts to 18 decimals regardless of source-token decimals, so\n * `amount*` strings are expressed as `10^18`-denominated raw amounts here.\n * Do not widen these literal types without a kernel-protocol change.\n */\nexport type SettleMintMeta = {\n functionName: \"settleMint\";\n args: {\n user: `0x${string}`;\n amount0ToSettle: string;\n amount1ToSettle: string;\n amount0ToTransfer: string;\n amount1ToTransfer: string;\n decimal0: 18;\n decimal1: 18;\n };\n};\n\nexport type SettleBurnMeta = {\n functionName: \"settleBurn\";\n args: {\n user: `0x${string}`;\n amount0: string;\n amount1: string;\n decimal0: 18;\n decimal1: 18;\n };\n};\n\nexport type SettleSwapMeta = {\n functionName: \"settleSwap\";\n args: {\n recipient: `0x${string}`;\n user: `0x${string}`;\n amount0ToSettle: string;\n amount1ToSettle: string;\n amount0ToTransfer: string;\n amount1ToTransfer: string;\n decimal0: 18;\n decimal1: 18;\n };\n};\n\nexport type SettleMeta = {\n functionName: \"settle\";\n args: {\n user: `0x${string}`;\n amount0: string;\n amount1: string;\n decimal0: 18;\n decimal1: 18;\n };\n};\n\nexport type TransferToMeta = {\n functionName: \"transferTo\";\n args: {\n user: `0x${string}`;\n amount0: string;\n amount1: string;\n decimal0: 18;\n decimal1: 18;\n };\n};\n","import { EnvMode } from \"../types\";\n\n// DEV (amm-action-v2, MegaETH).\nexport const KERNEL_EXECUTOR_REGISTRY_Dev = \"0x45F5e211B2CAeA14d5E5cB028923F8A5D7b1ab5d\";\nexport const KERNEL_MESSAGE_BOX_Dev = \"0xe3aC86bF5D9Ab5d9705b5e9187437e978397528B\";\nexport const KERNEL_ACCOUNT_REGISTRY_Dev = \"0xeD9e139CAcb439744277be5D7fbEe5aAF4DB8fA2\";\nexport const KERNEL_MANAGER_Dev = \"0x17B7207837e8884f7f687f1f4057751BDAf70a01\";\nexport const KERNEL_EVENT_EMITTER_Dev = \"0x8989b3ecb65f250ab7A0DC03589B0Cc8b8b04b81\";\nexport const KERNEL_POOL_IMPL_Dev = \"0x9BffA944Df7914621A7Cc638C9104C106c5C6846\";\nexport const KERNEL_POOL_USDC_USDT_Dev = \"0x2c23334eE3b030e6bacEDEDf7C511eEA08Cf7E7e\";\n\n// STAGING (v1 Skate kernel values, retained for forward-compat structure; v2 service\n// is not deployed to staging yet and POOL_INFO_Staging is empty).\nexport const KERNEL_MANAGER_Staging = \"0xB32841DD65316F672eb07c63508f4b6841b6Aee4\";\nexport const KERNEL_EVENT_EMITTER_Staging = \"0x8f16B23A11378bE8573470e23f626b9a7e41B389\";\n\n// PRODUCTION (v1 values, same caveat as staging).\nexport const KERNEL_MANAGER_Prod = \"0x46887a1f9885300f4185499Ba48C248445EEcAb1\";\nexport const KERNEL_EVENT_EMITTER_Prod = \"0xC8615dcE472fD684D0FDcEC18013EaB402F61ba7\";\n\nexport function KernelManagerAddress(mode: EnvMode = \"PRODUCTION\"): `0x${string}` {\n switch (mode) {\n case \"PRODUCTION\": return KERNEL_MANAGER_Prod as `0x${string}`;\n case \"STAGING\": return KERNEL_MANAGER_Staging as `0x${string}`;\n case \"DEV\": return KERNEL_MANAGER_Dev as `0x${string}`;\n }\n}\n\nexport function KernelEventEmitterAddress(mode: EnvMode = \"PRODUCTION\"): `0x${string}` {\n switch (mode) {\n case \"PRODUCTION\": return KERNEL_EVENT_EMITTER_Prod as `0x${string}`;\n case \"STAGING\": return KERNEL_EVENT_EMITTER_Staging as `0x${string}`;\n case \"DEV\": return KERNEL_EVENT_EMITTER_Dev as `0x${string}`;\n }\n}\n","import { CHAIN, EnvMode } from \"../types\";\n\n// DEV periphery (amm-action-v2). Chain-keyed — each source chain hosts its own\n// ActionBox / Gateway / PeripheryManager / pool-emitter stack. Arbitrum is the\n// first DEV source chain to be deployed.\n\nexport interface PeripheryDeployment {\n multicall: `0x${string}`;\n executorRegistry: `0x${string}`;\n actionBox: `0x${string}`;\n skateGateway: `0x${string}`;\n peripheryManager: `0x${string}`;\n peripheryManagerImpl: `0x${string}`;\n eventEmitter: `0x${string}`;\n peripheryPoolImpl: `0x${string}`;\n}\n\nexport const PERIPHERY_DEV: Partial<Record<CHAIN, PeripheryDeployment>> = {\n [CHAIN.ARBITRUM]: {\n multicall: \"0x3dCD7A136F0A49f3EFcC5E215793Fa1ce5c400Bf\",\n executorRegistry: \"0xE84a60d66543ef8E2E162f66a7669692b01Ee145\",\n actionBox: \"0x4309d3aE98c8A751fAc34C91536Ee860d9B8DcE1\",\n skateGateway: \"0x63Ca920425f683138B9407171b51b8172421Ba50\",\n peripheryManager: \"0x1120d6B34c4EB0CD49200aE9fBD2e4fb002d949f\",\n peripheryManagerImpl: \"0x26F01bc73cB7422DB67BBDfAcd9C987Ae66bF3D3\",\n eventEmitter: \"0xB301150AFA170816Ae18EC21e2A830Ddc7bBA1De\",\n peripheryPoolImpl: \"0x803ed7fa8934D4fe51A276cA02506b585cdb3eb4\",\n },\n};\n\nexport const PERIPHERY_STAGING: Partial<Record<CHAIN, PeripheryDeployment>> = {};\nexport const PERIPHERY_PROD: Partial<Record<CHAIN, PeripheryDeployment>> = {};\n\nexport function PeripheryDeploymentFor(\n chain: CHAIN,\n mode: EnvMode = \"PRODUCTION\",\n): PeripheryDeployment | null {\n const table =\n mode === \"DEV\" ? PERIPHERY_DEV : mode === \"STAGING\" ? PERIPHERY_STAGING : PERIPHERY_PROD;\n return table[chain] ?? null;\n}\n\nexport function PeripheryManagerAddress(\n chain: CHAIN,\n mode: EnvMode = \"PRODUCTION\",\n): `0x${string}` | null {\n return PeripheryDeploymentFor(chain, mode)?.peripheryManager ?? null;\n}\n\nexport function PeripheryEventEmitterAddress(\n chain: CHAIN,\n mode: EnvMode = \"PRODUCTION\",\n): `0x${string}` | null {\n return PeripheryDeploymentFor(chain, mode)?.eventEmitter ?? null;\n}\n\nexport function SkateGatewayAddress(\n chain: CHAIN,\n mode: EnvMode = \"PRODUCTION\",\n): `0x${string}` | null {\n return PeripheryDeploymentFor(chain, mode)?.skateGateway ?? null;\n}\n\nexport function ActionBoxAddress(\n chain: CHAIN,\n mode: EnvMode = \"PRODUCTION\",\n): `0x${string}` | null {\n return PeripheryDeploymentFor(chain, mode)?.actionBox ?? null;\n}\n","import { CHAIN } from \"../../types\";\nimport { KERNEL_POOL_USDC_USDT_Dev } from \"../kernel\";\nimport { PoolInfoType } from \"./_type_\";\n\nexport const POOL_INFO_Dev: PoolInfoType = {\n USDC_USDT: {\n kernelPool: KERNEL_POOL_USDC_USDT_Dev as `0x${string}`,\n token0: \"USDC\",\n token1: \"USDT\",\n feeBps: 1,\n peripheryInfo: {\n [CHAIN.ARBITRUM]: {\n token0: {\n address: \"0xaf88d065e77c8cC2239327C5EDb3A432268e5831\",\n symbol: \"USDC\",\n isNative: false,\n decimal: 6,\n chainId: CHAIN.ARBITRUM,\n },\n token1: {\n address: \"0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9\",\n symbol: \"USDT\",\n isNative: false,\n decimal: 6,\n chainId: CHAIN.ARBITRUM,\n },\n address: \"0x0433CCB013a590eA4231aAC9ddf05bb753c14127\",\n chain: \"ARBITRUM\",\n },\n },\n },\n};\n","import { PoolInfoType } from \"./_type_\";\n\n// v2 service is not deployed to STAGING yet. Populate this map when it is.\nexport const POOL_INFO_Staging: PoolInfoType = {};\n","import { PoolInfoType } from \"./_type_\";\n\n// v2 service is not deployed to PRODUCTION yet. Populate this map when it is.\nexport const POOL_INFO_Production: PoolInfoType = {};\n","import { CHAIN, EnvMode, Token, TokenPair } from \"../../types\";\nimport { POOL_INFO_Dev } from \"./dev\";\nimport { POOL_INFO_Staging } from \"./staging\";\nimport { POOL_INFO_Production } from \"./production\";\nimport { PoolInfoType, PoolKey } from \"./_type_\";\n\nexport function getAllPoolInfo(mode: EnvMode = \"PRODUCTION\"): PoolInfoType {\n switch (mode) {\n case \"PRODUCTION\": return POOL_INFO_Production;\n case \"STAGING\": return POOL_INFO_Staging;\n case \"DEV\": return POOL_INFO_Dev;\n }\n}\n\nexport function getAllPoolKeys(mode: EnvMode = \"PRODUCTION\"): PoolKey[] {\n return Object.keys(getAllPoolInfo(mode));\n}\n\nexport function getPoolInfoByKey(key: PoolKey, mode: EnvMode = \"PRODUCTION\") {\n return getAllPoolInfo(mode)[key] ?? null;\n}\n\nexport function getSupportedChains(mode: EnvMode = \"PRODUCTION\"): CHAIN[] {\n const poolInfo = getAllPoolInfo(mode);\n const supportedChains = new Set<CHAIN>();\n for (const poolData of Object.values(poolInfo)) {\n for (const chainId of Object.keys(poolData.peripheryInfo)) {\n supportedChains.add(Number(chainId) as CHAIN);\n }\n }\n return Array.from(supportedChains).sort((a, b) => a - b);\n}\n\nexport function getSupportedPairs(\n chainId: CHAIN,\n mode: EnvMode = \"PRODUCTION\",\n): (TokenPair & { poolKey: PoolKey })[] {\n const poolInfo = getAllPoolInfo(mode);\n const supportedPairs: (TokenPair & { poolKey: PoolKey })[] = [];\n for (const [poolKey, poolData] of Object.entries(poolInfo)) {\n const peripheryData = poolData.peripheryInfo[chainId];\n if (peripheryData) {\n supportedPairs.push({\n token0: peripheryData.token0,\n token1: peripheryData.token1,\n poolKey,\n });\n }\n }\n return supportedPairs;\n}\n\nexport function getSupportedTokens(chainId: CHAIN, mode: EnvMode = \"PRODUCTION\"): Token[] {\n const supportedPairs = getSupportedPairs(chainId, mode);\n const tokens: Token[] = [];\n const seen = new Set<string>();\n for (const { token0, token1 } of supportedPairs) {\n for (const t of [token0, token1]) {\n const key = t.address.toLowerCase();\n if (!seen.has(key)) {\n seen.add(key);\n tokens.push(t);\n }\n }\n }\n return tokens;\n}\n\nexport function getOtherTokensInPairs(\n chainId: CHAIN,\n tokenAddress: string,\n mode: EnvMode = \"PRODUCTION\",\n): Token[] {\n const supportedPairs = getSupportedPairs(chainId, mode);\n const result: Token[] = [];\n const seen = new Set<string>();\n const needle = tokenAddress.toLowerCase();\n for (const { token0, token1 } of supportedPairs) {\n let other: Token | null = null;\n if (token0.address.toLowerCase() === needle) other = token1;\n else if (token1.address.toLowerCase() === needle) other = token0;\n if (other && !seen.has(other.address.toLowerCase())) {\n seen.add(other.address.toLowerCase());\n result.push(other);\n }\n }\n return result;\n}\n\nexport function kernelPoolToPoolKey(kernelPool: `0x${string}`, mode: EnvMode = \"PRODUCTION\"): PoolKey {\n const info = getAllPoolInfo(mode);\n const lower = kernelPool.toLowerCase();\n for (const [key, poolData] of Object.entries(info)) {\n if (poolData.kernelPool.toLowerCase() === lower) return key;\n }\n throw new Error(`${mode} kernelPoolToPoolKey()::Unknown kernelPool ${kernelPool}`);\n}\n\nexport function getPeripheryDetailsByKernelPoolAndChainId(\n kernelPool: `0x${string}`,\n chainId: number,\n mode: EnvMode = \"PRODUCTION\",\n) {\n const poolKey = kernelPoolToPoolKey(kernelPool, mode);\n const info = getAllPoolInfo(mode);\n return info[poolKey]?.peripheryInfo[chainId] ?? null;\n}\n","import { bs58Decode, bs58Encode } from \"../utils/bs58\";\nimport { VM } from \"../types\";\n\nexport function base58ToBytes32(base58Str: string): `0x${string}` {\n const decoded = bs58Decode(base58Str);\n const addressBytes = new Uint8Array(32);\n const startPos = Math.max(0, 32 - decoded.length);\n addressBytes.set(decoded.slice(-32), startPos);\n return (\"0x\" + Buffer.from(addressBytes).toString(\"hex\").toLowerCase()) as `0x${string}`;\n}\n\nexport function base58ToHex(base58Str: string): `0x${string}` {\n const decoded = bs58Decode(base58Str);\n return `0x${Buffer.from(decoded).toString(\"hex\").toLowerCase()}` as `0x${string}`;\n}\n\nexport function hexToBase58(hexString: `0x${string}`): string {\n return bs58Encode(Buffer.from(hexString.slice(2), \"hex\"));\n}\n\nexport function bytes32ToBase58(hexStr: string): string {\n const hexWithoutPrefix = hexStr.startsWith(\"0x\") ? hexStr.slice(2) : hexStr;\n const addressBytes = Buffer.from(hexWithoutPrefix, \"hex\");\n const firstNonZero = addressBytes.findIndex((byte) => byte !== 0);\n const trimmed = firstNonZero < 0 ? addressBytes : addressBytes.subarray(firstNonZero);\n return bs58Encode(trimmed);\n}\n\nexport const bytes32HexRegex = /^(?:0x)?[0-9a-fA-F]{64}$/;\n\nexport function isHexString(str: unknown): boolean {\n return typeof str === \"string\" && /^0x[0-9a-fA-F]+$/.test(str);\n}\n\nexport function isHexStringLoose(str: unknown): boolean {\n return typeof str === \"string\" && /^(?:0x)?[0-9a-fA-F]+$/.test(str);\n}\n\nexport function evmAddressToBytes32(address: string): `0x${string}` {\n if (!address.startsWith(\"0x\") && !address.startsWith(\"0X\")) {\n throw new TypeError(`evmAddressToBytes32: expected 0x-prefixed address, got \"${address}\"`);\n }\n return `0x${BigInt(address).toString(16).padStart(64, \"0\")}`.toLowerCase() as `0x${string}`;\n}\n\nexport function bytes32ToEvmAddress(bytes32: string): `0x${string}` {\n const userBigInt = BigInt(bytes32);\n const addressBigInt = userBigInt & BigInt(\"0xffffffffffffffffffffffffffffffffffffffff\");\n return (`0x${addressBigInt.toString(16).padStart(40, \"0\")}`).toLowerCase() as `0x${string}`;\n}\n\nexport function toBase58(buffer: Buffer): string {\n return bs58Encode(buffer);\n}\n\nexport function bufferFromBase58(base58String: string): Buffer {\n return Buffer.from(bs58Decode(base58String));\n}\n\nexport function toBytes32Address(rawAddress: string, vmType: VM): `0x${string}` {\n switch (vmType) {\n case VM.EVM:\n return evmAddressToBytes32(rawAddress);\n case VM.SVM:\n return base58ToBytes32(rawAddress);\n case VM.SuiVM:\n if (!bytes32HexRegex.test(rawAddress)) {\n throw new TypeError(`toBytes32Address(SuiVM): expected 64-hex-char address, got \"${rawAddress}\"`);\n }\n return rawAddress as `0x${string}`;\n default:\n throw new Error(`toBytes32Address():Unsupported vmType=${vmType}`);\n }\n}\n\nexport function fromBytes32Address(bytes32Address: `0x${string}`, vmType: VM): string {\n switch (vmType) {\n case VM.EVM:\n return bytes32ToEvmAddress(bytes32Address);\n case VM.SVM:\n return bytes32ToBase58(bytes32Address);\n case VM.SuiVM:\n return bytes32Address;\n default:\n throw new Error(`fromBytes32Address():Unsupported vmType=${vmType}`);\n }\n}\n","const BASE58_ALPHABET = \"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\";\n\nfunction base(ALPHABET: string) {\n if (ALPHABET.length >= 255) throw new TypeError(\"Alphabet too long\");\n\n const BASE_MAP = new Uint8Array(256).fill(255);\n for (let i = 0; i < ALPHABET.length; i++) {\n const xc = ALPHABET.charCodeAt(i);\n if (BASE_MAP[xc] !== 255) throw new TypeError(ALPHABET.charAt(i) + \" is ambiguous\");\n BASE_MAP[xc] = i;\n }\n\n const BASE = ALPHABET.length;\n const LEADER = ALPHABET.charAt(0);\n const FACTOR = Math.log(BASE) / Math.log(256);\n const iFACTOR = Math.log(256) / Math.log(BASE);\n\n function encode(source: Uint8Array | number[]): string {\n if (source instanceof Uint8Array) {\n // ok\n } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array((source as ArrayBufferView).buffer, (source as ArrayBufferView).byteOffset, (source as ArrayBufferView).byteLength);\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source);\n }\n if (!(source instanceof Uint8Array)) throw new TypeError(\"Expected Uint8Array\");\n if (source.length === 0) return \"\";\n\n let zeroes = 0;\n let length = 0;\n let pbegin = 0;\n const pend = source.length;\n\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++;\n zeroes++;\n }\n\n const size = ((pend - pbegin) * iFACTOR + 1) >>> 0;\n const b58 = new Uint8Array(size);\n\n while (pbegin !== pend) {\n let carry = source[pbegin]!;\n let i = 0;\n for (let it1 = size - 1; (carry !== 0 || i < length) && it1 !== -1; it1--, i++) {\n carry += (256 * b58[it1]!) >>> 0;\n b58[it1] = carry % BASE >>> 0;\n carry = (carry / BASE) >>> 0;\n }\n if (carry !== 0) throw new Error(\"Non-zero carry\");\n length = i;\n pbegin++;\n }\n\n let it2 = size - length;\n while (it2 !== size && b58[it2] === 0) it2++;\n\n let str = LEADER.repeat(zeroes);\n for (; it2 < size; ++it2) str += ALPHABET.charAt(b58[it2]!);\n return str;\n }\n\n function decodeUnsafe(source: string): Uint8Array | undefined {\n if (typeof source !== \"string\") throw new TypeError(\"Expected String\");\n if (source.length === 0) return new Uint8Array();\n\n let psz = 0;\n let zeroes = 0;\n let length = 0;\n while (source[psz] === LEADER) {\n zeroes++;\n psz++;\n }\n\n const size = ((source.length - psz) * FACTOR + 1) >>> 0;\n const b256 = new Uint8Array(size);\n\n while (psz < source.length) {\n const charCode = source.charCodeAt(psz);\n if (charCode > 255) return;\n let carry = BASE_MAP[charCode]!;\n if (carry === 255) return;\n let i = 0;\n for (let it3 = size - 1; (carry !== 0 || i < length) && it3 !== -1; it3--, i++) {\n carry += (BASE * b256[it3]!) >>> 0;\n b256[it3] = carry % 256 >>> 0;\n carry = (carry / 256) >>> 0;\n }\n if (carry !== 0) throw new Error(\"Non-zero carry\");\n length = i;\n psz++;\n }\n\n let it4 = size - length;\n while (it4 !== size && b256[it4] === 0) it4++;\n\n const vch = new Uint8Array(zeroes + (size - it4));\n let j = zeroes;\n while (it4 !== size) vch[j++] = b256[it4++]!;\n return vch;\n }\n\n function decode(source: string): Uint8Array {\n const buffer = decodeUnsafe(source);\n if (buffer) return buffer;\n throw new Error(\"Non-base\" + BASE + \" character\");\n }\n\n return { encode, decode, decodeUnsafe };\n}\n\nconst codec = base(BASE58_ALPHABET);\nexport const bs58Encode = codec.encode;\nexport const bs58Decode = codec.decode;\n","/**\n * Base class for all errors originating from `@skate-org/amm-*` packages.\n *\n * Callers can use `err instanceof SdkError` to catch any SDK-origin failure\n * without needing to know the specific subclass. Subclasses live in the\n * package closest to their domain:\n *\n * - `ApiError` / `NotFoundError` / `NotImplementedError` — `@skate-org/amm-api-v2`\n * - `EvmReadError` / `EvmWriteError` — `@skate-org/amm-evm-v2`\n *\n * Each subclass sets its own `.name`; this base only defines the identity.\n */\nexport class SdkError extends Error {\n override readonly name: string = \"SdkError\";\n\n constructor(message: string, options?: ErrorOptions) {\n super(message, options);\n }\n}\n"],"mappings":"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","names":["CHAIN","VM","BLOCK_EXPLORER","TaskPhase"]}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
export type ActionStatus = "RECEIVED" | "PROCESSED" | "EXECUTED" | "WITHDRAWN" | "KERNEL_SETTLE_FAILED" | "GATEWAY_SETTLE_FAILED" | "CORRUPTED";
|
|
2
|
+
export declare enum TaskPhase {
|
|
3
|
+
INDEX_ACTION = "INDEX_ACTION",
|
|
4
|
+
SETTLE_KERNEL = "SETTLE_KERNEL",
|
|
5
|
+
SUBMIT_EXECUTION = "SUBMIT_EXECUTION",
|
|
6
|
+
SETTLE_GATEWAY = "SETTLE_GATEWAY",
|
|
7
|
+
SETTLE_REFUND = "SETTLE_REFUND"
|
|
8
|
+
}
|
|
9
|
+
export type ActionType = "mint" | "burn" | "swap" | "increaseLiquidity" | "decreaseLiquidity";
|
|
10
|
+
export type TaskFunctionMeta = SettleMintMeta | SettleBurnMeta | SettleSwapMeta | SettleMeta | TransferToMeta;
|
|
11
|
+
/**
|
|
12
|
+
* Kernel-side task metadata. `decimal0`/`decimal1` are **always 18** — the kernel
|
|
13
|
+
* normalizes amounts to 18 decimals regardless of source-token decimals, so
|
|
14
|
+
* `amount*` strings are expressed as `10^18`-denominated raw amounts here.
|
|
15
|
+
* Do not widen these literal types without a kernel-protocol change.
|
|
16
|
+
*/
|
|
17
|
+
export type SettleMintMeta = {
|
|
18
|
+
functionName: "settleMint";
|
|
19
|
+
args: {
|
|
20
|
+
user: `0x${string}`;
|
|
21
|
+
amount0ToSettle: string;
|
|
22
|
+
amount1ToSettle: string;
|
|
23
|
+
amount0ToTransfer: string;
|
|
24
|
+
amount1ToTransfer: string;
|
|
25
|
+
decimal0: 18;
|
|
26
|
+
decimal1: 18;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export type SettleBurnMeta = {
|
|
30
|
+
functionName: "settleBurn";
|
|
31
|
+
args: {
|
|
32
|
+
user: `0x${string}`;
|
|
33
|
+
amount0: string;
|
|
34
|
+
amount1: string;
|
|
35
|
+
decimal0: 18;
|
|
36
|
+
decimal1: 18;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
export type SettleSwapMeta = {
|
|
40
|
+
functionName: "settleSwap";
|
|
41
|
+
args: {
|
|
42
|
+
recipient: `0x${string}`;
|
|
43
|
+
user: `0x${string}`;
|
|
44
|
+
amount0ToSettle: string;
|
|
45
|
+
amount1ToSettle: string;
|
|
46
|
+
amount0ToTransfer: string;
|
|
47
|
+
amount1ToTransfer: string;
|
|
48
|
+
decimal0: 18;
|
|
49
|
+
decimal1: 18;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
export type SettleMeta = {
|
|
53
|
+
functionName: "settle";
|
|
54
|
+
args: {
|
|
55
|
+
user: `0x${string}`;
|
|
56
|
+
amount0: string;
|
|
57
|
+
amount1: string;
|
|
58
|
+
decimal0: 18;
|
|
59
|
+
decimal1: 18;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
export type TransferToMeta = {
|
|
63
|
+
functionName: "transferTo";
|
|
64
|
+
args: {
|
|
65
|
+
user: `0x${string}`;
|
|
66
|
+
amount0: string;
|
|
67
|
+
amount1: string;
|
|
68
|
+
decimal0: 18;
|
|
69
|
+
decimal1: 18;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/types/action.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,WAAW,GACX,UAAU,GACV,WAAW,GACX,sBAAsB,GACtB,uBAAuB,GACvB,WAAW,CAAC;AAEhB,oBAAY,SAAS;IACnB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;CAChC;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAE9F,MAAM,MAAM,gBAAgB,GACxB,cAAc,GACd,cAAc,GACd,cAAc,GACd,UAAU,GACV,cAAc,CAAC;AAEnB;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE;QACJ,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,EAAE,CAAC;QACb,QAAQ,EAAE,EAAE,CAAC;KACd,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE;QACJ,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,EAAE,CAAC;QACb,QAAQ,EAAE,EAAE,CAAC;KACd,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE;QACJ,SAAS,EAAE,KAAK,MAAM,EAAE,CAAC;QACzB,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,EAAE,CAAC;QACb,QAAQ,EAAE,EAAE,CAAC;KACd,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY,EAAE,QAAQ,CAAC;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,EAAE,CAAC;QACb,QAAQ,EAAE,EAAE,CAAC;KACd,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE;QACJ,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,EAAE,CAAC;QACb,QAAQ,EAAE,EAAE,CAAC;KACd,CAAC;CACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare enum CHAIN {
|
|
2
|
+
SKATE = 5050,
|
|
3
|
+
SOLANA = 901,
|
|
4
|
+
ECLIPSE = 902,
|
|
5
|
+
SUI = 1001,
|
|
6
|
+
BASE = 8453,
|
|
7
|
+
ARBITRUM = 42161,
|
|
8
|
+
BSC = 56,
|
|
9
|
+
MANTLE = 5000,
|
|
10
|
+
OPTIMISM = 10,
|
|
11
|
+
ETHEREUM = 1,
|
|
12
|
+
HYPERLIQUID = 999,
|
|
13
|
+
PLUME = 98866,
|
|
14
|
+
ZG = 16661,
|
|
15
|
+
MONAD = 143,
|
|
16
|
+
MEGAETH = 4326,
|
|
17
|
+
TEMPO = 4217
|
|
18
|
+
}
|
|
19
|
+
export declare const CHAIN_MAP: Record<string, number>;
|
|
20
|
+
//# sourceMappingURL=chain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/types/chain.ts"],"names":[],"mappings":"AAAA,oBAAY,KAAK;IACf,KAAK,OAAO;IAEZ,MAAM,MAAM;IACZ,OAAO,MAAM;IAEb,GAAG,OAAO;IAEV,IAAI,OAAO;IACX,QAAQ,QAAQ;IAChB,GAAG,KAAK;IACR,MAAM,OAAO;IACb,QAAQ,KAAK;IACb,QAAQ,IAAI;IACZ,WAAW,MAAM;IACjB,KAAK,QAAQ;IACb,EAAE,QAAQ;IACV,KAAK,MAAM;IACX,OAAO,OAAO;IACd,KAAK,OAAO;CACb;AAED,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQ1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,MAAM,CAAC;AACrB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { CHAIN } from "./chain";
|
|
2
|
+
export type EnvMode = "STAGING" | "PRODUCTION" | "DEV";
|
|
3
|
+
export interface DevModeConfig {
|
|
4
|
+
/** Full base URL including scheme, e.g. "http://localhost:3000/amm-action-v2". */
|
|
5
|
+
apiEndpoint: string;
|
|
6
|
+
/**
|
|
7
|
+
* Optional per-chain RPC URL overrides. When a `CHAIN` key is present here,
|
|
8
|
+
* `@skate-org/amm-evm-v2`'s `getKernelPublicClient` / `getSourcePublicClient`
|
|
9
|
+
* factories prefer the override over the built-in `DEFAULT_RPC`. Useful for
|
|
10
|
+
* private MegaETH RPCs (until Skate's DEV URL is public), localnet, or
|
|
11
|
+
* rate-limited public endpoints.
|
|
12
|
+
*
|
|
13
|
+
* A caller-supplied `transport` argument still takes precedence over this.
|
|
14
|
+
*/
|
|
15
|
+
rpcEndpoints?: Partial<Record<CHAIN, string>>;
|
|
16
|
+
}
|
|
17
|
+
export type EnvModeWithConfig = EnvMode | {
|
|
18
|
+
mode: "DEV";
|
|
19
|
+
config: DevModeConfig;
|
|
20
|
+
};
|
|
21
|
+
export declare function normalizeMode(mode: EnvModeWithConfig): {
|
|
22
|
+
mode: EnvMode;
|
|
23
|
+
config?: DevModeConfig;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mode.d.ts","sourceRoot":"","sources":["../../src/types/mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,YAAY,GAAG,KAAK,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;CAC/C;AAED,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,CAAC;AAEjF,wBAAgB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,aAAa,CAAA;CAAE,CAGhG"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CHAIN } from "./chain";
|
|
2
|
+
export type Token = {
|
|
3
|
+
address: string;
|
|
4
|
+
decimal: number;
|
|
5
|
+
symbol: string;
|
|
6
|
+
chainId: CHAIN;
|
|
7
|
+
isNative: boolean;
|
|
8
|
+
};
|
|
9
|
+
export type TokenPair = {
|
|
10
|
+
token0: Token;
|
|
11
|
+
token1: Token;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=pair.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pair.d.ts","sourceRoot":"","sources":["../../src/types/pair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;CACf,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { CHAIN } from "./chain";
|
|
2
|
+
export declare enum VM {
|
|
3
|
+
EVM = 1,
|
|
4
|
+
/** Reserved — no TVM chain in scope for v2; kept for forward-compatibility with v1 numbering. */
|
|
5
|
+
TVM = 2,
|
|
6
|
+
SVM = 3,
|
|
7
|
+
SuiVM = 4
|
|
8
|
+
}
|
|
9
|
+
export declare enum BLOCK_EXPLORER {
|
|
10
|
+
SKATE = "https://scan.skatechain.org",
|
|
11
|
+
ECLIPSE = "https://eclipsescan.xyz",
|
|
12
|
+
SOLANA = "https://solscan.io",
|
|
13
|
+
SUI = "https://suiscan.xyz/mainnet",
|
|
14
|
+
BASE = "https://basescan.org",
|
|
15
|
+
ARBITRUM = "https://arbiscan.io",
|
|
16
|
+
MANTLE = "https://mantlescan.xyz",
|
|
17
|
+
OPTIMISM = "https://optimistic.etherscan.io",
|
|
18
|
+
ETHEREUM = "https://etherscan.io",
|
|
19
|
+
BSC = "https://bscscan.com",
|
|
20
|
+
HYPERLIQUID = "https://hyperscan.com",
|
|
21
|
+
PLUME = "https://explorer.plume.org",
|
|
22
|
+
ZG = "https://chainscan.0g.ai",
|
|
23
|
+
MONAD = "https://monadvision.com",
|
|
24
|
+
MEGAETH = "https://megaeth.blockscout.com",
|
|
25
|
+
TEMPO = "https://explore.tempo.xyz"
|
|
26
|
+
}
|
|
27
|
+
export declare function getBlockExplorer(chain: CHAIN): BLOCK_EXPLORER | null;
|
|
28
|
+
export declare function vmTypeFromChain(chainId: CHAIN): VM | null;
|
|
29
|
+
//# sourceMappingURL=vm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vm.d.ts","sourceRoot":"","sources":["../../src/types/vm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,oBAAY,EAAE;IACZ,GAAG,IAAI;IACP,iGAAiG;IACjG,GAAG,IAAI;IACP,GAAG,IAAI;IACP,KAAK,IAAI;CACV;AAED,oBAAY,cAAc;IACxB,KAAK,gCAAgC;IACrC,OAAO,4BAA4B;IACnC,MAAM,uBAAuB;IAC7B,GAAG,gCAAgC;IACnC,IAAI,yBAAyB;IAC7B,QAAQ,wBAAwB;IAChC,MAAM,2BAA2B;IACjC,QAAQ,oCAAoC;IAC5C,QAAQ,yBAAyB;IACjC,GAAG,wBAAwB;IAC3B,WAAW,0BAA0B;IACrC,KAAK,+BAA+B;IACpC,EAAE,4BAA4B;IAC9B,KAAK,4BAA4B;IACjC,OAAO,mCAAmC;IAC1C,KAAK,8BAA8B;CACpC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,GAAG,IAAI,CAoBpE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,KAAK,GAAG,EAAE,GAAG,IAAI,CA2BzD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bs58.d.ts","sourceRoot":"","sources":["../../src/utils/bs58.ts"],"names":[],"mappings":"AAgHA,eAAO,MAAM,UAAU,WA/FG,UAAU,GAAG,MAAM,EAAE,KAAG,MA+FZ,CAAC;AACvC,eAAO,MAAM,UAAU,WAXG,MAAM,KAAG,UAWG,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@skate-org/amm-core-v2",
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "Skate AMM v2 SDK — core types, deployment data, cross-VM adapter",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.cjs",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"default": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"require": {
|
|
16
|
+
"types": "./dist/index.d.cts",
|
|
17
|
+
"default": "./dist/index.cjs"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"dist",
|
|
23
|
+
"CHANGELOG.md",
|
|
24
|
+
"README.md"
|
|
25
|
+
],
|
|
26
|
+
"publishConfig": {
|
|
27
|
+
"access": "public",
|
|
28
|
+
"registry": "https://registry.npmjs.org/"
|
|
29
|
+
},
|
|
30
|
+
"scripts": {
|
|
31
|
+
"build": "tsup && tsc -p tsconfig.build.json --emitDeclarationOnly && node -e \"require('fs').copyFileSync('dist/index.d.ts','dist/index.d.cts')\"",
|
|
32
|
+
"clean": "rm -rf dist",
|
|
33
|
+
"test": "vitest run",
|
|
34
|
+
"typecheck": "tsc --noEmit"
|
|
35
|
+
}
|
|
36
|
+
}
|