@distilled.cloud/coinbase 0.30.2 → 1.0.0-rc.1
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/package.json +29 -43
- package/src/credentials.ts +8 -0
- package/src/errors.ts +92 -2
- package/src/index.ts +12 -6
- package/src/{client.ts → protocol.ts} +163 -52
- package/src/retry.ts +4 -4
- package/src/services/cdp.ts +11912 -0
- package/src/services/index.ts +2 -0
- package/src/traits.ts +42 -2
- package/README.md +0 -78
- package/lib/category.d.ts +0 -5
- package/lib/category.d.ts.map +0 -1
- package/lib/category.js +0 -5
- package/lib/category.js.map +0 -1
- package/lib/client.d.ts +0 -13
- package/lib/client.d.ts.map +0 -1
- package/lib/client.js +0 -263
- package/lib/client.js.map +0 -1
- package/lib/credentials.d.ts +0 -33
- package/lib/credentials.d.ts.map +0 -1
- package/lib/credentials.js +0 -36
- package/lib/credentials.js.map +0 -1
- package/lib/errors.d.ts +0 -855
- package/lib/errors.d.ts.map +0 -1
- package/lib/errors.js +0 -466
- package/lib/errors.js.map +0 -1
- package/lib/index.d.ts +0 -17
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -17
- package/lib/index.js.map +0 -1
- package/lib/operations/addEndUserEvmAccount.d.ts +0 -30
- package/lib/operations/addEndUserEvmAccount.d.ts.map +0 -1
- package/lib/operations/addEndUserEvmAccount.js +0 -36
- package/lib/operations/addEndUserEvmAccount.js.map +0 -1
- package/lib/operations/addEndUserEvmSmartAccount.d.ts +0 -32
- package/lib/operations/addEndUserEvmSmartAccount.d.ts.map +0 -1
- package/lib/operations/addEndUserEvmSmartAccount.js +0 -41
- package/lib/operations/addEndUserEvmSmartAccount.js.map +0 -1
- package/lib/operations/addEndUserSolanaAccount.d.ts +0 -30
- package/lib/operations/addEndUserSolanaAccount.d.ts.map +0 -1
- package/lib/operations/addEndUserSolanaAccount.js +0 -36
- package/lib/operations/addEndUserSolanaAccount.js.map +0 -1
- package/lib/operations/createDelegationForEndUserAccount.d.ts +0 -34
- package/lib/operations/createDelegationForEndUserAccount.d.ts.map +0 -1
- package/lib/operations/createDelegationForEndUserAccount.js +0 -44
- package/lib/operations/createDelegationForEndUserAccount.js.map +0 -1
- package/lib/operations/createDepositDestination.d.ts +0 -34
- package/lib/operations/createDepositDestination.d.ts.map +0 -1
- package/lib/operations/createDepositDestination.js +0 -50
- package/lib/operations/createDepositDestination.js.map +0 -1
- package/lib/operations/createEndUser.d.ts +0 -115
- package/lib/operations/createEndUser.d.ts.map +0 -1
- package/lib/operations/createEndUser.js +0 -133
- package/lib/operations/createEndUser.js.map +0 -1
- package/lib/operations/createEvmAccount.d.ts +0 -30
- package/lib/operations/createEvmAccount.d.ts.map +0 -1
- package/lib/operations/createEvmAccount.js +0 -34
- package/lib/operations/createEvmAccount.js.map +0 -1
- package/lib/operations/createEvmEip7702Delegation.d.ts +0 -34
- package/lib/operations/createEvmEip7702Delegation.d.ts.map +0 -1
- package/lib/operations/createEvmEip7702Delegation.js +0 -51
- package/lib/operations/createEvmEip7702Delegation.js.map +0 -1
- package/lib/operations/createEvmEip7702DelegationWithEndUserAccount.d.ts +0 -42
- package/lib/operations/createEvmEip7702DelegationWithEndUserAccount.d.ts.map +0 -1
- package/lib/operations/createEvmEip7702DelegationWithEndUserAccount.js +0 -60
- package/lib/operations/createEvmEip7702DelegationWithEndUserAccount.js.map +0 -1
- package/lib/operations/createEvmSmartAccount.d.ts +0 -27
- package/lib/operations/createEvmSmartAccount.d.ts.map +0 -1
- package/lib/operations/createEvmSmartAccount.js +0 -33
- package/lib/operations/createEvmSmartAccount.js.map +0 -1
- package/lib/operations/createEvmSwapQuote.d.ts +0 -80
- package/lib/operations/createEvmSwapQuote.d.ts.map +0 -1
- package/lib/operations/createEvmSwapQuote.js +0 -95
- package/lib/operations/createEvmSwapQuote.js.map +0 -1
- package/lib/operations/createFoundationAccount.d.ts +0 -26
- package/lib/operations/createFoundationAccount.d.ts.map +0 -1
- package/lib/operations/createFoundationAccount.js +0 -32
- package/lib/operations/createFoundationAccount.js.map +0 -1
- package/lib/operations/createOnrampOrder.d.ts +0 -60
- package/lib/operations/createOnrampOrder.d.ts.map +0 -1
- package/lib/operations/createOnrampOrder.js +0 -79
- package/lib/operations/createOnrampOrder.js.map +0 -1
- package/lib/operations/createOnrampSession.d.ts +0 -55
- package/lib/operations/createOnrampSession.d.ts.map +0 -1
- package/lib/operations/createOnrampSession.js +0 -68
- package/lib/operations/createOnrampSession.js.map +0 -1
- package/lib/operations/createPolicy.d.ts +0 -28
- package/lib/operations/createPolicy.d.ts.map +0 -1
- package/lib/operations/createPolicy.js +0 -32
- package/lib/operations/createPolicy.js.map +0 -1
- package/lib/operations/createSolanaAccount.d.ts +0 -30
- package/lib/operations/createSolanaAccount.d.ts.map +0 -1
- package/lib/operations/createSolanaAccount.js +0 -36
- package/lib/operations/createSolanaAccount.js.map +0 -1
- package/lib/operations/createSpendPermission.d.ts +0 -56
- package/lib/operations/createSpendPermission.d.ts.map +0 -1
- package/lib/operations/createSpendPermission.js +0 -92
- package/lib/operations/createSpendPermission.js.map +0 -1
- package/lib/operations/createTransfer.d.ts +0 -178
- package/lib/operations/createTransfer.d.ts.map +0 -1
- package/lib/operations/createTransfer.js +0 -244
- package/lib/operations/createTransfer.js.map +0 -1
- package/lib/operations/createWebhookSubscription.d.ts +0 -54
- package/lib/operations/createWebhookSubscription.d.ts.map +0 -1
- package/lib/operations/createWebhookSubscription.js +0 -109
- package/lib/operations/createWebhookSubscription.js.map +0 -1
- package/lib/operations/deletePolicy.d.ts +0 -20
- package/lib/operations/deletePolicy.d.ts.map +0 -1
- package/lib/operations/deletePolicy.js +0 -25
- package/lib/operations/deletePolicy.js.map +0 -1
- package/lib/operations/deleteWebhookSubscription.d.ts +0 -21
- package/lib/operations/deleteWebhookSubscription.d.ts.map +0 -1
- package/lib/operations/deleteWebhookSubscription.js +0 -30
- package/lib/operations/deleteWebhookSubscription.js.map +0 -1
- package/lib/operations/executeFundTransfer.d.ts +0 -103
- package/lib/operations/executeFundTransfer.d.ts.map +0 -1
- package/lib/operations/executeFundTransfer.js +0 -152
- package/lib/operations/executeFundTransfer.js.map +0 -1
- package/lib/operations/exportEvmAccount.d.ts +0 -27
- package/lib/operations/exportEvmAccount.d.ts.map +0 -1
- package/lib/operations/exportEvmAccount.js +0 -31
- package/lib/operations/exportEvmAccount.js.map +0 -1
- package/lib/operations/exportEvmAccountByName.d.ts +0 -27
- package/lib/operations/exportEvmAccountByName.d.ts.map +0 -1
- package/lib/operations/exportEvmAccountByName.js +0 -33
- package/lib/operations/exportEvmAccountByName.js.map +0 -1
- package/lib/operations/exportSolanaAccount.d.ts +0 -27
- package/lib/operations/exportSolanaAccount.d.ts.map +0 -1
- package/lib/operations/exportSolanaAccount.js +0 -33
- package/lib/operations/exportSolanaAccount.js.map +0 -1
- package/lib/operations/exportSolanaAccountByName.d.ts +0 -27
- package/lib/operations/exportSolanaAccountByName.d.ts.map +0 -1
- package/lib/operations/exportSolanaAccountByName.js +0 -36
- package/lib/operations/exportSolanaAccountByName.js.map +0 -1
- package/lib/operations/getBalanceByAsset.d.ts +0 -29
- package/lib/operations/getBalanceByAsset.d.ts.map +0 -1
- package/lib/operations/getBalanceByAsset.js +0 -34
- package/lib/operations/getBalanceByAsset.js.map +0 -1
- package/lib/operations/getDelegationForEndUser.d.ts +0 -20
- package/lib/operations/getDelegationForEndUser.d.ts.map +0 -1
- package/lib/operations/getDelegationForEndUser.js +0 -29
- package/lib/operations/getDelegationForEndUser.js.map +0 -1
- package/lib/operations/getDelegationForEndUserAccount.d.ts +0 -23
- package/lib/operations/getDelegationForEndUserAccount.d.ts.map +0 -1
- package/lib/operations/getDelegationForEndUserAccount.js +0 -33
- package/lib/operations/getDelegationForEndUserAccount.js.map +0 -1
- package/lib/operations/getDepositDestinationById.d.ts +0 -32
- package/lib/operations/getDepositDestinationById.d.ts.map +0 -1
- package/lib/operations/getDepositDestinationById.js +0 -52
- package/lib/operations/getDepositDestinationById.js.map +0 -1
- package/lib/operations/getEndUser.d.ts +0 -73
- package/lib/operations/getEndUser.d.ts.map +0 -1
- package/lib/operations/getEndUser.js +0 -84
- package/lib/operations/getEndUser.js.map +0 -1
- package/lib/operations/getEvmAccount.d.ts +0 -22
- package/lib/operations/getEvmAccount.d.ts.map +0 -1
- package/lib/operations/getEvmAccount.js +0 -26
- package/lib/operations/getEvmAccount.js.map +0 -1
- package/lib/operations/getEvmAccountByName.d.ts +0 -22
- package/lib/operations/getEvmAccountByName.d.ts.map +0 -1
- package/lib/operations/getEvmAccountByName.js +0 -28
- package/lib/operations/getEvmAccountByName.js.map +0 -1
- package/lib/operations/getEvmEip7702DelegationOperationById.d.ts +0 -22
- package/lib/operations/getEvmEip7702DelegationOperationById.d.ts.map +0 -1
- package/lib/operations/getEvmEip7702DelegationOperationById.js +0 -46
- package/lib/operations/getEvmEip7702DelegationOperationById.js.map +0 -1
- package/lib/operations/getEvmSmartAccount.d.ts +0 -23
- package/lib/operations/getEvmSmartAccount.d.ts.map +0 -1
- package/lib/operations/getEvmSmartAccount.js +0 -29
- package/lib/operations/getEvmSmartAccount.js.map +0 -1
- package/lib/operations/getEvmSmartAccountByName.d.ts +0 -23
- package/lib/operations/getEvmSmartAccountByName.d.ts.map +0 -1
- package/lib/operations/getEvmSmartAccountByName.js +0 -29
- package/lib/operations/getEvmSmartAccountByName.js.map +0 -1
- package/lib/operations/getEvmSwapPrice.d.ts +0 -55
- package/lib/operations/getEvmSwapPrice.d.ts.map +0 -1
- package/lib/operations/getEvmSwapPrice.js +0 -62
- package/lib/operations/getEvmSwapPrice.js.map +0 -1
- package/lib/operations/getFoundationAccountById.d.ts +0 -23
- package/lib/operations/getFoundationAccountById.d.ts.map +0 -1
- package/lib/operations/getFoundationAccountById.js +0 -29
- package/lib/operations/getFoundationAccountById.js.map +0 -1
- package/lib/operations/getOnrampOrderById.d.ts +0 -39
- package/lib/operations/getOnrampOrderById.d.ts.map +0 -1
- package/lib/operations/getOnrampOrderById.js +0 -54
- package/lib/operations/getOnrampOrderById.js.map +0 -1
- package/lib/operations/getOnrampUserLimits.d.ts +0 -24
- package/lib/operations/getOnrampUserLimits.d.ts.map +0 -1
- package/lib/operations/getOnrampUserLimits.js +0 -36
- package/lib/operations/getOnrampUserLimits.js.map +0 -1
- package/lib/operations/getPaymentMethod.d.ts +0 -53
- package/lib/operations/getPaymentMethod.d.ts.map +0 -1
- package/lib/operations/getPaymentMethod.js +0 -61
- package/lib/operations/getPaymentMethod.js.map +0 -1
- package/lib/operations/getPolicyById.d.ts +0 -23
- package/lib/operations/getPolicyById.d.ts.map +0 -1
- package/lib/operations/getPolicyById.js +0 -27
- package/lib/operations/getPolicyById.js.map +0 -1
- package/lib/operations/getSQLGrammar.d.ts +0 -16
- package/lib/operations/getSQLGrammar.d.ts.map +0 -1
- package/lib/operations/getSQLGrammar.js +0 -20
- package/lib/operations/getSQLGrammar.js.map +0 -1
- package/lib/operations/getSQLSchema.d.ts +0 -31
- package/lib/operations/getSQLSchema.d.ts.map +0 -1
- package/lib/operations/getSQLSchema.js +0 -35
- package/lib/operations/getSQLSchema.js.map +0 -1
- package/lib/operations/getSolanaAccount.d.ts +0 -22
- package/lib/operations/getSolanaAccount.d.ts.map +0 -1
- package/lib/operations/getSolanaAccount.js +0 -26
- package/lib/operations/getSolanaAccount.js.map +0 -1
- package/lib/operations/getSolanaAccountByName.d.ts +0 -22
- package/lib/operations/getSolanaAccountByName.d.ts.map +0 -1
- package/lib/operations/getSolanaAccountByName.js +0 -28
- package/lib/operations/getSolanaAccountByName.js.map +0 -1
- package/lib/operations/getTransferById.d.ts +0 -99
- package/lib/operations/getTransferById.d.ts.map +0 -1
- package/lib/operations/getTransferById.js +0 -146
- package/lib/operations/getTransferById.js.map +0 -1
- package/lib/operations/getUserOperation.d.ts +0 -40
- package/lib/operations/getUserOperation.d.ts.map +0 -1
- package/lib/operations/getUserOperation.js +0 -65
- package/lib/operations/getUserOperation.js.map +0 -1
- package/lib/operations/getWebhookSubscription.d.ts +0 -39
- package/lib/operations/getWebhookSubscription.d.ts.map +0 -1
- package/lib/operations/getWebhookSubscription.js +0 -73
- package/lib/operations/getWebhookSubscription.js.map +0 -1
- package/lib/operations/importEndUser.d.ts +0 -110
- package/lib/operations/importEndUser.d.ts.map +0 -1
- package/lib/operations/importEndUser.js +0 -128
- package/lib/operations/importEndUser.js.map +0 -1
- package/lib/operations/importEvmAccount.d.ts +0 -31
- package/lib/operations/importEvmAccount.d.ts.map +0 -1
- package/lib/operations/importEvmAccount.js +0 -35
- package/lib/operations/importEvmAccount.js.map +0 -1
- package/lib/operations/importSolanaAccount.d.ts +0 -30
- package/lib/operations/importSolanaAccount.d.ts.map +0 -1
- package/lib/operations/importSolanaAccount.js +0 -36
- package/lib/operations/importSolanaAccount.js.map +0 -1
- package/lib/operations/index.d.ts +0 -116
- package/lib/operations/index.d.ts.map +0 -1
- package/lib/operations/index.js +0 -116
- package/lib/operations/index.js.map +0 -1
- package/lib/operations/initiateOnrampVerification.d.ts +0 -24
- package/lib/operations/initiateOnrampVerification.d.ts.map +0 -1
- package/lib/operations/initiateOnrampVerification.js +0 -30
- package/lib/operations/initiateOnrampVerification.js.map +0 -1
- package/lib/operations/listBalances.d.ts +0 -34
- package/lib/operations/listBalances.d.ts.map +0 -1
- package/lib/operations/listBalances.js +0 -38
- package/lib/operations/listBalances.js.map +0 -1
- package/lib/operations/listDataTokenBalances.d.ts +0 -37
- package/lib/operations/listDataTokenBalances.d.ts.map +0 -1
- package/lib/operations/listDataTokenBalances.js +0 -46
- package/lib/operations/listDataTokenBalances.js.map +0 -1
- package/lib/operations/listDepositDestinations.d.ts +0 -45
- package/lib/operations/listDepositDestinations.d.ts.map +0 -1
- package/lib/operations/listDepositDestinations.js +0 -62
- package/lib/operations/listDepositDestinations.js.map +0 -1
- package/lib/operations/listEndUsers.d.ts +0 -80
- package/lib/operations/listEndUsers.d.ts.map +0 -1
- package/lib/operations/listEndUsers.js +0 -103
- package/lib/operations/listEndUsers.js.map +0 -1
- package/lib/operations/listEvmAccounts.d.ts +0 -28
- package/lib/operations/listEvmAccounts.d.ts.map +0 -1
- package/lib/operations/listEvmAccounts.js +0 -32
- package/lib/operations/listEvmAccounts.js.map +0 -1
- package/lib/operations/listEvmSmartAccounts.d.ts +0 -29
- package/lib/operations/listEvmSmartAccounts.d.ts.map +0 -1
- package/lib/operations/listEvmSmartAccounts.js +0 -35
- package/lib/operations/listEvmSmartAccounts.js.map +0 -1
- package/lib/operations/listEvmTokenBalances.d.ts +0 -37
- package/lib/operations/listEvmTokenBalances.d.ts.map +0 -1
- package/lib/operations/listEvmTokenBalances.js +0 -46
- package/lib/operations/listEvmTokenBalances.js.map +0 -1
- package/lib/operations/listFoundationAccounts.d.ts +0 -30
- package/lib/operations/listFoundationAccounts.d.ts.map +0 -1
- package/lib/operations/listFoundationAccounts.js +0 -36
- package/lib/operations/listFoundationAccounts.js.map +0 -1
- package/lib/operations/listPaymentMethods.d.ts +0 -63
- package/lib/operations/listPaymentMethods.d.ts.map +0 -1
- package/lib/operations/listPaymentMethods.js +0 -73
- package/lib/operations/listPaymentMethods.js.map +0 -1
- package/lib/operations/listPolicies.d.ts +0 -31
- package/lib/operations/listPolicies.d.ts.map +0 -1
- package/lib/operations/listPolicies.js +0 -35
- package/lib/operations/listPolicies.js.map +0 -1
- package/lib/operations/listSolanaAccounts.d.ts +0 -29
- package/lib/operations/listSolanaAccounts.d.ts.map +0 -1
- package/lib/operations/listSolanaAccounts.js +0 -35
- package/lib/operations/listSolanaAccounts.js.map +0 -1
- package/lib/operations/listSolanaTokenBalances.d.ts +0 -36
- package/lib/operations/listSolanaTokenBalances.d.ts.map +0 -1
- package/lib/operations/listSolanaTokenBalances.js +0 -45
- package/lib/operations/listSolanaTokenBalances.js.map +0 -1
- package/lib/operations/listSpendPermissions.d.ts +0 -40
- package/lib/operations/listSpendPermissions.d.ts.map +0 -1
- package/lib/operations/listSpendPermissions.js +0 -58
- package/lib/operations/listSpendPermissions.js.map +0 -1
- package/lib/operations/listTokensForAccount.d.ts +0 -23
- package/lib/operations/listTokensForAccount.d.ts.map +0 -1
- package/lib/operations/listTokensForAccount.js +0 -32
- package/lib/operations/listTokensForAccount.js.map +0 -1
- package/lib/operations/listTransfers.d.ts +0 -153
- package/lib/operations/listTransfers.d.ts.map +0 -1
- package/lib/operations/listTransfers.js +0 -205
- package/lib/operations/listTransfers.js.map +0 -1
- package/lib/operations/listWebhookSubscriptionEvents.d.ts +0 -52
- package/lib/operations/listWebhookSubscriptionEvents.d.ts.map +0 -1
- package/lib/operations/listWebhookSubscriptionEvents.js +0 -68
- package/lib/operations/listWebhookSubscriptionEvents.js.map +0 -1
- package/lib/operations/listWebhookSubscriptions.d.ts +0 -44
- package/lib/operations/listWebhookSubscriptions.d.ts.map +0 -1
- package/lib/operations/listWebhookSubscriptions.js +0 -75
- package/lib/operations/listWebhookSubscriptions.js.map +0 -1
- package/lib/operations/listX402DiscoveryMerchant.d.ts +0 -69
- package/lib/operations/listX402DiscoveryMerchant.d.ts.map +0 -1
- package/lib/operations/listX402DiscoveryMerchant.js +0 -92
- package/lib/operations/listX402DiscoveryMerchant.js.map +0 -1
- package/lib/operations/listX402DiscoveryResources.d.ts +0 -67
- package/lib/operations/listX402DiscoveryResources.d.ts.map +0 -1
- package/lib/operations/listX402DiscoveryResources.js +0 -90
- package/lib/operations/listX402DiscoveryResources.js.map +0 -1
- package/lib/operations/lookupEndUser.d.ts +0 -93
- package/lib/operations/lookupEndUser.d.ts.map +0 -1
- package/lib/operations/lookupEndUser.js +0 -116
- package/lib/operations/lookupEndUser.js.map +0 -1
- package/lib/operations/postX402DiscoveryMcp.d.ts +0 -26
- package/lib/operations/postX402DiscoveryMcp.d.ts.map +0 -1
- package/lib/operations/postX402DiscoveryMcp.js +0 -32
- package/lib/operations/postX402DiscoveryMcp.js.map +0 -1
- package/lib/operations/prepareAndSendUserOperation.d.ts +0 -55
- package/lib/operations/prepareAndSendUserOperation.d.ts.map +0 -1
- package/lib/operations/prepareAndSendUserOperation.js +0 -93
- package/lib/operations/prepareAndSendUserOperation.js.map +0 -1
- package/lib/operations/prepareUserOperation.d.ts +0 -48
- package/lib/operations/prepareUserOperation.d.ts.map +0 -1
- package/lib/operations/prepareUserOperation.js +0 -86
- package/lib/operations/prepareUserOperation.js.map +0 -1
- package/lib/operations/requestEvmFaucet.d.ts +0 -22
- package/lib/operations/requestEvmFaucet.d.ts.map +0 -1
- package/lib/operations/requestEvmFaucet.js +0 -30
- package/lib/operations/requestEvmFaucet.js.map +0 -1
- package/lib/operations/requestLimitsUpgrade.d.ts +0 -29
- package/lib/operations/requestLimitsUpgrade.d.ts.map +0 -1
- package/lib/operations/requestLimitsUpgrade.js +0 -35
- package/lib/operations/requestLimitsUpgrade.js.map +0 -1
- package/lib/operations/requestSolanaFaucet.d.ts +0 -21
- package/lib/operations/requestSolanaFaucet.d.ts.map +0 -1
- package/lib/operations/requestSolanaFaucet.js +0 -27
- package/lib/operations/requestSolanaFaucet.js.map +0 -1
- package/lib/operations/revokeDelegationForEndUser.d.ts +0 -31
- package/lib/operations/revokeDelegationForEndUser.d.ts.map +0 -1
- package/lib/operations/revokeDelegationForEndUser.js +0 -40
- package/lib/operations/revokeDelegationForEndUser.js.map +0 -1
- package/lib/operations/revokeDelegationForEndUserAccount.d.ts +0 -34
- package/lib/operations/revokeDelegationForEndUserAccount.d.ts.map +0 -1
- package/lib/operations/revokeDelegationForEndUserAccount.js +0 -44
- package/lib/operations/revokeDelegationForEndUserAccount.js.map +0 -1
- package/lib/operations/revokeSpendPermission.d.ts +0 -49
- package/lib/operations/revokeSpendPermission.d.ts.map +0 -1
- package/lib/operations/revokeSpendPermission.js +0 -85
- package/lib/operations/revokeSpendPermission.js.map +0 -1
- package/lib/operations/runSQLQuery.d.ts +0 -57
- package/lib/operations/runSQLQuery.d.ts.map +0 -1
- package/lib/operations/runSQLQuery.js +0 -82
- package/lib/operations/runSQLQuery.js.map +0 -1
- package/lib/operations/searchX402Resources.d.ts +0 -83
- package/lib/operations/searchX402Resources.d.ts.map +0 -1
- package/lib/operations/searchX402Resources.js +0 -106
- package/lib/operations/searchX402Resources.js.map +0 -1
- package/lib/operations/sendEvmAssetWithEndUserAccount.d.ts +0 -45
- package/lib/operations/sendEvmAssetWithEndUserAccount.d.ts.map +0 -1
- package/lib/operations/sendEvmAssetWithEndUserAccount.js +0 -67
- package/lib/operations/sendEvmAssetWithEndUserAccount.js.map +0 -1
- package/lib/operations/sendEvmTransaction.d.ts +0 -44
- package/lib/operations/sendEvmTransaction.d.ts.map +0 -1
- package/lib/operations/sendEvmTransaction.js +0 -65
- package/lib/operations/sendEvmTransaction.js.map +0 -1
- package/lib/operations/sendEvmTransactionWithEndUserAccount.d.ts +0 -52
- package/lib/operations/sendEvmTransactionWithEndUserAccount.d.ts.map +0 -1
- package/lib/operations/sendEvmTransactionWithEndUserAccount.js +0 -74
- package/lib/operations/sendEvmTransactionWithEndUserAccount.js.map +0 -1
- package/lib/operations/sendSolanaAssetWithEndUserAccount.d.ts +0 -44
- package/lib/operations/sendSolanaAssetWithEndUserAccount.d.ts.map +0 -1
- package/lib/operations/sendSolanaAssetWithEndUserAccount.js +0 -54
- package/lib/operations/sendSolanaAssetWithEndUserAccount.js.map +0 -1
- package/lib/operations/sendSolanaTransaction.d.ts +0 -39
- package/lib/operations/sendSolanaTransaction.d.ts.map +0 -1
- package/lib/operations/sendSolanaTransaction.js +0 -45
- package/lib/operations/sendSolanaTransaction.js.map +0 -1
- package/lib/operations/sendSolanaTransactionWithEndUserAccount.d.ts +0 -50
- package/lib/operations/sendSolanaTransactionWithEndUserAccount.d.ts.map +0 -1
- package/lib/operations/sendSolanaTransactionWithEndUserAccount.js +0 -60
- package/lib/operations/sendSolanaTransactionWithEndUserAccount.js.map +0 -1
- package/lib/operations/sendUserOperation.d.ts +0 -44
- package/lib/operations/sendUserOperation.d.ts.map +0 -1
- package/lib/operations/sendUserOperation.js +0 -70
- package/lib/operations/sendUserOperation.js.map +0 -1
- package/lib/operations/sendUserOperationWithEndUserAccount.d.ts +0 -66
- package/lib/operations/sendUserOperationWithEndUserAccount.d.ts.map +0 -1
- package/lib/operations/sendUserOperationWithEndUserAccount.js +0 -105
- package/lib/operations/sendUserOperationWithEndUserAccount.js.map +0 -1
- package/lib/operations/settleX402Payment.d.ts +0 -245
- package/lib/operations/settleX402Payment.d.ts.map +0 -1
- package/lib/operations/settleX402Payment.js +0 -355
- package/lib/operations/settleX402Payment.js.map +0 -1
- package/lib/operations/signEvmHash.d.ts +0 -27
- package/lib/operations/signEvmHash.d.ts.map +0 -1
- package/lib/operations/signEvmHash.js +0 -31
- package/lib/operations/signEvmHash.js.map +0 -1
- package/lib/operations/signEvmMessage.d.ts +0 -28
- package/lib/operations/signEvmMessage.d.ts.map +0 -1
- package/lib/operations/signEvmMessage.js +0 -32
- package/lib/operations/signEvmMessage.js.map +0 -1
- package/lib/operations/signEvmMessageWithEndUserAccount.d.ts +0 -36
- package/lib/operations/signEvmMessageWithEndUserAccount.d.ts.map +0 -1
- package/lib/operations/signEvmMessageWithEndUserAccount.js +0 -46
- package/lib/operations/signEvmMessageWithEndUserAccount.js.map +0 -1
- package/lib/operations/signEvmTransaction.d.ts +0 -29
- package/lib/operations/signEvmTransaction.d.ts.map +0 -1
- package/lib/operations/signEvmTransaction.js +0 -38
- package/lib/operations/signEvmTransaction.js.map +0 -1
- package/lib/operations/signEvmTransactionWithEndUserAccount.d.ts +0 -37
- package/lib/operations/signEvmTransactionWithEndUserAccount.d.ts.map +0 -1
- package/lib/operations/signEvmTransactionWithEndUserAccount.js +0 -47
- package/lib/operations/signEvmTransactionWithEndUserAccount.js.map +0 -1
- package/lib/operations/signEvmTypedData.d.ts +0 -36
- package/lib/operations/signEvmTypedData.d.ts.map +0 -1
- package/lib/operations/signEvmTypedData.js +0 -43
- package/lib/operations/signEvmTypedData.js.map +0 -1
- package/lib/operations/signEvmTypedDataWithEndUserAccount.d.ts +0 -46
- package/lib/operations/signEvmTypedDataWithEndUserAccount.d.ts.map +0 -1
- package/lib/operations/signEvmTypedDataWithEndUserAccount.js +0 -56
- package/lib/operations/signEvmTypedDataWithEndUserAccount.js.map +0 -1
- package/lib/operations/signSolanaMessage.d.ts +0 -28
- package/lib/operations/signSolanaMessage.d.ts.map +0 -1
- package/lib/operations/signSolanaMessage.js +0 -36
- package/lib/operations/signSolanaMessage.js.map +0 -1
- package/lib/operations/signSolanaMessageWithEndUserAccount.d.ts +0 -36
- package/lib/operations/signSolanaMessageWithEndUserAccount.d.ts.map +0 -1
- package/lib/operations/signSolanaMessageWithEndUserAccount.js +0 -46
- package/lib/operations/signSolanaMessageWithEndUserAccount.js.map +0 -1
- package/lib/operations/signSolanaTransaction.d.ts +0 -33
- package/lib/operations/signSolanaTransaction.d.ts.map +0 -1
- package/lib/operations/signSolanaTransaction.js +0 -42
- package/lib/operations/signSolanaTransaction.js.map +0 -1
- package/lib/operations/signSolanaTransactionWithEndUserAccount.d.ts +0 -41
- package/lib/operations/signSolanaTransactionWithEndUserAccount.d.ts.map +0 -1
- package/lib/operations/signSolanaTransactionWithEndUserAccount.js +0 -51
- package/lib/operations/signSolanaTransactionWithEndUserAccount.js.map +0 -1
- package/lib/operations/submitDepositTravelRule.d.ts +0 -52
- package/lib/operations/submitDepositTravelRule.d.ts.map +0 -1
- package/lib/operations/submitDepositTravelRule.js +0 -58
- package/lib/operations/submitDepositTravelRule.js.map +0 -1
- package/lib/operations/submitOnrampVerification.d.ts +0 -26
- package/lib/operations/submitOnrampVerification.d.ts.map +0 -1
- package/lib/operations/submitOnrampVerification.js +0 -35
- package/lib/operations/submitOnrampVerification.js.map +0 -1
- package/lib/operations/supportedX402PaymentKinds.d.ts +0 -22
- package/lib/operations/supportedX402PaymentKinds.d.ts.map +0 -1
- package/lib/operations/supportedX402PaymentKinds.js +0 -40
- package/lib/operations/supportedX402PaymentKinds.js.map +0 -1
- package/lib/operations/updateEvmAccount.d.ts +0 -28
- package/lib/operations/updateEvmAccount.d.ts.map +0 -1
- package/lib/operations/updateEvmAccount.js +0 -32
- package/lib/operations/updateEvmAccount.js.map +0 -1
- package/lib/operations/updateEvmSmartAccount.d.ts +0 -24
- package/lib/operations/updateEvmSmartAccount.d.ts.map +0 -1
- package/lib/operations/updateEvmSmartAccount.js +0 -30
- package/lib/operations/updateEvmSmartAccount.js.map +0 -1
- package/lib/operations/updatePolicy.d.ts +0 -29
- package/lib/operations/updatePolicy.d.ts.map +0 -1
- package/lib/operations/updatePolicy.js +0 -33
- package/lib/operations/updatePolicy.js.map +0 -1
- package/lib/operations/updateSolanaAccount.d.ts +0 -28
- package/lib/operations/updateSolanaAccount.d.ts.map +0 -1
- package/lib/operations/updateSolanaAccount.js +0 -34
- package/lib/operations/updateSolanaAccount.js.map +0 -1
- package/lib/operations/updateWebhookSubscription.d.ts +0 -49
- package/lib/operations/updateWebhookSubscription.d.ts.map +0 -1
- package/lib/operations/updateWebhookSubscription.js +0 -107
- package/lib/operations/updateWebhookSubscription.js.map +0 -1
- package/lib/operations/validateEndUserAccessToken.d.ts +0 -72
- package/lib/operations/validateEndUserAccessToken.d.ts.map +0 -1
- package/lib/operations/validateEndUserAccessToken.js +0 -86
- package/lib/operations/validateEndUserAccessToken.js.map +0 -1
- package/lib/operations/validateX402Resource.d.ts +0 -64
- package/lib/operations/validateX402Resource.d.ts.map +0 -1
- package/lib/operations/validateX402Resource.js +0 -92
- package/lib/operations/validateX402Resource.js.map +0 -1
- package/lib/operations/verifyX402Payment.d.ts +0 -242
- package/lib/operations/verifyX402Payment.d.ts.map +0 -1
- package/lib/operations/verifyX402Payment.js +0 -333
- package/lib/operations/verifyX402Payment.js.map +0 -1
- package/lib/retry.d.ts +0 -33
- package/lib/retry.d.ts.map +0 -1
- package/lib/retry.js +0 -33
- package/lib/retry.js.map +0 -1
- package/lib/sensitive.d.ts +0 -5
- package/lib/sensitive.d.ts.map +0 -1
- package/lib/sensitive.js +0 -5
- package/lib/sensitive.js.map +0 -1
- package/lib/traits.d.ts +0 -5
- package/lib/traits.d.ts.map +0 -1
- package/lib/traits.js +0 -5
- package/lib/traits.js.map +0 -1
- package/src/category.ts +0 -4
- package/src/operations/addEndUserEvmAccount.ts +0 -48
- package/src/operations/addEndUserEvmSmartAccount.ts +0 -58
- package/src/operations/addEndUserSolanaAccount.ts +0 -48
- package/src/operations/createDelegationForEndUserAccount.ts +0 -60
- package/src/operations/createDepositDestination.ts +0 -83
- package/src/operations/createEndUser.ts +0 -230
- package/src/operations/createEvmAccount.ts +0 -51
- package/src/operations/createEvmEip7702Delegation.ts +0 -72
- package/src/operations/createEvmEip7702DelegationWithEndUserAccount.ts +0 -84
- package/src/operations/createEvmSmartAccount.ts +0 -51
- package/src/operations/createEvmSwapQuote.ts +0 -167
- package/src/operations/createFoundationAccount.ts +0 -49
- package/src/operations/createOnrampOrder.ts +0 -142
- package/src/operations/createOnrampSession.ts +0 -117
- package/src/operations/createPolicy.ts +0 -51
- package/src/operations/createSolanaAccount.ts +0 -53
- package/src/operations/createSpendPermission.ts +0 -163
- package/src/operations/createTransfer.ts +0 -461
- package/src/operations/createWebhookSubscription.ts +0 -189
- package/src/operations/deletePolicy.ts +0 -35
- package/src/operations/deleteWebhookSubscription.ts +0 -40
- package/src/operations/executeFundTransfer.ts +0 -282
- package/src/operations/exportEvmAccount.ts +0 -44
- package/src/operations/exportEvmAccountByName.ts +0 -46
- package/src/operations/exportSolanaAccount.ts +0 -46
- package/src/operations/exportSolanaAccountByName.ts +0 -49
- package/src/operations/getBalanceByAsset.ts +0 -56
- package/src/operations/getDelegationForEndUser.ts +0 -42
- package/src/operations/getDelegationForEndUserAccount.ts +0 -47
- package/src/operations/getDepositDestinationById.ts +0 -87
- package/src/operations/getEndUser.ts +0 -148
- package/src/operations/getEvmAccount.ts +0 -42
- package/src/operations/getEvmAccountByName.ts +0 -44
- package/src/operations/getEvmEip7702DelegationOperationById.ts +0 -69
- package/src/operations/getEvmSmartAccount.ts +0 -46
- package/src/operations/getEvmSmartAccountByName.ts +0 -46
- package/src/operations/getEvmSwapPrice.ts +0 -112
- package/src/operations/getFoundationAccountById.ts +0 -46
- package/src/operations/getOnrampOrderById.ts +0 -94
- package/src/operations/getOnrampUserLimits.ts +0 -57
- package/src/operations/getPaymentMethod.ts +0 -106
- package/src/operations/getPolicyById.ts +0 -44
- package/src/operations/getSQLGrammar.ts +0 -28
- package/src/operations/getSQLSchema.ts +0 -68
- package/src/operations/getSolanaAccount.ts +0 -42
- package/src/operations/getSolanaAccountByName.ts +0 -44
- package/src/operations/getTransferById.ts +0 -274
- package/src/operations/getUserOperation.ts +0 -119
- package/src/operations/getWebhookSubscription.ts +0 -122
- package/src/operations/importEndUser.ts +0 -218
- package/src/operations/importEvmAccount.ts +0 -53
- package/src/operations/importSolanaAccount.ts +0 -53
- package/src/operations/index.ts +0 -115
- package/src/operations/initiateOnrampVerification.ts +0 -44
- package/src/operations/listBalances.ts +0 -66
- package/src/operations/listDataTokenBalances.ts +0 -72
- package/src/operations/listDepositDestinations.ts +0 -107
- package/src/operations/listEndUsers.ts +0 -174
- package/src/operations/listEvmAccounts.ts +0 -54
- package/src/operations/listEvmSmartAccounts.ts +0 -58
- package/src/operations/listEvmTokenBalances.ts +0 -72
- package/src/operations/listFoundationAccounts.ts +0 -60
- package/src/operations/listPaymentMethods.ts +0 -130
- package/src/operations/listPolicies.ts +0 -59
- package/src/operations/listSolanaAccounts.ts +0 -57
- package/src/operations/listSolanaTokenBalances.ts +0 -66
- package/src/operations/listSpendPermissions.ts +0 -100
- package/src/operations/listTokensForAccount.ts +0 -47
- package/src/operations/listTransfers.ts +0 -355
- package/src/operations/listWebhookSubscriptionEvents.ts +0 -101
- package/src/operations/listWebhookSubscriptions.ts +0 -130
- package/src/operations/listX402DiscoveryMerchant.ts +0 -172
- package/src/operations/listX402DiscoveryResources.ts +0 -169
- package/src/operations/lookupEndUser.ts +0 -188
- package/src/operations/postX402DiscoveryMcp.ts +0 -54
- package/src/operations/prepareAndSendUserOperation.ts +0 -169
- package/src/operations/prepareUserOperation.ts +0 -163
- package/src/operations/requestEvmFaucet.ts +0 -44
- package/src/operations/requestLimitsUpgrade.ts +0 -54
- package/src/operations/requestSolanaFaucet.ts +0 -40
- package/src/operations/revokeDelegationForEndUser.ts +0 -52
- package/src/operations/revokeDelegationForEndUserAccount.ts +0 -57
- package/src/operations/revokeSpendPermission.ts +0 -149
- package/src/operations/runSQLQuery.ts +0 -141
- package/src/operations/searchX402Resources.ts +0 -194
- package/src/operations/sendEvmAssetWithEndUserAccount.ts +0 -103
- package/src/operations/sendEvmTransaction.ts +0 -90
- package/src/operations/sendEvmTransactionWithEndUserAccount.ts +0 -102
- package/src/operations/sendSolanaAssetWithEndUserAccount.ts +0 -75
- package/src/operations/sendSolanaTransaction.ts +0 -59
- package/src/operations/sendSolanaTransactionWithEndUserAccount.ts +0 -78
- package/src/operations/sendUserOperation.ts +0 -125
- package/src/operations/sendUserOperationWithEndUserAccount.ts +0 -186
- package/src/operations/settleX402Payment.ts +0 -819
- package/src/operations/signEvmHash.ts +0 -44
- package/src/operations/signEvmMessage.ts +0 -45
- package/src/operations/signEvmMessageWithEndUserAccount.ts +0 -62
- package/src/operations/signEvmTransaction.ts +0 -51
- package/src/operations/signEvmTransactionWithEndUserAccount.ts +0 -63
- package/src/operations/signEvmTypedData.ts +0 -65
- package/src/operations/signEvmTypedDataWithEndUserAccount.ts +0 -83
- package/src/operations/signSolanaMessage.ts +0 -49
- package/src/operations/signSolanaMessageWithEndUserAccount.ts +0 -62
- package/src/operations/signSolanaTransaction.ts +0 -55
- package/src/operations/signSolanaTransactionWithEndUserAccount.ts +0 -67
- package/src/operations/submitDepositTravelRule.ts +0 -101
- package/src/operations/submitOnrampVerification.ts +0 -49
- package/src/operations/supportedX402PaymentKinds.ts +0 -71
- package/src/operations/updateEvmAccount.ts +0 -50
- package/src/operations/updateEvmSmartAccount.ts +0 -48
- package/src/operations/updatePolicy.ts +0 -52
- package/src/operations/updateSolanaAccount.ts +0 -52
- package/src/operations/updateWebhookSubscription.ts +0 -188
- package/src/operations/validateEndUserAccessToken.ts +0 -150
- package/src/operations/validateX402Resource.ts +0 -170
- package/src/operations/verifyX402Payment.ts +0 -775
- package/src/sensitive.ts +0 -4
package/src/traits.ts
CHANGED
|
@@ -1,4 +1,44 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Coinbase SDK trait surface — hand-written.
|
|
3
|
+
*
|
|
4
|
+
* Re-exports the generic protocol traits from core (so generated operations
|
|
5
|
+
* import everything from one place). The CDP API has no envelope of its own;
|
|
6
|
+
* the REST-protocol traits (SensitiveValue / RawResponse) come from
|
|
7
|
+
* `core/protocol-rest`.
|
|
3
8
|
*/
|
|
4
|
-
export
|
|
9
|
+
export {
|
|
10
|
+
Body,
|
|
11
|
+
Header,
|
|
12
|
+
Query,
|
|
13
|
+
Label,
|
|
14
|
+
Http,
|
|
15
|
+
ResponseCode,
|
|
16
|
+
HttpBody,
|
|
17
|
+
FormDataFile,
|
|
18
|
+
KeyDictionary,
|
|
19
|
+
UnionCases,
|
|
20
|
+
applyErrorMatchers,
|
|
21
|
+
getErrorMatchers,
|
|
22
|
+
type HttpTrait,
|
|
23
|
+
type ErrorMatcher,
|
|
24
|
+
bodySymbol,
|
|
25
|
+
headerSymbol,
|
|
26
|
+
querySymbol,
|
|
27
|
+
labelSymbol,
|
|
28
|
+
httpSymbol,
|
|
29
|
+
responseCodeSymbol,
|
|
30
|
+
httpBodySymbol,
|
|
31
|
+
formDataFileSymbol,
|
|
32
|
+
keyDictionarySymbol,
|
|
33
|
+
unionCasesSymbol,
|
|
34
|
+
errorMatchersSymbol,
|
|
35
|
+
} from "@distilled.cloud/core/trait";
|
|
36
|
+
|
|
37
|
+
export {
|
|
38
|
+
SensitiveValue,
|
|
39
|
+
RawResponse,
|
|
40
|
+
RawResponseRoot,
|
|
41
|
+
sensitiveValueSymbol,
|
|
42
|
+
rawResponseSymbol,
|
|
43
|
+
rawResponseRootSymbol,
|
|
44
|
+
} from "@distilled.cloud/core/protocol-rest";
|
package/README.md
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
# @distilled.cloud/coinbase
|
|
2
|
-
|
|
3
|
-
Effect-native Coinbase Developer Platform SDK generated from the [CDP SDK](https://github.com/coinbase/cdp-sdk) specification. Manage EVM and Solana wallets, sign transactions, swap tokens, request faucets, manage policies, and more with exhaustive error typing.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install @distilled.cloud/coinbase effect
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Quick Start
|
|
12
|
-
|
|
13
|
-
```typescript
|
|
14
|
-
import { Effect, Layer } from "effect";
|
|
15
|
-
import * as Stream from "effect/Stream";
|
|
16
|
-
import * as FetchHttpClient from "effect/unstable/http/FetchHttpClient";
|
|
17
|
-
import { listEvmAccounts } from "@distilled.cloud/coinbase/Operations";
|
|
18
|
-
import { CredentialsFromEnv } from "@distilled.cloud/coinbase";
|
|
19
|
-
|
|
20
|
-
const program = Effect.gen(function* () {
|
|
21
|
-
const accounts = yield* listEvmAccounts({});
|
|
22
|
-
return accounts;
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
const CoinbaseLive = Layer.mergeAll(FetchHttpClient.layer, CredentialsFromEnv);
|
|
26
|
-
|
|
27
|
-
program.pipe(Effect.provide(CoinbaseLive), Effect.runPromise);
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## Configuration
|
|
31
|
-
|
|
32
|
-
Set the following environment variables:
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
CDP_API_KEY_ID=your-api-key-id # UUID or organizations/.../apiKeys/... format
|
|
36
|
-
CDP_API_KEY_SECRET=your-api-key-secret # ES256 PEM or Ed25519 base64 private key
|
|
37
|
-
CDP_WALLET_SECRET=your-wallet-secret # optional, for sensitive wallet operations
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Create an API key in the [Coinbase Developer Platform](https://portal.cdp.coinbase.com/) under **API Keys**. The SDK automatically signs each request with a short-lived JWT (120s) using your private key. Both **ES256** (ECDSA P-256 PEM) and **Ed25519** (base64) key formats are supported.
|
|
41
|
-
|
|
42
|
-
`CDP_WALLET_SECRET` is only required for operations that modify wallet accounts (create, import, delete). If omitted, those operations will fail.
|
|
43
|
-
|
|
44
|
-
## Error Handling
|
|
45
|
-
|
|
46
|
-
Coinbase returns structured errors with an `errorType` field. All 40+ error types are mapped to typed error classes:
|
|
47
|
-
|
|
48
|
-
```typescript
|
|
49
|
-
import { createEvmAccount } from "@distilled.cloud/coinbase/Operations";
|
|
50
|
-
|
|
51
|
-
createEvmAccount({ name: "my-wallet" }).pipe(
|
|
52
|
-
Effect.catchTags({
|
|
53
|
-
AlreadyExists: () => Effect.succeed(null),
|
|
54
|
-
PolicyViolation: (e) => Effect.fail(new Error(`Policy: ${e.errorMessage}`)),
|
|
55
|
-
InsufficientBalance: (e) => Effect.fail(new Error(`Balance: ${e.errorMessage}`)),
|
|
56
|
-
UnknownCoinbaseError: (e) => Effect.fail(new Error(`Unknown: ${e.message}`)),
|
|
57
|
-
}),
|
|
58
|
-
);
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## Services
|
|
62
|
-
|
|
63
|
-
Key operation areas include:
|
|
64
|
-
|
|
65
|
-
- **EVM Accounts** -- create, list, import, export, sign, send transactions
|
|
66
|
-
- **Solana Accounts** -- create, list, import, export, sign, send transactions
|
|
67
|
-
- **Smart Accounts** -- ERC-4337 user operations and EIP-7702 delegation
|
|
68
|
-
- **Token Balances** -- EVM, Solana, and cross-chain balance queries
|
|
69
|
-
- **Swaps** -- get prices and create swap quotes
|
|
70
|
-
- **Faucets** -- request testnet tokens (EVM and Solana)
|
|
71
|
-
- **Policies** -- create, update, delete access policies
|
|
72
|
-
- **Webhooks** -- subscribe to on-chain events
|
|
73
|
-
- **End Users** -- manage end-user accounts and MFA
|
|
74
|
-
- **Onramp** -- create fiat-to-crypto orders and sessions
|
|
75
|
-
|
|
76
|
-
## License
|
|
77
|
-
|
|
78
|
-
MIT
|
package/lib/category.d.ts
DELETED
package/lib/category.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"category.d.ts","sourceRoot":"","sources":["../src/category.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,gCAAgC,CAAC"}
|
package/lib/category.js
DELETED
package/lib/category.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"category.js","sourceRoot":"","sources":["../src/category.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,gCAAgC,CAAC"}
|
package/lib/client.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as Schema from "effect/Schema";
|
|
2
|
-
import { Credentials } from "./credentials.ts";
|
|
3
|
-
export { UnknownCoinbaseError } from "./errors.ts";
|
|
4
|
-
/**
|
|
5
|
-
* Coinbase CDP API client.
|
|
6
|
-
*
|
|
7
|
-
* Uses JWT bearer token authentication signed with your CDP API Key Secret.
|
|
8
|
-
*/
|
|
9
|
-
export declare const API: {
|
|
10
|
-
make: <I extends Schema.Top, O extends Schema.Top, const E extends readonly import("@distilled.cloud/core/client").ApiErrorClass[] = readonly []>(configFn: () => import("@distilled.cloud/core/client").OperationConfig<I, O, E>) => import("@distilled.cloud/core/client").OperationMethod<Schema.Schema.Type<I>, Schema.Schema.Type<O>, InstanceType<E[number]>, Credentials, never>;
|
|
11
|
-
makePaginated: <I extends Schema.Top, O extends Schema.Top, const E extends readonly import("@distilled.cloud/core/client").ApiErrorClass[] = readonly []>(configFn: () => import("@distilled.cloud/core/client").PaginatedOperationConfig<I, O, E>, paginateFn?: import("@distilled.cloud/core/pagination").PaginationStrategy) => import("@distilled.cloud/core/client").PaginatedOperationMethod<Schema.Schema.Type<I>, Schema.Schema.Type<O>, InstanceType<E[number]>, Credentials, never>;
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=client.d.ts.map
|
package/lib/client.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAY/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAsPnD;;;;GAIG;AACH,eAAO,MAAM,GAAG;;;CAqBd,CAAC"}
|
package/lib/client.js
DELETED
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Coinbase CDP API Client.
|
|
3
|
-
*
|
|
4
|
-
* Wraps the shared REST client from sdk-core with Coinbase CDP-specific
|
|
5
|
-
* error matching, JWT authentication, and credential handling.
|
|
6
|
-
*
|
|
7
|
-
* ## Authentication
|
|
8
|
-
*
|
|
9
|
-
* The Coinbase CDP API uses JWT bearer tokens for authentication. The JWT is
|
|
10
|
-
* signed using your CDP API Key Secret (ES256 or Ed25519) and includes:
|
|
11
|
-
*
|
|
12
|
-
* - `sub`: Your CDP API Key ID
|
|
13
|
-
* - `iss`: "cdp"
|
|
14
|
-
* - `exp`: Current time + 120 seconds
|
|
15
|
-
*
|
|
16
|
-
* Some sensitive wallet operations additionally require an `X-Wallet-Auth`
|
|
17
|
-
* header signed with your Wallet Secret.
|
|
18
|
-
*
|
|
19
|
-
* ## Error Handling
|
|
20
|
-
*
|
|
21
|
-
* Coinbase CDP errors have the shape:
|
|
22
|
-
* ```json
|
|
23
|
-
* {
|
|
24
|
-
* "errorType": "invalid_request",
|
|
25
|
-
* "errorMessage": "Invalid request.",
|
|
26
|
-
* "correlationId": "41deb8d59a9dc9a7-IAD",
|
|
27
|
-
* "errorLink": "https://docs.cdp.coinbase.com/api-reference/v2/errors#invalid-request"
|
|
28
|
-
* }
|
|
29
|
-
* ```
|
|
30
|
-
*
|
|
31
|
-
* Errors are dispatched first by `errorType`, then by HTTP status code.
|
|
32
|
-
*/
|
|
33
|
-
import { makeAPI } from "@distilled.cloud/core/client";
|
|
34
|
-
import { parseRetryAfterForStatus } from "@distilled.cloud/core/retry-after";
|
|
35
|
-
import * as Effect from "effect/Effect";
|
|
36
|
-
import * as Redacted from "effect/Redacted";
|
|
37
|
-
import * as Schema from "effect/Schema";
|
|
38
|
-
import * as crypto from "node:crypto";
|
|
39
|
-
import { Credentials } from "./credentials.js";
|
|
40
|
-
import { COINBASE_HTTP_STATUS_MAP, CoinbaseParseError, ERROR_TYPE_MAP, HTTP_STATUS_MAP, STANDARD_ERROR_TYPE_MAP, UnknownCoinbaseError, } from "./errors.js";
|
|
41
|
-
import { Retry } from "./retry.js";
|
|
42
|
-
// Re-export for convenience
|
|
43
|
-
export { UnknownCoinbaseError } from "./errors.js";
|
|
44
|
-
// ============================================================================
|
|
45
|
-
// JWT generation for Coinbase CDP API authentication
|
|
46
|
-
// ============================================================================
|
|
47
|
-
/**
|
|
48
|
-
* Base64url-encode a buffer.
|
|
49
|
-
*/
|
|
50
|
-
const base64url = (buf) => Buffer.from(buf)
|
|
51
|
-
.toString("base64")
|
|
52
|
-
.replace(/\+/g, "-")
|
|
53
|
-
.replace(/\//g, "_")
|
|
54
|
-
.replace(/=+$/, "");
|
|
55
|
-
/**
|
|
56
|
-
* Generate a random hex nonce.
|
|
57
|
-
*/
|
|
58
|
-
const randomNonce = () => crypto.randomBytes(16).toString("hex");
|
|
59
|
-
/**
|
|
60
|
-
* Detect key type and return the appropriate signing algorithm and key object.
|
|
61
|
-
*/
|
|
62
|
-
const resolveSigningKey = (apiKeySecret) => {
|
|
63
|
-
// Try EC (ES256) first — PEM format
|
|
64
|
-
if (apiKeySecret.includes("-----BEGIN")) {
|
|
65
|
-
return {
|
|
66
|
-
algorithm: "ES256",
|
|
67
|
-
jwsAlg: "ES256",
|
|
68
|
-
key: crypto.createPrivateKey(apiKeySecret),
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
// Ed25519 — base64 encoded 64-byte key (32 seed + 32 public)
|
|
72
|
-
const keyBytes = Buffer.from(apiKeySecret, "base64");
|
|
73
|
-
if (keyBytes.length === 64) {
|
|
74
|
-
// Extract the 32-byte seed (private key)
|
|
75
|
-
const seed = keyBytes.subarray(0, 32);
|
|
76
|
-
// Import as Ed25519 private key using PKCS8 DER wrapping
|
|
77
|
-
// Ed25519 PKCS8 prefix: 302e020100300506032b657004220420
|
|
78
|
-
const pkcs8Prefix = Buffer.from("302e020100300506032b657004220420", "hex");
|
|
79
|
-
const pkcs8Der = Buffer.concat([pkcs8Prefix, seed]);
|
|
80
|
-
return {
|
|
81
|
-
algorithm: "EdDSA",
|
|
82
|
-
jwsAlg: "EdDSA",
|
|
83
|
-
key: crypto.createPrivateKey({
|
|
84
|
-
key: pkcs8Der,
|
|
85
|
-
format: "der",
|
|
86
|
-
type: "pkcs8",
|
|
87
|
-
}),
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
throw new Error("Unsupported CDP API Key Secret format. Expected EC PEM or Ed25519 base64.");
|
|
91
|
-
};
|
|
92
|
-
/**
|
|
93
|
-
* Generate a JWT bearer token for Coinbase CDP API authentication.
|
|
94
|
-
*
|
|
95
|
-
* The JWT includes:
|
|
96
|
-
* - header: { alg, kid, typ: "JWT", nonce }
|
|
97
|
-
* - payload: { sub, iss: "cdp", aud, nbf, exp, uri }
|
|
98
|
-
*/
|
|
99
|
-
const generateJwt = (apiKeyId, apiKeySecret, method, uri) => {
|
|
100
|
-
const { jwsAlg, key } = resolveSigningKey(apiKeySecret);
|
|
101
|
-
const now = Math.floor(Date.now() / 1000);
|
|
102
|
-
const header = {
|
|
103
|
-
alg: jwsAlg,
|
|
104
|
-
kid: apiKeyId,
|
|
105
|
-
typ: "JWT",
|
|
106
|
-
nonce: randomNonce(),
|
|
107
|
-
};
|
|
108
|
-
const payload = {
|
|
109
|
-
sub: apiKeyId,
|
|
110
|
-
iss: "cdp",
|
|
111
|
-
aud: ["cdp_service"],
|
|
112
|
-
nbf: now,
|
|
113
|
-
exp: now + 120,
|
|
114
|
-
uri: `${method} ${uri}`,
|
|
115
|
-
};
|
|
116
|
-
const headerB64 = base64url(Buffer.from(JSON.stringify(header)));
|
|
117
|
-
const payloadB64 = base64url(Buffer.from(JSON.stringify(payload)));
|
|
118
|
-
const signingInput = `${headerB64}.${payloadB64}`;
|
|
119
|
-
let signature;
|
|
120
|
-
if (jwsAlg === "ES256") {
|
|
121
|
-
// ES256 uses SHA-256 with ECDSA, needs IEEE P1363 format (not DER)
|
|
122
|
-
const sign = crypto.createSign("SHA256");
|
|
123
|
-
sign.update(signingInput);
|
|
124
|
-
const derSig = sign.sign(key);
|
|
125
|
-
// Convert DER signature to IEEE P1363 (raw r||s) format
|
|
126
|
-
signature = derToP1363(derSig, 32);
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
// EdDSA (Ed25519) uses sign directly
|
|
130
|
-
signature = Buffer.from(crypto.sign(null, Buffer.from(signingInput), key));
|
|
131
|
-
}
|
|
132
|
-
return `${signingInput}.${base64url(signature)}`;
|
|
133
|
-
};
|
|
134
|
-
/**
|
|
135
|
-
* Convert a DER-encoded ECDSA signature to IEEE P1363 (raw r||s) format.
|
|
136
|
-
* JWS requires P1363 format for ES256.
|
|
137
|
-
*/
|
|
138
|
-
const derToP1363 = (derSig, componentLength) => {
|
|
139
|
-
// DER format: 30 <len> 02 <rLen> <r> 02 <sLen> <s>
|
|
140
|
-
let offset = 2; // skip 30 <len>
|
|
141
|
-
if (derSig[1] & 0x80)
|
|
142
|
-
offset += derSig[1] & 0x7f;
|
|
143
|
-
// Read r
|
|
144
|
-
offset++; // skip 02
|
|
145
|
-
const rLen = derSig[offset++];
|
|
146
|
-
const r = derSig.subarray(offset, offset + rLen);
|
|
147
|
-
offset += rLen;
|
|
148
|
-
// Read s
|
|
149
|
-
offset++; // skip 02
|
|
150
|
-
const sLen = derSig[offset++];
|
|
151
|
-
const s = derSig.subarray(offset, offset + sLen);
|
|
152
|
-
// Pad or trim to componentLength
|
|
153
|
-
const result = Buffer.alloc(componentLength * 2);
|
|
154
|
-
const rPadded = r.length > componentLength ? r.subarray(r.length - componentLength) : r;
|
|
155
|
-
const sPadded = s.length > componentLength ? s.subarray(s.length - componentLength) : s;
|
|
156
|
-
rPadded.copy(result, componentLength - rPadded.length);
|
|
157
|
-
sPadded.copy(result, componentLength * 2 - sPadded.length);
|
|
158
|
-
return result;
|
|
159
|
-
};
|
|
160
|
-
// ============================================================================
|
|
161
|
-
// Error response parsing
|
|
162
|
-
// ============================================================================
|
|
163
|
-
/**
|
|
164
|
-
* Coinbase CDP API Error Response Schema.
|
|
165
|
-
*
|
|
166
|
-
* All Coinbase CDP errors have the same envelope:
|
|
167
|
-
* { errorType, errorMessage, correlationId?, errorLink? }
|
|
168
|
-
*/
|
|
169
|
-
const CoinbaseErrorResponse = Schema.Struct({
|
|
170
|
-
errorType: Schema.String,
|
|
171
|
-
errorMessage: Schema.String,
|
|
172
|
-
correlationId: Schema.optional(Schema.String),
|
|
173
|
-
errorLink: Schema.optional(Schema.String),
|
|
174
|
-
});
|
|
175
|
-
/**
|
|
176
|
-
* Match a Coinbase CDP API error response to the appropriate typed error class.
|
|
177
|
-
*
|
|
178
|
-
* Dispatches errors by:
|
|
179
|
-
* 1. The `errorType` field for Coinbase-specific errors (e.g., "already_exists", "policy_violation")
|
|
180
|
-
* 2. The `errorType` field for standard errors mapped to core classes (e.g., "not_found" → NotFound)
|
|
181
|
-
* 3. Standard HTTP status codes mapped from core (400, 401, 403, 404, etc.)
|
|
182
|
-
* 4. Coinbase-specific HTTP status codes (402)
|
|
183
|
-
* 5. Falls back to UnknownCoinbaseError for unrecognized errors
|
|
184
|
-
*/
|
|
185
|
-
const matchError = (status, errorBody, _errors, headers) => {
|
|
186
|
-
if (errorBody &&
|
|
187
|
-
typeof errorBody === "object" &&
|
|
188
|
-
("isValid" in errorBody || "success" in errorBody)) {
|
|
189
|
-
return Effect.succeed(errorBody);
|
|
190
|
-
}
|
|
191
|
-
try {
|
|
192
|
-
const parsed = Schema.decodeUnknownSync(CoinbaseErrorResponse)(errorBody);
|
|
193
|
-
const errorProps = {
|
|
194
|
-
errorType: parsed.errorType,
|
|
195
|
-
errorMessage: parsed.errorMessage,
|
|
196
|
-
correlationId: parsed.correlationId,
|
|
197
|
-
errorLink: parsed.errorLink,
|
|
198
|
-
};
|
|
199
|
-
// 1. Match by Coinbase-specific error type first
|
|
200
|
-
const TypedErrorClass = ERROR_TYPE_MAP[parsed.errorType];
|
|
201
|
-
if (TypedErrorClass) {
|
|
202
|
-
return Effect.fail(new TypedErrorClass(errorProps));
|
|
203
|
-
}
|
|
204
|
-
// 2. Match standard error types to core HTTP error classes
|
|
205
|
-
// Maps error types like "not_found", "forbidden", "unauthorized", "invalid_request",
|
|
206
|
-
// "rate_limit_exceeded", "internal_server_error", "bad_gateway", "service_unavailable"
|
|
207
|
-
// to their corresponding core HTTP error classes.
|
|
208
|
-
const StandardErrorClass = STANDARD_ERROR_TYPE_MAP[parsed.errorType];
|
|
209
|
-
if (StandardErrorClass) {
|
|
210
|
-
return Effect.fail(new StandardErrorClass({
|
|
211
|
-
message: parsed.errorMessage ?? "",
|
|
212
|
-
retryAfter: parseRetryAfterForStatus(status, headers),
|
|
213
|
-
}));
|
|
214
|
-
}
|
|
215
|
-
// 3. Fall back to HTTP status code mapping from core
|
|
216
|
-
const CoreErrorClass = HTTP_STATUS_MAP[status];
|
|
217
|
-
if (CoreErrorClass) {
|
|
218
|
-
return Effect.fail(new CoreErrorClass({
|
|
219
|
-
message: parsed.errorMessage ?? "",
|
|
220
|
-
retryAfter: parseRetryAfterForStatus(status, headers),
|
|
221
|
-
}));
|
|
222
|
-
}
|
|
223
|
-
// 4. Coinbase-specific HTTP status codes (402)
|
|
224
|
-
const CoinbaseErrorClass = COINBASE_HTTP_STATUS_MAP[status];
|
|
225
|
-
if (CoinbaseErrorClass) {
|
|
226
|
-
return Effect.fail(new CoinbaseErrorClass(errorProps));
|
|
227
|
-
}
|
|
228
|
-
// 5. Fall back to unknown error
|
|
229
|
-
return Effect.fail(new UnknownCoinbaseError({
|
|
230
|
-
...errorProps,
|
|
231
|
-
body: errorBody,
|
|
232
|
-
}));
|
|
233
|
-
}
|
|
234
|
-
catch {
|
|
235
|
-
return Effect.fail(new UnknownCoinbaseError({ body: errorBody }));
|
|
236
|
-
}
|
|
237
|
-
};
|
|
238
|
-
// ============================================================================
|
|
239
|
-
// API client factory
|
|
240
|
-
// ============================================================================
|
|
241
|
-
/**
|
|
242
|
-
* Coinbase CDP API client.
|
|
243
|
-
*
|
|
244
|
-
* Uses JWT bearer token authentication signed with your CDP API Key Secret.
|
|
245
|
-
*/
|
|
246
|
-
export const API = makeAPI({
|
|
247
|
-
credentials: Credentials,
|
|
248
|
-
getBaseUrl: (creds) => creds.apiBaseUrl,
|
|
249
|
-
getAuthHeaders: () => ({}),
|
|
250
|
-
getRequestHeaders: (_requestOptions, { method, parts, credentials }) => {
|
|
251
|
-
const c = credentials;
|
|
252
|
-
const baseUrl = new URL(c.apiBaseUrl);
|
|
253
|
-
const uri = `${baseUrl.host}${baseUrl.pathname}${parts.path}`;
|
|
254
|
-
const jwt = generateJwt(c.apiKeyId, Redacted.value(c.apiKeySecret), method, uri);
|
|
255
|
-
return {
|
|
256
|
-
Authorization: `Bearer ${jwt}`,
|
|
257
|
-
};
|
|
258
|
-
},
|
|
259
|
-
matchError: matchError,
|
|
260
|
-
ParseError: CoinbaseParseError,
|
|
261
|
-
retry: Retry,
|
|
262
|
-
});
|
|
263
|
-
//# sourceMappingURL=client.js.map
|
package/lib/client.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/lib/credentials.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import * as Context from "effect/Context";
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
|
-
import * as Layer from "effect/Layer";
|
|
4
|
-
import * as Redacted from "effect/Redacted";
|
|
5
|
-
export declare const DEFAULT_API_BASE_URL = "https://api.cdp.coinbase.com/platform";
|
|
6
|
-
export interface Config {
|
|
7
|
-
/**
|
|
8
|
-
* CDP API Key ID (UUID format or legacy `organizations/.../apiKeys/...` format).
|
|
9
|
-
*/
|
|
10
|
-
readonly apiKeyId: string;
|
|
11
|
-
/**
|
|
12
|
-
* CDP API Key Secret (Ed25519 base64 or EC PEM private key).
|
|
13
|
-
* Used to sign JWT bearer tokens for API authentication.
|
|
14
|
-
*/
|
|
15
|
-
readonly apiKeySecret: Redacted.Redacted<string>;
|
|
16
|
-
/**
|
|
17
|
-
* CDP Wallet Secret (base64-encoded DER EC private key).
|
|
18
|
-
* Required only for sensitive wallet operations (POST/DELETE/PUT to account endpoints).
|
|
19
|
-
* If not provided, wallet-auth-requiring operations will fail.
|
|
20
|
-
*/
|
|
21
|
-
readonly walletSecret?: Redacted.Redacted<string> | undefined;
|
|
22
|
-
/**
|
|
23
|
-
* Base URL for the Coinbase CDP API.
|
|
24
|
-
* @default "https://api.cdp.coinbase.com/platform"
|
|
25
|
-
*/
|
|
26
|
-
readonly apiBaseUrl: string;
|
|
27
|
-
}
|
|
28
|
-
declare const Credentials_base: Context.ServiceClass<Credentials, "CoinbaseCredentials", Effect.Effect<Config, never, never>>;
|
|
29
|
-
export declare class Credentials extends Credentials_base {
|
|
30
|
-
}
|
|
31
|
-
export declare const CredentialsFromEnv: Layer.Layer<Credentials, never, never>;
|
|
32
|
-
export {};
|
|
33
|
-
//# sourceMappingURL=credentials.d.ts.map
|
package/lib/credentials.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,oBAAoB,0CAA0C,CAAC;AAE5E,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEjD;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAE9D;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;;AAED,qBAAa,WAAY,SAAQ,gBAGP;CAAG;AAS7B,eAAO,MAAM,kBAAkB,wCAgC9B,CAAC"}
|
package/lib/credentials.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { ConfigError } from "@distilled.cloud/core/errors";
|
|
2
|
-
import * as EffectConfig from "effect/Config";
|
|
3
|
-
import * as Context from "effect/Context";
|
|
4
|
-
import * as Effect from "effect/Effect";
|
|
5
|
-
import * as Layer from "effect/Layer";
|
|
6
|
-
import * as Option from "effect/Option";
|
|
7
|
-
import * as Redacted from "effect/Redacted";
|
|
8
|
-
export const DEFAULT_API_BASE_URL = "https://api.cdp.coinbase.com/platform";
|
|
9
|
-
export class Credentials extends Context.Service()("CoinbaseCredentials") {
|
|
10
|
-
}
|
|
11
|
-
const envConfig = EffectConfig.all({
|
|
12
|
-
apiKeyId: EffectConfig.option(EffectConfig.string("CDP_API_KEY_ID")),
|
|
13
|
-
apiKeyName: EffectConfig.option(EffectConfig.string("CDP_API_KEY_NAME")),
|
|
14
|
-
apiKeySecret: EffectConfig.string("CDP_API_KEY_SECRET"),
|
|
15
|
-
walletSecret: EffectConfig.option(EffectConfig.string("CDP_WALLET_SECRET")),
|
|
16
|
-
});
|
|
17
|
-
export const CredentialsFromEnv = Layer.succeed(Credentials, Effect.gen(function* () {
|
|
18
|
-
const config = yield* envConfig.pipe(Effect.mapError(() => new ConfigError({
|
|
19
|
-
message: "CDP_API_KEY_SECRET environment variable is required",
|
|
20
|
-
})));
|
|
21
|
-
const apiKeyId = Option.getOrUndefined(config.apiKeyId) ??
|
|
22
|
-
Option.getOrUndefined(config.apiKeyName);
|
|
23
|
-
if (!apiKeyId) {
|
|
24
|
-
return yield* new ConfigError({
|
|
25
|
-
message: "CDP_API_KEY_ID (or CDP_API_KEY_NAME) environment variable is required",
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
const walletSecret = Option.getOrUndefined(config.walletSecret);
|
|
29
|
-
return {
|
|
30
|
-
apiKeyId,
|
|
31
|
-
apiKeySecret: Redacted.make(config.apiKeySecret),
|
|
32
|
-
walletSecret: walletSecret ? Redacted.make(walletSecret) : undefined,
|
|
33
|
-
apiBaseUrl: DEFAULT_API_BASE_URL,
|
|
34
|
-
};
|
|
35
|
-
}).pipe(Effect.orDie));
|
|
36
|
-
//# sourceMappingURL=credentials.js.map
|
package/lib/credentials.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,MAAM,oBAAoB,GAAG,uCAAuC,CAAC;AA4B5E,MAAM,OAAO,WAAY,SAAQ,OAAO,CAAC,OAAO,EAG7C,CAAC,qBAAqB,CAAC;CAAG;AAE7B,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC;IACjC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACpE,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACxE,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,oBAAoB,CAAC;IACvD,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;CAC5E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAC7C,WAAW,EACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAClC,MAAM,CAAC,QAAQ,CACb,GAAG,EAAE,CACH,IAAI,WAAW,CAAC;QACd,OAAO,EAAE,qDAAqD;KAC/D,CAAC,CACL,CACF,CAAC;IAEF,MAAM,QAAQ,GACZ,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC;QACtC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC;YAC5B,OAAO,EACL,uEAAuE;SAC1E,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAEhE,OAAO;QACL,QAAQ;QACR,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAChD,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;QACpE,UAAU,EAAE,oBAAoB;KACjC,CAAC;AACJ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CACtB,CAAC"}
|