@chipi-stack/types 14.10.1 → 14.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -320,10 +320,20 @@ interface ExecuteWalletUpgradeResponse {
320
320
  type PasskeyEnabledParams = {
321
321
  usePasskey: true;
322
322
  externalUserId: string;
323
+ /**
324
+ * Scope the passkey prompt to one specific credential. Omit to let the
325
+ * authenticator choose among the credentials registered for this origin.
326
+ *
327
+ * Needed when a user holds more than one Chipi credential on the same
328
+ * device (a wallet that was reset, or a per-entity wallet), where the
329
+ * unscoped prompt can resolve to the wrong one.
330
+ */
331
+ credentialId?: string;
323
332
  };
324
333
  type PasskeyDisabledParams = {
325
334
  usePasskey?: false;
326
335
  externalUserId?: string;
336
+ credentialId?: string;
327
337
  };
328
338
  type PasskeyParams = PasskeyEnabledParams | PasskeyDisabledParams;
329
339
  type ExecuteTransactionParams = PasskeyParams & {
package/dist/index.d.ts CHANGED
@@ -320,10 +320,20 @@ interface ExecuteWalletUpgradeResponse {
320
320
  type PasskeyEnabledParams = {
321
321
  usePasskey: true;
322
322
  externalUserId: string;
323
+ /**
324
+ * Scope the passkey prompt to one specific credential. Omit to let the
325
+ * authenticator choose among the credentials registered for this origin.
326
+ *
327
+ * Needed when a user holds more than one Chipi credential on the same
328
+ * device (a wallet that was reset, or a per-entity wallet), where the
329
+ * unscoped prompt can resolve to the wrong one.
330
+ */
331
+ credentialId?: string;
323
332
  };
324
333
  type PasskeyDisabledParams = {
325
334
  usePasskey?: false;
326
335
  externalUserId?: string;
336
+ credentialId?: string;
327
337
  };
328
338
  type PasskeyParams = PasskeyEnabledParams | PasskeyDisabledParams;
329
339
  type ExecuteTransactionParams = PasskeyParams & {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core.ts","../src/transaction.ts"],"names":["Chain","Currency","ChainToken","OnChainTxStatus"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Core configuration and environment types\n */\n\nexport interface ChipiSDKConfig {\n apiPublicKey: string;\n alphaUrl?: string;\n nodeUrl?: string;\n apiSecretKey?: string;\n}\n\nexport interface ChipiServerSDKConfig extends ChipiSDKConfig {\n apiSecretKey: string;\n}\n\nexport interface ChipiBrowserSDKConfig extends Omit<ChipiSDKConfig, \"apiSecretKey\"> {\n apiSecretKey?: never;\n}\n\nexport type alphaUrl = string;\n\nexport enum Chain {\n STARKNET = \"STARKNET\",\n BASE = \"BASE\",\n ARBITRUM = \"ARBITRUM\",\n OPTIMISM = \"OPTIMISM\",\n ROOTSTOCK = \"ROOTSTOCK\",\n SCROLL = \"SCROLL\",\n WORLDCHAIN = \"WORLDCHAIN\",\n}\n\nexport enum Currency {\n MXN = \"MXN\",\n USD = \"USD\",\n}\n\nexport enum ChainToken {\n USDC = \"USDC\",\n USDC_E = \"USDC_E\",\n USDT = \"USDT\",\n DAI = \"DAI\",\n ETH = \"ETH\",\n STRK = \"STRK\",\n SLINK = \"SLINK\",\n ALF = \"ALF\",\n BROTHER = \"BROTHER\",\n ARB = \"ARB\",\n DOC = \"DOC\",\n MXNB = \"MXNB\",\n WLD = \"WLD\",\n WBTC = \"WBTC\",\n OTHER = \"OTHER\",\n}\n\nexport interface PaginationQuery {\n page?: number;\n limit?: number;\n offset?: number;\n}\n\nexport interface PaginatedResponse<T> {\n data: T[];\n total: number;\n page: number;\n limit: number;\n totalPages: number;\n}\n\nexport const STARKNET_CONTRACTS: Record<ChainToken, { contractAddress: string; decimals: number }> =\n {\n [ChainToken.USDC]: {\n contractAddress: \"0x033068F6539f8e6e6b131e6B2B814e6c34A5224bC66947c47DaB9dFeE93b35fb\",\n decimals: 6,\n },\n [ChainToken.USDC_E]: {\n contractAddress: \"0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8\",\n decimals: 6,\n },\n [ChainToken.USDT]: {\n contractAddress: \"0x068f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8\",\n decimals: 6,\n },\n [ChainToken.DAI]: {\n contractAddress: \"0x05574eb6b8789a91466f902c380d978e472db68170ff82a5b650b95a58ddf4ad\",\n decimals: 18,\n },\n [ChainToken.STRK]: {\n contractAddress: \"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d\",\n decimals: 18,\n },\n [ChainToken.ETH]: {\n contractAddress: \"0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7\",\n decimals: 18,\n },\n [ChainToken.WBTC]: {\n contractAddress: \"0x03fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac\",\n decimals: 8,\n },\n [ChainToken.SLINK]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.ALF]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.BROTHER]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.ARB]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.DOC]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.MXNB]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.WLD]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.OTHER]: {\n contractAddress: \"\",\n decimals: 18,\n },\n };\n","import type { Call, TypedData } from \"starknet\";\nimport type { WalletData, WalletType } from \"./wallet\";\nimport { Chain, ChainToken, Currency } from \"./core\";\n\n/**\n * Transaction-related types\n */\n\ntype PasskeyEnabledParams = {\n usePasskey: true;\n externalUserId: string;\n};\n\ntype PasskeyDisabledParams = {\n usePasskey?: false;\n externalUserId?: string;\n};\n\ntype PasskeyParams = PasskeyEnabledParams | PasskeyDisabledParams;\n\nexport type ExecuteTransactionParams = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n calls: Call[];\n};\n\nexport type TxType = string;\nexport type TxStatus = \"PENDING\" | \"PROCESSING\" | \"SUCCESS\" | \"FAILED\" | \"CANCELLED\";\n\nexport interface Transaction {\n id: string;\n type: TxType;\n subType?: string;\n chain: Chain;\n transactionHash: string;\n\n // Parties\n senderAddress: string;\n destinationAddress: string;\n\n // Contract Interaction\n contractAddress?: string;\n contractName?: string;\n functionName?: string;\n functionSelector?: string;\n callData?: unknown;\n\n // Token Transfer (nullable for non-token operations)\n token?: ChainToken;\n tokenAddress?: string;\n amount?: string;\n\n // NFT Specific\n nftTokenId?: string;\n nftContract?: string;\n nftMetadata?: Record<string, unknown>;\n\n // SKU Specific\n skuId?: string;\n skuReference?: string;\n skuPurchaseAmount?: number;\n skuPurchaseCurrency?: Currency;\n skuFileNumber?: string;\n\n // Status\n status: TxStatus;\n\n // Timestamps\n createdAt: Date;\n confirmedAt?: Date;\n updatedAt: Date;\n\n // Relations\n apiPublicKey: string;\n chipiWalletId?: string;\n destinationChipiWalletId?: string;\n}\n\nexport interface PrepareTypedDataParams {\n calls: Call[];\n walletAddress: string;\n}\n\nexport interface PrepareTypedDataResponse {\n typedData: TypedData;\n walletType: WalletType;\n}\n\nexport interface ExecuteSponsoredTransactionParams {\n calls: Call[];\n walletAddress: string;\n signature: string[];\n apiPublicKey: string;\n}\n\nexport interface ExecuteSponsoredTransactionResponse {\n transactionHash: string;\n}\n\nexport interface RecordSendTransactionParams {\n transactionHash: string;\n expectedSender: string;\n expectedRecipient: string;\n expectedToken: ChainToken;\n expectedAmount: string;\n chain: Chain;\n}\n\n// Specific transaction types\nexport type TransferParams = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n token: ChainToken;\n otherToken?: {\n contractAddress: string;\n decimals: number;\n };\n recipient: string;\n amount: string;\n};\n\nexport type TransferHookInput = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n token: ChainToken;\n otherToken?: {\n contractAddress: string;\n decimals: number;\n };\n recipient: string;\n amount: number;\n};\n\nexport type ApproveParams = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n contractAddress: string;\n spender: string;\n amount: string;\n decimals?: number;\n};\n\nexport type ApproveHookInput = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n contractAddress: string;\n spender: string;\n decimals?: number;\n amount: number;\n};\n\nexport type CallAnyContractParams = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n contractAddress: string;\n calls: Call[];\n};\n\nexport interface GetTransactionsParams {\n page?: number;\n limit?: number;\n orgId: string;\n}\n\nexport interface GetTransactionListQuery {\n page?: number;\n limit?: number;\n calledFunction?: string;\n walletAddress: string; // Required: wallet address to filter transactions\n day?: number; // Day of the month (1-31)\n month?: number; // Month of the year (1-12)\n year?: number; // Year (e.g., 2025)\n}\n\n/**\n * Parameters for fetching a single transaction by hash or internal ID.\n */\nexport interface GetTransactionParams {\n /** Transaction hash (0x...) or internal database ID */\n hashOrId: string;\n}\n\n/**\n * Parameters for fetching on-chain transaction status.\n */\nexport interface GetTransactionStatusParams {\n /** Transaction hash (0x...) */\n hash: string;\n}\n\n/**\n * On-chain transaction status from StarkNet sequencer.\n */\nexport enum OnChainTxStatus {\n RECEIVED = \"RECEIVED\",\n PENDING = \"PENDING\",\n ACCEPTED_ON_L2 = \"ACCEPTED_ON_L2\",\n ACCEPTED_ON_L1 = \"ACCEPTED_ON_L1\",\n REJECTED = \"REJECTED\",\n REVERTED = \"REVERTED\",\n NOT_RECEIVED = \"NOT_RECEIVED\",\n}\n\n/**\n * Response from the transaction status endpoint.\n */\nexport interface TransactionStatusResponse {\n /** Transaction hash */\n transactionHash: string;\n /** Current on-chain status */\n status: OnChainTxStatus;\n /** Block number (if included in a block) */\n blockNumber?: number;\n /** Revert reason (if status is REVERTED) */\n revertReason?: string;\n}\n\n/**\n * Minimal account interface for PaymasterAdapter.\n * Compatible with starknet.js Account, external wallet objects, and Cartridge Controller.\n */\nexport interface PaymasterAccount {\n address: string;\n signMessage(typedData: TypedData): Promise<unknown>;\n getClassHashAt(contractAddress: string): Promise<string>;\n}\n\n/**\n * Adapter for executing gasless (paymaster-sponsored) transactions.\n *\n * Handles the full flow: prepare typed data -> sign -> submit to paymaster.\n * For external wallets (Argent X, Braavos), `account.signMessage()` triggers the wallet popup.\n * For DirectSigner, signing happens programmatically.\n */\nexport interface PaymasterAdapter {\n execute(params: { account: PaymasterAccount; calls: Call[] }): Promise<string>;\n}\n\n/**\n * Parameters for signing SNIP-12 typed data without executing a transaction.\n * Useful for x402 payment signatures and other off-chain signing flows.\n */\nexport interface SignTypedDataParams {\n /** Encryption key (PIN) to decrypt the private key */\n encryptKey: string;\n /** Wallet data containing encrypted private key */\n wallet: WalletData;\n /** SNIP-12 typed data to sign */\n typedData: TypedData;\n}\n\n/**\n * Result of signing SNIP-12 typed data.\n */\nexport interface SignTypedDataResult {\n /** Signature r component */\n r: string;\n /** Signature s component */\n s: string;\n}\n\n/**\n * Parameters for syncing on-chain transactions from Voyager.\n */\nexport interface SyncOnChainTransfersParams {\n /** Wallet address to sync transfers for */\n walletAddress: string;\n}\n\n/**\n * Response from sync-on-chain endpoint.\n */\nexport interface SyncOnChainTransfersResponse {\n /** Number of new transactions synced to DB */\n synced: number;\n /** Total transfers found on-chain */\n total: number;\n}\n"]}
1
+ {"version":3,"sources":["../src/core.ts","../src/transaction.ts"],"names":["Chain","Currency","ChainToken","OnChainTxStatus"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Core configuration and environment types\n */\n\nexport interface ChipiSDKConfig {\n apiPublicKey: string;\n alphaUrl?: string;\n nodeUrl?: string;\n apiSecretKey?: string;\n}\n\nexport interface ChipiServerSDKConfig extends ChipiSDKConfig {\n apiSecretKey: string;\n}\n\nexport interface ChipiBrowserSDKConfig extends Omit<ChipiSDKConfig, \"apiSecretKey\"> {\n apiSecretKey?: never;\n}\n\nexport type alphaUrl = string;\n\nexport enum Chain {\n STARKNET = \"STARKNET\",\n BASE = \"BASE\",\n ARBITRUM = \"ARBITRUM\",\n OPTIMISM = \"OPTIMISM\",\n ROOTSTOCK = \"ROOTSTOCK\",\n SCROLL = \"SCROLL\",\n WORLDCHAIN = \"WORLDCHAIN\",\n}\n\nexport enum Currency {\n MXN = \"MXN\",\n USD = \"USD\",\n}\n\nexport enum ChainToken {\n USDC = \"USDC\",\n USDC_E = \"USDC_E\",\n USDT = \"USDT\",\n DAI = \"DAI\",\n ETH = \"ETH\",\n STRK = \"STRK\",\n SLINK = \"SLINK\",\n ALF = \"ALF\",\n BROTHER = \"BROTHER\",\n ARB = \"ARB\",\n DOC = \"DOC\",\n MXNB = \"MXNB\",\n WLD = \"WLD\",\n WBTC = \"WBTC\",\n OTHER = \"OTHER\",\n}\n\nexport interface PaginationQuery {\n page?: number;\n limit?: number;\n offset?: number;\n}\n\nexport interface PaginatedResponse<T> {\n data: T[];\n total: number;\n page: number;\n limit: number;\n totalPages: number;\n}\n\nexport const STARKNET_CONTRACTS: Record<ChainToken, { contractAddress: string; decimals: number }> =\n {\n [ChainToken.USDC]: {\n contractAddress: \"0x033068F6539f8e6e6b131e6B2B814e6c34A5224bC66947c47DaB9dFeE93b35fb\",\n decimals: 6,\n },\n [ChainToken.USDC_E]: {\n contractAddress: \"0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8\",\n decimals: 6,\n },\n [ChainToken.USDT]: {\n contractAddress: \"0x068f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8\",\n decimals: 6,\n },\n [ChainToken.DAI]: {\n contractAddress: \"0x05574eb6b8789a91466f902c380d978e472db68170ff82a5b650b95a58ddf4ad\",\n decimals: 18,\n },\n [ChainToken.STRK]: {\n contractAddress: \"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d\",\n decimals: 18,\n },\n [ChainToken.ETH]: {\n contractAddress: \"0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7\",\n decimals: 18,\n },\n [ChainToken.WBTC]: {\n contractAddress: \"0x03fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac\",\n decimals: 8,\n },\n [ChainToken.SLINK]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.ALF]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.BROTHER]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.ARB]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.DOC]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.MXNB]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.WLD]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.OTHER]: {\n contractAddress: \"\",\n decimals: 18,\n },\n };\n","import type { Call, TypedData } from \"starknet\";\nimport type { WalletData, WalletType } from \"./wallet\";\nimport { Chain, ChainToken, Currency } from \"./core\";\n\n/**\n * Transaction-related types\n */\n\ntype PasskeyEnabledParams = {\n usePasskey: true;\n externalUserId: string;\n /**\n * Scope the passkey prompt to one specific credential. Omit to let the\n * authenticator choose among the credentials registered for this origin.\n *\n * Needed when a user holds more than one Chipi credential on the same\n * device (a wallet that was reset, or a per-entity wallet), where the\n * unscoped prompt can resolve to the wrong one.\n */\n credentialId?: string;\n};\n\ntype PasskeyDisabledParams = {\n usePasskey?: false;\n externalUserId?: string;\n credentialId?: string;\n};\n\ntype PasskeyParams = PasskeyEnabledParams | PasskeyDisabledParams;\n\nexport type ExecuteTransactionParams = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n calls: Call[];\n};\n\nexport type TxType = string;\nexport type TxStatus = \"PENDING\" | \"PROCESSING\" | \"SUCCESS\" | \"FAILED\" | \"CANCELLED\";\n\nexport interface Transaction {\n id: string;\n type: TxType;\n subType?: string;\n chain: Chain;\n transactionHash: string;\n\n // Parties\n senderAddress: string;\n destinationAddress: string;\n\n // Contract Interaction\n contractAddress?: string;\n contractName?: string;\n functionName?: string;\n functionSelector?: string;\n callData?: unknown;\n\n // Token Transfer (nullable for non-token operations)\n token?: ChainToken;\n tokenAddress?: string;\n amount?: string;\n\n // NFT Specific\n nftTokenId?: string;\n nftContract?: string;\n nftMetadata?: Record<string, unknown>;\n\n // SKU Specific\n skuId?: string;\n skuReference?: string;\n skuPurchaseAmount?: number;\n skuPurchaseCurrency?: Currency;\n skuFileNumber?: string;\n\n // Status\n status: TxStatus;\n\n // Timestamps\n createdAt: Date;\n confirmedAt?: Date;\n updatedAt: Date;\n\n // Relations\n apiPublicKey: string;\n chipiWalletId?: string;\n destinationChipiWalletId?: string;\n}\n\nexport interface PrepareTypedDataParams {\n calls: Call[];\n walletAddress: string;\n}\n\nexport interface PrepareTypedDataResponse {\n typedData: TypedData;\n walletType: WalletType;\n}\n\nexport interface ExecuteSponsoredTransactionParams {\n calls: Call[];\n walletAddress: string;\n signature: string[];\n apiPublicKey: string;\n}\n\nexport interface ExecuteSponsoredTransactionResponse {\n transactionHash: string;\n}\n\nexport interface RecordSendTransactionParams {\n transactionHash: string;\n expectedSender: string;\n expectedRecipient: string;\n expectedToken: ChainToken;\n expectedAmount: string;\n chain: Chain;\n}\n\n// Specific transaction types\nexport type TransferParams = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n token: ChainToken;\n otherToken?: {\n contractAddress: string;\n decimals: number;\n };\n recipient: string;\n amount: string;\n};\n\nexport type TransferHookInput = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n token: ChainToken;\n otherToken?: {\n contractAddress: string;\n decimals: number;\n };\n recipient: string;\n amount: number;\n};\n\nexport type ApproveParams = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n contractAddress: string;\n spender: string;\n amount: string;\n decimals?: number;\n};\n\nexport type ApproveHookInput = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n contractAddress: string;\n spender: string;\n decimals?: number;\n amount: number;\n};\n\nexport type CallAnyContractParams = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n contractAddress: string;\n calls: Call[];\n};\n\nexport interface GetTransactionsParams {\n page?: number;\n limit?: number;\n orgId: string;\n}\n\nexport interface GetTransactionListQuery {\n page?: number;\n limit?: number;\n calledFunction?: string;\n walletAddress: string; // Required: wallet address to filter transactions\n day?: number; // Day of the month (1-31)\n month?: number; // Month of the year (1-12)\n year?: number; // Year (e.g., 2025)\n}\n\n/**\n * Parameters for fetching a single transaction by hash or internal ID.\n */\nexport interface GetTransactionParams {\n /** Transaction hash (0x...) or internal database ID */\n hashOrId: string;\n}\n\n/**\n * Parameters for fetching on-chain transaction status.\n */\nexport interface GetTransactionStatusParams {\n /** Transaction hash (0x...) */\n hash: string;\n}\n\n/**\n * On-chain transaction status from StarkNet sequencer.\n */\nexport enum OnChainTxStatus {\n RECEIVED = \"RECEIVED\",\n PENDING = \"PENDING\",\n ACCEPTED_ON_L2 = \"ACCEPTED_ON_L2\",\n ACCEPTED_ON_L1 = \"ACCEPTED_ON_L1\",\n REJECTED = \"REJECTED\",\n REVERTED = \"REVERTED\",\n NOT_RECEIVED = \"NOT_RECEIVED\",\n}\n\n/**\n * Response from the transaction status endpoint.\n */\nexport interface TransactionStatusResponse {\n /** Transaction hash */\n transactionHash: string;\n /** Current on-chain status */\n status: OnChainTxStatus;\n /** Block number (if included in a block) */\n blockNumber?: number;\n /** Revert reason (if status is REVERTED) */\n revertReason?: string;\n}\n\n/**\n * Minimal account interface for PaymasterAdapter.\n * Compatible with starknet.js Account, external wallet objects, and Cartridge Controller.\n */\nexport interface PaymasterAccount {\n address: string;\n signMessage(typedData: TypedData): Promise<unknown>;\n getClassHashAt(contractAddress: string): Promise<string>;\n}\n\n/**\n * Adapter for executing gasless (paymaster-sponsored) transactions.\n *\n * Handles the full flow: prepare typed data -> sign -> submit to paymaster.\n * For external wallets (Argent X, Braavos), `account.signMessage()` triggers the wallet popup.\n * For DirectSigner, signing happens programmatically.\n */\nexport interface PaymasterAdapter {\n execute(params: { account: PaymasterAccount; calls: Call[] }): Promise<string>;\n}\n\n/**\n * Parameters for signing SNIP-12 typed data without executing a transaction.\n * Useful for x402 payment signatures and other off-chain signing flows.\n */\nexport interface SignTypedDataParams {\n /** Encryption key (PIN) to decrypt the private key */\n encryptKey: string;\n /** Wallet data containing encrypted private key */\n wallet: WalletData;\n /** SNIP-12 typed data to sign */\n typedData: TypedData;\n}\n\n/**\n * Result of signing SNIP-12 typed data.\n */\nexport interface SignTypedDataResult {\n /** Signature r component */\n r: string;\n /** Signature s component */\n s: string;\n}\n\n/**\n * Parameters for syncing on-chain transactions from Voyager.\n */\nexport interface SyncOnChainTransfersParams {\n /** Wallet address to sync transfers for */\n walletAddress: string;\n}\n\n/**\n * Response from sync-on-chain endpoint.\n */\nexport interface SyncOnChainTransfersResponse {\n /** Number of new transactions synced to DB */\n synced: number;\n /** Total transfers found on-chain */\n total: number;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core.ts","../src/transaction.ts"],"names":["Chain","Currency","ChainToken","OnChainTxStatus"],"mappings":"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","file":"index.mjs","sourcesContent":["/**\n * Core configuration and environment types\n */\n\nexport interface ChipiSDKConfig {\n apiPublicKey: string;\n alphaUrl?: string;\n nodeUrl?: string;\n apiSecretKey?: string;\n}\n\nexport interface ChipiServerSDKConfig extends ChipiSDKConfig {\n apiSecretKey: string;\n}\n\nexport interface ChipiBrowserSDKConfig extends Omit<ChipiSDKConfig, \"apiSecretKey\"> {\n apiSecretKey?: never;\n}\n\nexport type alphaUrl = string;\n\nexport enum Chain {\n STARKNET = \"STARKNET\",\n BASE = \"BASE\",\n ARBITRUM = \"ARBITRUM\",\n OPTIMISM = \"OPTIMISM\",\n ROOTSTOCK = \"ROOTSTOCK\",\n SCROLL = \"SCROLL\",\n WORLDCHAIN = \"WORLDCHAIN\",\n}\n\nexport enum Currency {\n MXN = \"MXN\",\n USD = \"USD\",\n}\n\nexport enum ChainToken {\n USDC = \"USDC\",\n USDC_E = \"USDC_E\",\n USDT = \"USDT\",\n DAI = \"DAI\",\n ETH = \"ETH\",\n STRK = \"STRK\",\n SLINK = \"SLINK\",\n ALF = \"ALF\",\n BROTHER = \"BROTHER\",\n ARB = \"ARB\",\n DOC = \"DOC\",\n MXNB = \"MXNB\",\n WLD = \"WLD\",\n WBTC = \"WBTC\",\n OTHER = \"OTHER\",\n}\n\nexport interface PaginationQuery {\n page?: number;\n limit?: number;\n offset?: number;\n}\n\nexport interface PaginatedResponse<T> {\n data: T[];\n total: number;\n page: number;\n limit: number;\n totalPages: number;\n}\n\nexport const STARKNET_CONTRACTS: Record<ChainToken, { contractAddress: string; decimals: number }> =\n {\n [ChainToken.USDC]: {\n contractAddress: \"0x033068F6539f8e6e6b131e6B2B814e6c34A5224bC66947c47DaB9dFeE93b35fb\",\n decimals: 6,\n },\n [ChainToken.USDC_E]: {\n contractAddress: \"0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8\",\n decimals: 6,\n },\n [ChainToken.USDT]: {\n contractAddress: \"0x068f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8\",\n decimals: 6,\n },\n [ChainToken.DAI]: {\n contractAddress: \"0x05574eb6b8789a91466f902c380d978e472db68170ff82a5b650b95a58ddf4ad\",\n decimals: 18,\n },\n [ChainToken.STRK]: {\n contractAddress: \"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d\",\n decimals: 18,\n },\n [ChainToken.ETH]: {\n contractAddress: \"0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7\",\n decimals: 18,\n },\n [ChainToken.WBTC]: {\n contractAddress: \"0x03fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac\",\n decimals: 8,\n },\n [ChainToken.SLINK]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.ALF]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.BROTHER]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.ARB]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.DOC]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.MXNB]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.WLD]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.OTHER]: {\n contractAddress: \"\",\n decimals: 18,\n },\n };\n","import type { Call, TypedData } from \"starknet\";\nimport type { WalletData, WalletType } from \"./wallet\";\nimport { Chain, ChainToken, Currency } from \"./core\";\n\n/**\n * Transaction-related types\n */\n\ntype PasskeyEnabledParams = {\n usePasskey: true;\n externalUserId: string;\n};\n\ntype PasskeyDisabledParams = {\n usePasskey?: false;\n externalUserId?: string;\n};\n\ntype PasskeyParams = PasskeyEnabledParams | PasskeyDisabledParams;\n\nexport type ExecuteTransactionParams = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n calls: Call[];\n};\n\nexport type TxType = string;\nexport type TxStatus = \"PENDING\" | \"PROCESSING\" | \"SUCCESS\" | \"FAILED\" | \"CANCELLED\";\n\nexport interface Transaction {\n id: string;\n type: TxType;\n subType?: string;\n chain: Chain;\n transactionHash: string;\n\n // Parties\n senderAddress: string;\n destinationAddress: string;\n\n // Contract Interaction\n contractAddress?: string;\n contractName?: string;\n functionName?: string;\n functionSelector?: string;\n callData?: unknown;\n\n // Token Transfer (nullable for non-token operations)\n token?: ChainToken;\n tokenAddress?: string;\n amount?: string;\n\n // NFT Specific\n nftTokenId?: string;\n nftContract?: string;\n nftMetadata?: Record<string, unknown>;\n\n // SKU Specific\n skuId?: string;\n skuReference?: string;\n skuPurchaseAmount?: number;\n skuPurchaseCurrency?: Currency;\n skuFileNumber?: string;\n\n // Status\n status: TxStatus;\n\n // Timestamps\n createdAt: Date;\n confirmedAt?: Date;\n updatedAt: Date;\n\n // Relations\n apiPublicKey: string;\n chipiWalletId?: string;\n destinationChipiWalletId?: string;\n}\n\nexport interface PrepareTypedDataParams {\n calls: Call[];\n walletAddress: string;\n}\n\nexport interface PrepareTypedDataResponse {\n typedData: TypedData;\n walletType: WalletType;\n}\n\nexport interface ExecuteSponsoredTransactionParams {\n calls: Call[];\n walletAddress: string;\n signature: string[];\n apiPublicKey: string;\n}\n\nexport interface ExecuteSponsoredTransactionResponse {\n transactionHash: string;\n}\n\nexport interface RecordSendTransactionParams {\n transactionHash: string;\n expectedSender: string;\n expectedRecipient: string;\n expectedToken: ChainToken;\n expectedAmount: string;\n chain: Chain;\n}\n\n// Specific transaction types\nexport type TransferParams = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n token: ChainToken;\n otherToken?: {\n contractAddress: string;\n decimals: number;\n };\n recipient: string;\n amount: string;\n};\n\nexport type TransferHookInput = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n token: ChainToken;\n otherToken?: {\n contractAddress: string;\n decimals: number;\n };\n recipient: string;\n amount: number;\n};\n\nexport type ApproveParams = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n contractAddress: string;\n spender: string;\n amount: string;\n decimals?: number;\n};\n\nexport type ApproveHookInput = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n contractAddress: string;\n spender: string;\n decimals?: number;\n amount: number;\n};\n\nexport type CallAnyContractParams = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n contractAddress: string;\n calls: Call[];\n};\n\nexport interface GetTransactionsParams {\n page?: number;\n limit?: number;\n orgId: string;\n}\n\nexport interface GetTransactionListQuery {\n page?: number;\n limit?: number;\n calledFunction?: string;\n walletAddress: string; // Required: wallet address to filter transactions\n day?: number; // Day of the month (1-31)\n month?: number; // Month of the year (1-12)\n year?: number; // Year (e.g., 2025)\n}\n\n/**\n * Parameters for fetching a single transaction by hash or internal ID.\n */\nexport interface GetTransactionParams {\n /** Transaction hash (0x...) or internal database ID */\n hashOrId: string;\n}\n\n/**\n * Parameters for fetching on-chain transaction status.\n */\nexport interface GetTransactionStatusParams {\n /** Transaction hash (0x...) */\n hash: string;\n}\n\n/**\n * On-chain transaction status from StarkNet sequencer.\n */\nexport enum OnChainTxStatus {\n RECEIVED = \"RECEIVED\",\n PENDING = \"PENDING\",\n ACCEPTED_ON_L2 = \"ACCEPTED_ON_L2\",\n ACCEPTED_ON_L1 = \"ACCEPTED_ON_L1\",\n REJECTED = \"REJECTED\",\n REVERTED = \"REVERTED\",\n NOT_RECEIVED = \"NOT_RECEIVED\",\n}\n\n/**\n * Response from the transaction status endpoint.\n */\nexport interface TransactionStatusResponse {\n /** Transaction hash */\n transactionHash: string;\n /** Current on-chain status */\n status: OnChainTxStatus;\n /** Block number (if included in a block) */\n blockNumber?: number;\n /** Revert reason (if status is REVERTED) */\n revertReason?: string;\n}\n\n/**\n * Minimal account interface for PaymasterAdapter.\n * Compatible with starknet.js Account, external wallet objects, and Cartridge Controller.\n */\nexport interface PaymasterAccount {\n address: string;\n signMessage(typedData: TypedData): Promise<unknown>;\n getClassHashAt(contractAddress: string): Promise<string>;\n}\n\n/**\n * Adapter for executing gasless (paymaster-sponsored) transactions.\n *\n * Handles the full flow: prepare typed data -> sign -> submit to paymaster.\n * For external wallets (Argent X, Braavos), `account.signMessage()` triggers the wallet popup.\n * For DirectSigner, signing happens programmatically.\n */\nexport interface PaymasterAdapter {\n execute(params: { account: PaymasterAccount; calls: Call[] }): Promise<string>;\n}\n\n/**\n * Parameters for signing SNIP-12 typed data without executing a transaction.\n * Useful for x402 payment signatures and other off-chain signing flows.\n */\nexport interface SignTypedDataParams {\n /** Encryption key (PIN) to decrypt the private key */\n encryptKey: string;\n /** Wallet data containing encrypted private key */\n wallet: WalletData;\n /** SNIP-12 typed data to sign */\n typedData: TypedData;\n}\n\n/**\n * Result of signing SNIP-12 typed data.\n */\nexport interface SignTypedDataResult {\n /** Signature r component */\n r: string;\n /** Signature s component */\n s: string;\n}\n\n/**\n * Parameters for syncing on-chain transactions from Voyager.\n */\nexport interface SyncOnChainTransfersParams {\n /** Wallet address to sync transfers for */\n walletAddress: string;\n}\n\n/**\n * Response from sync-on-chain endpoint.\n */\nexport interface SyncOnChainTransfersResponse {\n /** Number of new transactions synced to DB */\n synced: number;\n /** Total transfers found on-chain */\n total: number;\n}\n"]}
1
+ {"version":3,"sources":["../src/core.ts","../src/transaction.ts"],"names":["Chain","Currency","ChainToken","OnChainTxStatus"],"mappings":"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","file":"index.mjs","sourcesContent":["/**\n * Core configuration and environment types\n */\n\nexport interface ChipiSDKConfig {\n apiPublicKey: string;\n alphaUrl?: string;\n nodeUrl?: string;\n apiSecretKey?: string;\n}\n\nexport interface ChipiServerSDKConfig extends ChipiSDKConfig {\n apiSecretKey: string;\n}\n\nexport interface ChipiBrowserSDKConfig extends Omit<ChipiSDKConfig, \"apiSecretKey\"> {\n apiSecretKey?: never;\n}\n\nexport type alphaUrl = string;\n\nexport enum Chain {\n STARKNET = \"STARKNET\",\n BASE = \"BASE\",\n ARBITRUM = \"ARBITRUM\",\n OPTIMISM = \"OPTIMISM\",\n ROOTSTOCK = \"ROOTSTOCK\",\n SCROLL = \"SCROLL\",\n WORLDCHAIN = \"WORLDCHAIN\",\n}\n\nexport enum Currency {\n MXN = \"MXN\",\n USD = \"USD\",\n}\n\nexport enum ChainToken {\n USDC = \"USDC\",\n USDC_E = \"USDC_E\",\n USDT = \"USDT\",\n DAI = \"DAI\",\n ETH = \"ETH\",\n STRK = \"STRK\",\n SLINK = \"SLINK\",\n ALF = \"ALF\",\n BROTHER = \"BROTHER\",\n ARB = \"ARB\",\n DOC = \"DOC\",\n MXNB = \"MXNB\",\n WLD = \"WLD\",\n WBTC = \"WBTC\",\n OTHER = \"OTHER\",\n}\n\nexport interface PaginationQuery {\n page?: number;\n limit?: number;\n offset?: number;\n}\n\nexport interface PaginatedResponse<T> {\n data: T[];\n total: number;\n page: number;\n limit: number;\n totalPages: number;\n}\n\nexport const STARKNET_CONTRACTS: Record<ChainToken, { contractAddress: string; decimals: number }> =\n {\n [ChainToken.USDC]: {\n contractAddress: \"0x033068F6539f8e6e6b131e6B2B814e6c34A5224bC66947c47DaB9dFeE93b35fb\",\n decimals: 6,\n },\n [ChainToken.USDC_E]: {\n contractAddress: \"0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8\",\n decimals: 6,\n },\n [ChainToken.USDT]: {\n contractAddress: \"0x068f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8\",\n decimals: 6,\n },\n [ChainToken.DAI]: {\n contractAddress: \"0x05574eb6b8789a91466f902c380d978e472db68170ff82a5b650b95a58ddf4ad\",\n decimals: 18,\n },\n [ChainToken.STRK]: {\n contractAddress: \"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d\",\n decimals: 18,\n },\n [ChainToken.ETH]: {\n contractAddress: \"0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7\",\n decimals: 18,\n },\n [ChainToken.WBTC]: {\n contractAddress: \"0x03fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac\",\n decimals: 8,\n },\n [ChainToken.SLINK]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.ALF]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.BROTHER]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.ARB]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.DOC]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.MXNB]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.WLD]: {\n contractAddress: \"\",\n decimals: 18,\n },\n [ChainToken.OTHER]: {\n contractAddress: \"\",\n decimals: 18,\n },\n };\n","import type { Call, TypedData } from \"starknet\";\nimport type { WalletData, WalletType } from \"./wallet\";\nimport { Chain, ChainToken, Currency } from \"./core\";\n\n/**\n * Transaction-related types\n */\n\ntype PasskeyEnabledParams = {\n usePasskey: true;\n externalUserId: string;\n /**\n * Scope the passkey prompt to one specific credential. Omit to let the\n * authenticator choose among the credentials registered for this origin.\n *\n * Needed when a user holds more than one Chipi credential on the same\n * device (a wallet that was reset, or a per-entity wallet), where the\n * unscoped prompt can resolve to the wrong one.\n */\n credentialId?: string;\n};\n\ntype PasskeyDisabledParams = {\n usePasskey?: false;\n externalUserId?: string;\n credentialId?: string;\n};\n\ntype PasskeyParams = PasskeyEnabledParams | PasskeyDisabledParams;\n\nexport type ExecuteTransactionParams = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n calls: Call[];\n};\n\nexport type TxType = string;\nexport type TxStatus = \"PENDING\" | \"PROCESSING\" | \"SUCCESS\" | \"FAILED\" | \"CANCELLED\";\n\nexport interface Transaction {\n id: string;\n type: TxType;\n subType?: string;\n chain: Chain;\n transactionHash: string;\n\n // Parties\n senderAddress: string;\n destinationAddress: string;\n\n // Contract Interaction\n contractAddress?: string;\n contractName?: string;\n functionName?: string;\n functionSelector?: string;\n callData?: unknown;\n\n // Token Transfer (nullable for non-token operations)\n token?: ChainToken;\n tokenAddress?: string;\n amount?: string;\n\n // NFT Specific\n nftTokenId?: string;\n nftContract?: string;\n nftMetadata?: Record<string, unknown>;\n\n // SKU Specific\n skuId?: string;\n skuReference?: string;\n skuPurchaseAmount?: number;\n skuPurchaseCurrency?: Currency;\n skuFileNumber?: string;\n\n // Status\n status: TxStatus;\n\n // Timestamps\n createdAt: Date;\n confirmedAt?: Date;\n updatedAt: Date;\n\n // Relations\n apiPublicKey: string;\n chipiWalletId?: string;\n destinationChipiWalletId?: string;\n}\n\nexport interface PrepareTypedDataParams {\n calls: Call[];\n walletAddress: string;\n}\n\nexport interface PrepareTypedDataResponse {\n typedData: TypedData;\n walletType: WalletType;\n}\n\nexport interface ExecuteSponsoredTransactionParams {\n calls: Call[];\n walletAddress: string;\n signature: string[];\n apiPublicKey: string;\n}\n\nexport interface ExecuteSponsoredTransactionResponse {\n transactionHash: string;\n}\n\nexport interface RecordSendTransactionParams {\n transactionHash: string;\n expectedSender: string;\n expectedRecipient: string;\n expectedToken: ChainToken;\n expectedAmount: string;\n chain: Chain;\n}\n\n// Specific transaction types\nexport type TransferParams = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n token: ChainToken;\n otherToken?: {\n contractAddress: string;\n decimals: number;\n };\n recipient: string;\n amount: string;\n};\n\nexport type TransferHookInput = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n token: ChainToken;\n otherToken?: {\n contractAddress: string;\n decimals: number;\n };\n recipient: string;\n amount: number;\n};\n\nexport type ApproveParams = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n contractAddress: string;\n spender: string;\n amount: string;\n decimals?: number;\n};\n\nexport type ApproveHookInput = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n contractAddress: string;\n spender: string;\n decimals?: number;\n amount: number;\n};\n\nexport type CallAnyContractParams = PasskeyParams & {\n encryptKey?: string;\n wallet: WalletData;\n contractAddress: string;\n calls: Call[];\n};\n\nexport interface GetTransactionsParams {\n page?: number;\n limit?: number;\n orgId: string;\n}\n\nexport interface GetTransactionListQuery {\n page?: number;\n limit?: number;\n calledFunction?: string;\n walletAddress: string; // Required: wallet address to filter transactions\n day?: number; // Day of the month (1-31)\n month?: number; // Month of the year (1-12)\n year?: number; // Year (e.g., 2025)\n}\n\n/**\n * Parameters for fetching a single transaction by hash or internal ID.\n */\nexport interface GetTransactionParams {\n /** Transaction hash (0x...) or internal database ID */\n hashOrId: string;\n}\n\n/**\n * Parameters for fetching on-chain transaction status.\n */\nexport interface GetTransactionStatusParams {\n /** Transaction hash (0x...) */\n hash: string;\n}\n\n/**\n * On-chain transaction status from StarkNet sequencer.\n */\nexport enum OnChainTxStatus {\n RECEIVED = \"RECEIVED\",\n PENDING = \"PENDING\",\n ACCEPTED_ON_L2 = \"ACCEPTED_ON_L2\",\n ACCEPTED_ON_L1 = \"ACCEPTED_ON_L1\",\n REJECTED = \"REJECTED\",\n REVERTED = \"REVERTED\",\n NOT_RECEIVED = \"NOT_RECEIVED\",\n}\n\n/**\n * Response from the transaction status endpoint.\n */\nexport interface TransactionStatusResponse {\n /** Transaction hash */\n transactionHash: string;\n /** Current on-chain status */\n status: OnChainTxStatus;\n /** Block number (if included in a block) */\n blockNumber?: number;\n /** Revert reason (if status is REVERTED) */\n revertReason?: string;\n}\n\n/**\n * Minimal account interface for PaymasterAdapter.\n * Compatible with starknet.js Account, external wallet objects, and Cartridge Controller.\n */\nexport interface PaymasterAccount {\n address: string;\n signMessage(typedData: TypedData): Promise<unknown>;\n getClassHashAt(contractAddress: string): Promise<string>;\n}\n\n/**\n * Adapter for executing gasless (paymaster-sponsored) transactions.\n *\n * Handles the full flow: prepare typed data -> sign -> submit to paymaster.\n * For external wallets (Argent X, Braavos), `account.signMessage()` triggers the wallet popup.\n * For DirectSigner, signing happens programmatically.\n */\nexport interface PaymasterAdapter {\n execute(params: { account: PaymasterAccount; calls: Call[] }): Promise<string>;\n}\n\n/**\n * Parameters for signing SNIP-12 typed data without executing a transaction.\n * Useful for x402 payment signatures and other off-chain signing flows.\n */\nexport interface SignTypedDataParams {\n /** Encryption key (PIN) to decrypt the private key */\n encryptKey: string;\n /** Wallet data containing encrypted private key */\n wallet: WalletData;\n /** SNIP-12 typed data to sign */\n typedData: TypedData;\n}\n\n/**\n * Result of signing SNIP-12 typed data.\n */\nexport interface SignTypedDataResult {\n /** Signature r component */\n r: string;\n /** Signature s component */\n s: string;\n}\n\n/**\n * Parameters for syncing on-chain transactions from Voyager.\n */\nexport interface SyncOnChainTransfersParams {\n /** Wallet address to sync transfers for */\n walletAddress: string;\n}\n\n/**\n * Response from sync-on-chain endpoint.\n */\nexport interface SyncOnChainTransfersResponse {\n /** Number of new transactions synced to DB */\n synced: number;\n /** Total transfers found on-chain */\n total: number;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chipi-stack/types",
3
- "version": "14.10.1",
3
+ "version": "14.12.0",
4
4
  "description": "Type definitions for Chipi SDK packages",
5
5
  "keywords": [
6
6
  "chipi",