@distilled.cloud/coinbase 0.30.3 → 1.0.0-rc.10

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.
Files changed (633) hide show
  1. package/LICENSE +201 -0
  2. package/lib/credentials.d.ts.map +1 -1
  3. package/lib/credentials.js +12 -4
  4. package/lib/credentials.js.map +1 -1
  5. package/lib/errors.d.ts +17 -2
  6. package/lib/errors.d.ts.map +1 -1
  7. package/lib/errors.js +52 -52
  8. package/lib/errors.js.map +1 -1
  9. package/lib/index.d.ts +8 -6
  10. package/lib/index.d.ts.map +1 -1
  11. package/lib/index.js +8 -6
  12. package/lib/index.js.map +1 -1
  13. package/lib/protocol.d.ts +24 -0
  14. package/lib/protocol.d.ts.map +1 -0
  15. package/lib/{client.js → protocol.js} +107 -46
  16. package/lib/protocol.js.map +1 -0
  17. package/lib/retry.d.ts +4 -4
  18. package/lib/retry.js +4 -4
  19. package/lib/services/cdp.d.ts +6525 -0
  20. package/lib/services/cdp.d.ts.map +1 -0
  21. package/lib/services/cdp.js +5465 -0
  22. package/lib/services/cdp.js.map +1 -0
  23. package/lib/services/index.d.ts +2 -0
  24. package/lib/services/index.d.ts.map +1 -0
  25. package/lib/services/index.js +3 -0
  26. package/lib/services/index.js.map +1 -0
  27. package/lib/traits.d.ts +8 -2
  28. package/lib/traits.d.ts.map +1 -1
  29. package/lib/traits.js +8 -2
  30. package/lib/traits.js.map +1 -1
  31. package/package.json +35 -46
  32. package/src/credentials.ts +12 -4
  33. package/src/errors.ts +143 -53
  34. package/src/index.ts +12 -6
  35. package/src/{client.ts → protocol.ts} +163 -52
  36. package/src/retry.ts +4 -4
  37. package/src/services/cdp.ts +15244 -0
  38. package/src/services/index.ts +2 -0
  39. package/src/traits.ts +42 -2
  40. package/README.md +0 -78
  41. package/lib/category.d.ts +0 -5
  42. package/lib/category.d.ts.map +0 -1
  43. package/lib/category.js +0 -5
  44. package/lib/category.js.map +0 -1
  45. package/lib/client.d.ts +0 -13
  46. package/lib/client.d.ts.map +0 -1
  47. package/lib/client.js.map +0 -1
  48. package/lib/operations/addEndUserEvmAccount.d.ts +0 -30
  49. package/lib/operations/addEndUserEvmAccount.d.ts.map +0 -1
  50. package/lib/operations/addEndUserEvmAccount.js +0 -36
  51. package/lib/operations/addEndUserEvmAccount.js.map +0 -1
  52. package/lib/operations/addEndUserEvmSmartAccount.d.ts +0 -32
  53. package/lib/operations/addEndUserEvmSmartAccount.d.ts.map +0 -1
  54. package/lib/operations/addEndUserEvmSmartAccount.js +0 -41
  55. package/lib/operations/addEndUserEvmSmartAccount.js.map +0 -1
  56. package/lib/operations/addEndUserSolanaAccount.d.ts +0 -30
  57. package/lib/operations/addEndUserSolanaAccount.d.ts.map +0 -1
  58. package/lib/operations/addEndUserSolanaAccount.js +0 -36
  59. package/lib/operations/addEndUserSolanaAccount.js.map +0 -1
  60. package/lib/operations/createDelegationForEndUserAccount.d.ts +0 -34
  61. package/lib/operations/createDelegationForEndUserAccount.d.ts.map +0 -1
  62. package/lib/operations/createDelegationForEndUserAccount.js +0 -44
  63. package/lib/operations/createDelegationForEndUserAccount.js.map +0 -1
  64. package/lib/operations/createDepositDestination.d.ts +0 -34
  65. package/lib/operations/createDepositDestination.d.ts.map +0 -1
  66. package/lib/operations/createDepositDestination.js +0 -50
  67. package/lib/operations/createDepositDestination.js.map +0 -1
  68. package/lib/operations/createEndUser.d.ts +0 -115
  69. package/lib/operations/createEndUser.d.ts.map +0 -1
  70. package/lib/operations/createEndUser.js +0 -133
  71. package/lib/operations/createEndUser.js.map +0 -1
  72. package/lib/operations/createEvmAccount.d.ts +0 -30
  73. package/lib/operations/createEvmAccount.d.ts.map +0 -1
  74. package/lib/operations/createEvmAccount.js +0 -34
  75. package/lib/operations/createEvmAccount.js.map +0 -1
  76. package/lib/operations/createEvmEip7702Delegation.d.ts +0 -34
  77. package/lib/operations/createEvmEip7702Delegation.d.ts.map +0 -1
  78. package/lib/operations/createEvmEip7702Delegation.js +0 -51
  79. package/lib/operations/createEvmEip7702Delegation.js.map +0 -1
  80. package/lib/operations/createEvmEip7702DelegationWithEndUserAccount.d.ts +0 -42
  81. package/lib/operations/createEvmEip7702DelegationWithEndUserAccount.d.ts.map +0 -1
  82. package/lib/operations/createEvmEip7702DelegationWithEndUserAccount.js +0 -60
  83. package/lib/operations/createEvmEip7702DelegationWithEndUserAccount.js.map +0 -1
  84. package/lib/operations/createEvmSmartAccount.d.ts +0 -27
  85. package/lib/operations/createEvmSmartAccount.d.ts.map +0 -1
  86. package/lib/operations/createEvmSmartAccount.js +0 -33
  87. package/lib/operations/createEvmSmartAccount.js.map +0 -1
  88. package/lib/operations/createEvmSwapQuote.d.ts +0 -80
  89. package/lib/operations/createEvmSwapQuote.d.ts.map +0 -1
  90. package/lib/operations/createEvmSwapQuote.js +0 -95
  91. package/lib/operations/createEvmSwapQuote.js.map +0 -1
  92. package/lib/operations/createFoundationAccount.d.ts +0 -26
  93. package/lib/operations/createFoundationAccount.d.ts.map +0 -1
  94. package/lib/operations/createFoundationAccount.js +0 -32
  95. package/lib/operations/createFoundationAccount.js.map +0 -1
  96. package/lib/operations/createOnrampOrder.d.ts +0 -60
  97. package/lib/operations/createOnrampOrder.d.ts.map +0 -1
  98. package/lib/operations/createOnrampOrder.js +0 -79
  99. package/lib/operations/createOnrampOrder.js.map +0 -1
  100. package/lib/operations/createOnrampSession.d.ts +0 -55
  101. package/lib/operations/createOnrampSession.d.ts.map +0 -1
  102. package/lib/operations/createOnrampSession.js +0 -68
  103. package/lib/operations/createOnrampSession.js.map +0 -1
  104. package/lib/operations/createPolicy.d.ts +0 -28
  105. package/lib/operations/createPolicy.d.ts.map +0 -1
  106. package/lib/operations/createPolicy.js +0 -32
  107. package/lib/operations/createPolicy.js.map +0 -1
  108. package/lib/operations/createSolanaAccount.d.ts +0 -30
  109. package/lib/operations/createSolanaAccount.d.ts.map +0 -1
  110. package/lib/operations/createSolanaAccount.js +0 -36
  111. package/lib/operations/createSolanaAccount.js.map +0 -1
  112. package/lib/operations/createSpendPermission.d.ts +0 -56
  113. package/lib/operations/createSpendPermission.d.ts.map +0 -1
  114. package/lib/operations/createSpendPermission.js +0 -92
  115. package/lib/operations/createSpendPermission.js.map +0 -1
  116. package/lib/operations/createTransfer.d.ts +0 -178
  117. package/lib/operations/createTransfer.d.ts.map +0 -1
  118. package/lib/operations/createTransfer.js +0 -244
  119. package/lib/operations/createTransfer.js.map +0 -1
  120. package/lib/operations/createWebhookSubscription.d.ts +0 -54
  121. package/lib/operations/createWebhookSubscription.d.ts.map +0 -1
  122. package/lib/operations/createWebhookSubscription.js +0 -109
  123. package/lib/operations/createWebhookSubscription.js.map +0 -1
  124. package/lib/operations/deletePolicy.d.ts +0 -20
  125. package/lib/operations/deletePolicy.d.ts.map +0 -1
  126. package/lib/operations/deletePolicy.js +0 -25
  127. package/lib/operations/deletePolicy.js.map +0 -1
  128. package/lib/operations/deleteWebhookSubscription.d.ts +0 -21
  129. package/lib/operations/deleteWebhookSubscription.d.ts.map +0 -1
  130. package/lib/operations/deleteWebhookSubscription.js +0 -30
  131. package/lib/operations/deleteWebhookSubscription.js.map +0 -1
  132. package/lib/operations/executeFundTransfer.d.ts +0 -103
  133. package/lib/operations/executeFundTransfer.d.ts.map +0 -1
  134. package/lib/operations/executeFundTransfer.js +0 -152
  135. package/lib/operations/executeFundTransfer.js.map +0 -1
  136. package/lib/operations/exportEvmAccount.d.ts +0 -27
  137. package/lib/operations/exportEvmAccount.d.ts.map +0 -1
  138. package/lib/operations/exportEvmAccount.js +0 -31
  139. package/lib/operations/exportEvmAccount.js.map +0 -1
  140. package/lib/operations/exportEvmAccountByName.d.ts +0 -27
  141. package/lib/operations/exportEvmAccountByName.d.ts.map +0 -1
  142. package/lib/operations/exportEvmAccountByName.js +0 -33
  143. package/lib/operations/exportEvmAccountByName.js.map +0 -1
  144. package/lib/operations/exportSolanaAccount.d.ts +0 -27
  145. package/lib/operations/exportSolanaAccount.d.ts.map +0 -1
  146. package/lib/operations/exportSolanaAccount.js +0 -33
  147. package/lib/operations/exportSolanaAccount.js.map +0 -1
  148. package/lib/operations/exportSolanaAccountByName.d.ts +0 -27
  149. package/lib/operations/exportSolanaAccountByName.d.ts.map +0 -1
  150. package/lib/operations/exportSolanaAccountByName.js +0 -36
  151. package/lib/operations/exportSolanaAccountByName.js.map +0 -1
  152. package/lib/operations/getBalanceByAsset.d.ts +0 -29
  153. package/lib/operations/getBalanceByAsset.d.ts.map +0 -1
  154. package/lib/operations/getBalanceByAsset.js +0 -34
  155. package/lib/operations/getBalanceByAsset.js.map +0 -1
  156. package/lib/operations/getDelegationForEndUser.d.ts +0 -20
  157. package/lib/operations/getDelegationForEndUser.d.ts.map +0 -1
  158. package/lib/operations/getDelegationForEndUser.js +0 -29
  159. package/lib/operations/getDelegationForEndUser.js.map +0 -1
  160. package/lib/operations/getDelegationForEndUserAccount.d.ts +0 -23
  161. package/lib/operations/getDelegationForEndUserAccount.d.ts.map +0 -1
  162. package/lib/operations/getDelegationForEndUserAccount.js +0 -33
  163. package/lib/operations/getDelegationForEndUserAccount.js.map +0 -1
  164. package/lib/operations/getDepositDestinationById.d.ts +0 -32
  165. package/lib/operations/getDepositDestinationById.d.ts.map +0 -1
  166. package/lib/operations/getDepositDestinationById.js +0 -52
  167. package/lib/operations/getDepositDestinationById.js.map +0 -1
  168. package/lib/operations/getEndUser.d.ts +0 -73
  169. package/lib/operations/getEndUser.d.ts.map +0 -1
  170. package/lib/operations/getEndUser.js +0 -84
  171. package/lib/operations/getEndUser.js.map +0 -1
  172. package/lib/operations/getEvmAccount.d.ts +0 -22
  173. package/lib/operations/getEvmAccount.d.ts.map +0 -1
  174. package/lib/operations/getEvmAccount.js +0 -26
  175. package/lib/operations/getEvmAccount.js.map +0 -1
  176. package/lib/operations/getEvmAccountByName.d.ts +0 -22
  177. package/lib/operations/getEvmAccountByName.d.ts.map +0 -1
  178. package/lib/operations/getEvmAccountByName.js +0 -28
  179. package/lib/operations/getEvmAccountByName.js.map +0 -1
  180. package/lib/operations/getEvmEip7702DelegationOperationById.d.ts +0 -22
  181. package/lib/operations/getEvmEip7702DelegationOperationById.d.ts.map +0 -1
  182. package/lib/operations/getEvmEip7702DelegationOperationById.js +0 -46
  183. package/lib/operations/getEvmEip7702DelegationOperationById.js.map +0 -1
  184. package/lib/operations/getEvmSmartAccount.d.ts +0 -23
  185. package/lib/operations/getEvmSmartAccount.d.ts.map +0 -1
  186. package/lib/operations/getEvmSmartAccount.js +0 -29
  187. package/lib/operations/getEvmSmartAccount.js.map +0 -1
  188. package/lib/operations/getEvmSmartAccountByName.d.ts +0 -23
  189. package/lib/operations/getEvmSmartAccountByName.d.ts.map +0 -1
  190. package/lib/operations/getEvmSmartAccountByName.js +0 -29
  191. package/lib/operations/getEvmSmartAccountByName.js.map +0 -1
  192. package/lib/operations/getEvmSwapPrice.d.ts +0 -55
  193. package/lib/operations/getEvmSwapPrice.d.ts.map +0 -1
  194. package/lib/operations/getEvmSwapPrice.js +0 -62
  195. package/lib/operations/getEvmSwapPrice.js.map +0 -1
  196. package/lib/operations/getFoundationAccountById.d.ts +0 -23
  197. package/lib/operations/getFoundationAccountById.d.ts.map +0 -1
  198. package/lib/operations/getFoundationAccountById.js +0 -29
  199. package/lib/operations/getFoundationAccountById.js.map +0 -1
  200. package/lib/operations/getOnrampOrderById.d.ts +0 -39
  201. package/lib/operations/getOnrampOrderById.d.ts.map +0 -1
  202. package/lib/operations/getOnrampOrderById.js +0 -54
  203. package/lib/operations/getOnrampOrderById.js.map +0 -1
  204. package/lib/operations/getOnrampUserLimits.d.ts +0 -24
  205. package/lib/operations/getOnrampUserLimits.d.ts.map +0 -1
  206. package/lib/operations/getOnrampUserLimits.js +0 -36
  207. package/lib/operations/getOnrampUserLimits.js.map +0 -1
  208. package/lib/operations/getPaymentMethod.d.ts +0 -53
  209. package/lib/operations/getPaymentMethod.d.ts.map +0 -1
  210. package/lib/operations/getPaymentMethod.js +0 -61
  211. package/lib/operations/getPaymentMethod.js.map +0 -1
  212. package/lib/operations/getPolicyById.d.ts +0 -23
  213. package/lib/operations/getPolicyById.d.ts.map +0 -1
  214. package/lib/operations/getPolicyById.js +0 -27
  215. package/lib/operations/getPolicyById.js.map +0 -1
  216. package/lib/operations/getSQLGrammar.d.ts +0 -16
  217. package/lib/operations/getSQLGrammar.d.ts.map +0 -1
  218. package/lib/operations/getSQLGrammar.js +0 -20
  219. package/lib/operations/getSQLGrammar.js.map +0 -1
  220. package/lib/operations/getSQLSchema.d.ts +0 -31
  221. package/lib/operations/getSQLSchema.d.ts.map +0 -1
  222. package/lib/operations/getSQLSchema.js +0 -35
  223. package/lib/operations/getSQLSchema.js.map +0 -1
  224. package/lib/operations/getSolanaAccount.d.ts +0 -22
  225. package/lib/operations/getSolanaAccount.d.ts.map +0 -1
  226. package/lib/operations/getSolanaAccount.js +0 -26
  227. package/lib/operations/getSolanaAccount.js.map +0 -1
  228. package/lib/operations/getSolanaAccountByName.d.ts +0 -22
  229. package/lib/operations/getSolanaAccountByName.d.ts.map +0 -1
  230. package/lib/operations/getSolanaAccountByName.js +0 -28
  231. package/lib/operations/getSolanaAccountByName.js.map +0 -1
  232. package/lib/operations/getTransferById.d.ts +0 -99
  233. package/lib/operations/getTransferById.d.ts.map +0 -1
  234. package/lib/operations/getTransferById.js +0 -146
  235. package/lib/operations/getTransferById.js.map +0 -1
  236. package/lib/operations/getUserOperation.d.ts +0 -40
  237. package/lib/operations/getUserOperation.d.ts.map +0 -1
  238. package/lib/operations/getUserOperation.js +0 -65
  239. package/lib/operations/getUserOperation.js.map +0 -1
  240. package/lib/operations/getWebhookSubscription.d.ts +0 -39
  241. package/lib/operations/getWebhookSubscription.d.ts.map +0 -1
  242. package/lib/operations/getWebhookSubscription.js +0 -73
  243. package/lib/operations/getWebhookSubscription.js.map +0 -1
  244. package/lib/operations/importEndUser.d.ts +0 -110
  245. package/lib/operations/importEndUser.d.ts.map +0 -1
  246. package/lib/operations/importEndUser.js +0 -128
  247. package/lib/operations/importEndUser.js.map +0 -1
  248. package/lib/operations/importEvmAccount.d.ts +0 -31
  249. package/lib/operations/importEvmAccount.d.ts.map +0 -1
  250. package/lib/operations/importEvmAccount.js +0 -35
  251. package/lib/operations/importEvmAccount.js.map +0 -1
  252. package/lib/operations/importSolanaAccount.d.ts +0 -30
  253. package/lib/operations/importSolanaAccount.d.ts.map +0 -1
  254. package/lib/operations/importSolanaAccount.js +0 -36
  255. package/lib/operations/importSolanaAccount.js.map +0 -1
  256. package/lib/operations/index.d.ts +0 -116
  257. package/lib/operations/index.d.ts.map +0 -1
  258. package/lib/operations/index.js +0 -116
  259. package/lib/operations/index.js.map +0 -1
  260. package/lib/operations/initiateOnrampVerification.d.ts +0 -24
  261. package/lib/operations/initiateOnrampVerification.d.ts.map +0 -1
  262. package/lib/operations/initiateOnrampVerification.js +0 -30
  263. package/lib/operations/initiateOnrampVerification.js.map +0 -1
  264. package/lib/operations/listBalances.d.ts +0 -34
  265. package/lib/operations/listBalances.d.ts.map +0 -1
  266. package/lib/operations/listBalances.js +0 -38
  267. package/lib/operations/listBalances.js.map +0 -1
  268. package/lib/operations/listDataTokenBalances.d.ts +0 -37
  269. package/lib/operations/listDataTokenBalances.d.ts.map +0 -1
  270. package/lib/operations/listDataTokenBalances.js +0 -46
  271. package/lib/operations/listDataTokenBalances.js.map +0 -1
  272. package/lib/operations/listDepositDestinations.d.ts +0 -45
  273. package/lib/operations/listDepositDestinations.d.ts.map +0 -1
  274. package/lib/operations/listDepositDestinations.js +0 -62
  275. package/lib/operations/listDepositDestinations.js.map +0 -1
  276. package/lib/operations/listEndUsers.d.ts +0 -80
  277. package/lib/operations/listEndUsers.d.ts.map +0 -1
  278. package/lib/operations/listEndUsers.js +0 -103
  279. package/lib/operations/listEndUsers.js.map +0 -1
  280. package/lib/operations/listEvmAccounts.d.ts +0 -28
  281. package/lib/operations/listEvmAccounts.d.ts.map +0 -1
  282. package/lib/operations/listEvmAccounts.js +0 -32
  283. package/lib/operations/listEvmAccounts.js.map +0 -1
  284. package/lib/operations/listEvmSmartAccounts.d.ts +0 -29
  285. package/lib/operations/listEvmSmartAccounts.d.ts.map +0 -1
  286. package/lib/operations/listEvmSmartAccounts.js +0 -35
  287. package/lib/operations/listEvmSmartAccounts.js.map +0 -1
  288. package/lib/operations/listEvmTokenBalances.d.ts +0 -37
  289. package/lib/operations/listEvmTokenBalances.d.ts.map +0 -1
  290. package/lib/operations/listEvmTokenBalances.js +0 -46
  291. package/lib/operations/listEvmTokenBalances.js.map +0 -1
  292. package/lib/operations/listFoundationAccounts.d.ts +0 -30
  293. package/lib/operations/listFoundationAccounts.d.ts.map +0 -1
  294. package/lib/operations/listFoundationAccounts.js +0 -36
  295. package/lib/operations/listFoundationAccounts.js.map +0 -1
  296. package/lib/operations/listPaymentMethods.d.ts +0 -63
  297. package/lib/operations/listPaymentMethods.d.ts.map +0 -1
  298. package/lib/operations/listPaymentMethods.js +0 -73
  299. package/lib/operations/listPaymentMethods.js.map +0 -1
  300. package/lib/operations/listPolicies.d.ts +0 -31
  301. package/lib/operations/listPolicies.d.ts.map +0 -1
  302. package/lib/operations/listPolicies.js +0 -35
  303. package/lib/operations/listPolicies.js.map +0 -1
  304. package/lib/operations/listSolanaAccounts.d.ts +0 -29
  305. package/lib/operations/listSolanaAccounts.d.ts.map +0 -1
  306. package/lib/operations/listSolanaAccounts.js +0 -35
  307. package/lib/operations/listSolanaAccounts.js.map +0 -1
  308. package/lib/operations/listSolanaTokenBalances.d.ts +0 -36
  309. package/lib/operations/listSolanaTokenBalances.d.ts.map +0 -1
  310. package/lib/operations/listSolanaTokenBalances.js +0 -45
  311. package/lib/operations/listSolanaTokenBalances.js.map +0 -1
  312. package/lib/operations/listSpendPermissions.d.ts +0 -40
  313. package/lib/operations/listSpendPermissions.d.ts.map +0 -1
  314. package/lib/operations/listSpendPermissions.js +0 -58
  315. package/lib/operations/listSpendPermissions.js.map +0 -1
  316. package/lib/operations/listTokensForAccount.d.ts +0 -23
  317. package/lib/operations/listTokensForAccount.d.ts.map +0 -1
  318. package/lib/operations/listTokensForAccount.js +0 -32
  319. package/lib/operations/listTokensForAccount.js.map +0 -1
  320. package/lib/operations/listTransfers.d.ts +0 -153
  321. package/lib/operations/listTransfers.d.ts.map +0 -1
  322. package/lib/operations/listTransfers.js +0 -205
  323. package/lib/operations/listTransfers.js.map +0 -1
  324. package/lib/operations/listWebhookSubscriptionEvents.d.ts +0 -52
  325. package/lib/operations/listWebhookSubscriptionEvents.d.ts.map +0 -1
  326. package/lib/operations/listWebhookSubscriptionEvents.js +0 -68
  327. package/lib/operations/listWebhookSubscriptionEvents.js.map +0 -1
  328. package/lib/operations/listWebhookSubscriptions.d.ts +0 -44
  329. package/lib/operations/listWebhookSubscriptions.d.ts.map +0 -1
  330. package/lib/operations/listWebhookSubscriptions.js +0 -75
  331. package/lib/operations/listWebhookSubscriptions.js.map +0 -1
  332. package/lib/operations/listX402DiscoveryMerchant.d.ts +0 -69
  333. package/lib/operations/listX402DiscoveryMerchant.d.ts.map +0 -1
  334. package/lib/operations/listX402DiscoveryMerchant.js +0 -92
  335. package/lib/operations/listX402DiscoveryMerchant.js.map +0 -1
  336. package/lib/operations/listX402DiscoveryResources.d.ts +0 -67
  337. package/lib/operations/listX402DiscoveryResources.d.ts.map +0 -1
  338. package/lib/operations/listX402DiscoveryResources.js +0 -90
  339. package/lib/operations/listX402DiscoveryResources.js.map +0 -1
  340. package/lib/operations/lookupEndUser.d.ts +0 -93
  341. package/lib/operations/lookupEndUser.d.ts.map +0 -1
  342. package/lib/operations/lookupEndUser.js +0 -116
  343. package/lib/operations/lookupEndUser.js.map +0 -1
  344. package/lib/operations/postX402DiscoveryMcp.d.ts +0 -26
  345. package/lib/operations/postX402DiscoveryMcp.d.ts.map +0 -1
  346. package/lib/operations/postX402DiscoveryMcp.js +0 -32
  347. package/lib/operations/postX402DiscoveryMcp.js.map +0 -1
  348. package/lib/operations/prepareAndSendUserOperation.d.ts +0 -55
  349. package/lib/operations/prepareAndSendUserOperation.d.ts.map +0 -1
  350. package/lib/operations/prepareAndSendUserOperation.js +0 -93
  351. package/lib/operations/prepareAndSendUserOperation.js.map +0 -1
  352. package/lib/operations/prepareUserOperation.d.ts +0 -48
  353. package/lib/operations/prepareUserOperation.d.ts.map +0 -1
  354. package/lib/operations/prepareUserOperation.js +0 -86
  355. package/lib/operations/prepareUserOperation.js.map +0 -1
  356. package/lib/operations/requestEvmFaucet.d.ts +0 -22
  357. package/lib/operations/requestEvmFaucet.d.ts.map +0 -1
  358. package/lib/operations/requestEvmFaucet.js +0 -30
  359. package/lib/operations/requestEvmFaucet.js.map +0 -1
  360. package/lib/operations/requestLimitsUpgrade.d.ts +0 -29
  361. package/lib/operations/requestLimitsUpgrade.d.ts.map +0 -1
  362. package/lib/operations/requestLimitsUpgrade.js +0 -35
  363. package/lib/operations/requestLimitsUpgrade.js.map +0 -1
  364. package/lib/operations/requestSolanaFaucet.d.ts +0 -21
  365. package/lib/operations/requestSolanaFaucet.d.ts.map +0 -1
  366. package/lib/operations/requestSolanaFaucet.js +0 -27
  367. package/lib/operations/requestSolanaFaucet.js.map +0 -1
  368. package/lib/operations/revokeDelegationForEndUser.d.ts +0 -31
  369. package/lib/operations/revokeDelegationForEndUser.d.ts.map +0 -1
  370. package/lib/operations/revokeDelegationForEndUser.js +0 -40
  371. package/lib/operations/revokeDelegationForEndUser.js.map +0 -1
  372. package/lib/operations/revokeDelegationForEndUserAccount.d.ts +0 -34
  373. package/lib/operations/revokeDelegationForEndUserAccount.d.ts.map +0 -1
  374. package/lib/operations/revokeDelegationForEndUserAccount.js +0 -44
  375. package/lib/operations/revokeDelegationForEndUserAccount.js.map +0 -1
  376. package/lib/operations/revokeSpendPermission.d.ts +0 -49
  377. package/lib/operations/revokeSpendPermission.d.ts.map +0 -1
  378. package/lib/operations/revokeSpendPermission.js +0 -85
  379. package/lib/operations/revokeSpendPermission.js.map +0 -1
  380. package/lib/operations/runSQLQuery.d.ts +0 -57
  381. package/lib/operations/runSQLQuery.d.ts.map +0 -1
  382. package/lib/operations/runSQLQuery.js +0 -82
  383. package/lib/operations/runSQLQuery.js.map +0 -1
  384. package/lib/operations/searchX402Resources.d.ts +0 -83
  385. package/lib/operations/searchX402Resources.d.ts.map +0 -1
  386. package/lib/operations/searchX402Resources.js +0 -106
  387. package/lib/operations/searchX402Resources.js.map +0 -1
  388. package/lib/operations/sendEvmAssetWithEndUserAccount.d.ts +0 -45
  389. package/lib/operations/sendEvmAssetWithEndUserAccount.d.ts.map +0 -1
  390. package/lib/operations/sendEvmAssetWithEndUserAccount.js +0 -67
  391. package/lib/operations/sendEvmAssetWithEndUserAccount.js.map +0 -1
  392. package/lib/operations/sendEvmTransaction.d.ts +0 -44
  393. package/lib/operations/sendEvmTransaction.d.ts.map +0 -1
  394. package/lib/operations/sendEvmTransaction.js +0 -65
  395. package/lib/operations/sendEvmTransaction.js.map +0 -1
  396. package/lib/operations/sendEvmTransactionWithEndUserAccount.d.ts +0 -52
  397. package/lib/operations/sendEvmTransactionWithEndUserAccount.d.ts.map +0 -1
  398. package/lib/operations/sendEvmTransactionWithEndUserAccount.js +0 -74
  399. package/lib/operations/sendEvmTransactionWithEndUserAccount.js.map +0 -1
  400. package/lib/operations/sendSolanaAssetWithEndUserAccount.d.ts +0 -44
  401. package/lib/operations/sendSolanaAssetWithEndUserAccount.d.ts.map +0 -1
  402. package/lib/operations/sendSolanaAssetWithEndUserAccount.js +0 -54
  403. package/lib/operations/sendSolanaAssetWithEndUserAccount.js.map +0 -1
  404. package/lib/operations/sendSolanaTransaction.d.ts +0 -39
  405. package/lib/operations/sendSolanaTransaction.d.ts.map +0 -1
  406. package/lib/operations/sendSolanaTransaction.js +0 -45
  407. package/lib/operations/sendSolanaTransaction.js.map +0 -1
  408. package/lib/operations/sendSolanaTransactionWithEndUserAccount.d.ts +0 -50
  409. package/lib/operations/sendSolanaTransactionWithEndUserAccount.d.ts.map +0 -1
  410. package/lib/operations/sendSolanaTransactionWithEndUserAccount.js +0 -60
  411. package/lib/operations/sendSolanaTransactionWithEndUserAccount.js.map +0 -1
  412. package/lib/operations/sendUserOperation.d.ts +0 -44
  413. package/lib/operations/sendUserOperation.d.ts.map +0 -1
  414. package/lib/operations/sendUserOperation.js +0 -70
  415. package/lib/operations/sendUserOperation.js.map +0 -1
  416. package/lib/operations/sendUserOperationWithEndUserAccount.d.ts +0 -66
  417. package/lib/operations/sendUserOperationWithEndUserAccount.d.ts.map +0 -1
  418. package/lib/operations/sendUserOperationWithEndUserAccount.js +0 -105
  419. package/lib/operations/sendUserOperationWithEndUserAccount.js.map +0 -1
  420. package/lib/operations/settleX402Payment.d.ts +0 -245
  421. package/lib/operations/settleX402Payment.d.ts.map +0 -1
  422. package/lib/operations/settleX402Payment.js +0 -355
  423. package/lib/operations/settleX402Payment.js.map +0 -1
  424. package/lib/operations/signEvmHash.d.ts +0 -27
  425. package/lib/operations/signEvmHash.d.ts.map +0 -1
  426. package/lib/operations/signEvmHash.js +0 -31
  427. package/lib/operations/signEvmHash.js.map +0 -1
  428. package/lib/operations/signEvmMessage.d.ts +0 -28
  429. package/lib/operations/signEvmMessage.d.ts.map +0 -1
  430. package/lib/operations/signEvmMessage.js +0 -32
  431. package/lib/operations/signEvmMessage.js.map +0 -1
  432. package/lib/operations/signEvmMessageWithEndUserAccount.d.ts +0 -36
  433. package/lib/operations/signEvmMessageWithEndUserAccount.d.ts.map +0 -1
  434. package/lib/operations/signEvmMessageWithEndUserAccount.js +0 -46
  435. package/lib/operations/signEvmMessageWithEndUserAccount.js.map +0 -1
  436. package/lib/operations/signEvmTransaction.d.ts +0 -29
  437. package/lib/operations/signEvmTransaction.d.ts.map +0 -1
  438. package/lib/operations/signEvmTransaction.js +0 -38
  439. package/lib/operations/signEvmTransaction.js.map +0 -1
  440. package/lib/operations/signEvmTransactionWithEndUserAccount.d.ts +0 -37
  441. package/lib/operations/signEvmTransactionWithEndUserAccount.d.ts.map +0 -1
  442. package/lib/operations/signEvmTransactionWithEndUserAccount.js +0 -47
  443. package/lib/operations/signEvmTransactionWithEndUserAccount.js.map +0 -1
  444. package/lib/operations/signEvmTypedData.d.ts +0 -36
  445. package/lib/operations/signEvmTypedData.d.ts.map +0 -1
  446. package/lib/operations/signEvmTypedData.js +0 -43
  447. package/lib/operations/signEvmTypedData.js.map +0 -1
  448. package/lib/operations/signEvmTypedDataWithEndUserAccount.d.ts +0 -46
  449. package/lib/operations/signEvmTypedDataWithEndUserAccount.d.ts.map +0 -1
  450. package/lib/operations/signEvmTypedDataWithEndUserAccount.js +0 -56
  451. package/lib/operations/signEvmTypedDataWithEndUserAccount.js.map +0 -1
  452. package/lib/operations/signSolanaMessage.d.ts +0 -28
  453. package/lib/operations/signSolanaMessage.d.ts.map +0 -1
  454. package/lib/operations/signSolanaMessage.js +0 -36
  455. package/lib/operations/signSolanaMessage.js.map +0 -1
  456. package/lib/operations/signSolanaMessageWithEndUserAccount.d.ts +0 -36
  457. package/lib/operations/signSolanaMessageWithEndUserAccount.d.ts.map +0 -1
  458. package/lib/operations/signSolanaMessageWithEndUserAccount.js +0 -46
  459. package/lib/operations/signSolanaMessageWithEndUserAccount.js.map +0 -1
  460. package/lib/operations/signSolanaTransaction.d.ts +0 -33
  461. package/lib/operations/signSolanaTransaction.d.ts.map +0 -1
  462. package/lib/operations/signSolanaTransaction.js +0 -42
  463. package/lib/operations/signSolanaTransaction.js.map +0 -1
  464. package/lib/operations/signSolanaTransactionWithEndUserAccount.d.ts +0 -41
  465. package/lib/operations/signSolanaTransactionWithEndUserAccount.d.ts.map +0 -1
  466. package/lib/operations/signSolanaTransactionWithEndUserAccount.js +0 -51
  467. package/lib/operations/signSolanaTransactionWithEndUserAccount.js.map +0 -1
  468. package/lib/operations/submitDepositTravelRule.d.ts +0 -52
  469. package/lib/operations/submitDepositTravelRule.d.ts.map +0 -1
  470. package/lib/operations/submitDepositTravelRule.js +0 -58
  471. package/lib/operations/submitDepositTravelRule.js.map +0 -1
  472. package/lib/operations/submitOnrampVerification.d.ts +0 -26
  473. package/lib/operations/submitOnrampVerification.d.ts.map +0 -1
  474. package/lib/operations/submitOnrampVerification.js +0 -35
  475. package/lib/operations/submitOnrampVerification.js.map +0 -1
  476. package/lib/operations/supportedX402PaymentKinds.d.ts +0 -22
  477. package/lib/operations/supportedX402PaymentKinds.d.ts.map +0 -1
  478. package/lib/operations/supportedX402PaymentKinds.js +0 -40
  479. package/lib/operations/supportedX402PaymentKinds.js.map +0 -1
  480. package/lib/operations/updateEvmAccount.d.ts +0 -28
  481. package/lib/operations/updateEvmAccount.d.ts.map +0 -1
  482. package/lib/operations/updateEvmAccount.js +0 -32
  483. package/lib/operations/updateEvmAccount.js.map +0 -1
  484. package/lib/operations/updateEvmSmartAccount.d.ts +0 -24
  485. package/lib/operations/updateEvmSmartAccount.d.ts.map +0 -1
  486. package/lib/operations/updateEvmSmartAccount.js +0 -30
  487. package/lib/operations/updateEvmSmartAccount.js.map +0 -1
  488. package/lib/operations/updatePolicy.d.ts +0 -29
  489. package/lib/operations/updatePolicy.d.ts.map +0 -1
  490. package/lib/operations/updatePolicy.js +0 -33
  491. package/lib/operations/updatePolicy.js.map +0 -1
  492. package/lib/operations/updateSolanaAccount.d.ts +0 -28
  493. package/lib/operations/updateSolanaAccount.d.ts.map +0 -1
  494. package/lib/operations/updateSolanaAccount.js +0 -34
  495. package/lib/operations/updateSolanaAccount.js.map +0 -1
  496. package/lib/operations/updateWebhookSubscription.d.ts +0 -49
  497. package/lib/operations/updateWebhookSubscription.d.ts.map +0 -1
  498. package/lib/operations/updateWebhookSubscription.js +0 -107
  499. package/lib/operations/updateWebhookSubscription.js.map +0 -1
  500. package/lib/operations/validateEndUserAccessToken.d.ts +0 -72
  501. package/lib/operations/validateEndUserAccessToken.d.ts.map +0 -1
  502. package/lib/operations/validateEndUserAccessToken.js +0 -86
  503. package/lib/operations/validateEndUserAccessToken.js.map +0 -1
  504. package/lib/operations/validateX402Resource.d.ts +0 -64
  505. package/lib/operations/validateX402Resource.d.ts.map +0 -1
  506. package/lib/operations/validateX402Resource.js +0 -92
  507. package/lib/operations/validateX402Resource.js.map +0 -1
  508. package/lib/operations/verifyX402Payment.d.ts +0 -242
  509. package/lib/operations/verifyX402Payment.d.ts.map +0 -1
  510. package/lib/operations/verifyX402Payment.js +0 -333
  511. package/lib/operations/verifyX402Payment.js.map +0 -1
  512. package/lib/sensitive.d.ts +0 -5
  513. package/lib/sensitive.d.ts.map +0 -1
  514. package/lib/sensitive.js +0 -5
  515. package/lib/sensitive.js.map +0 -1
  516. package/src/category.ts +0 -4
  517. package/src/operations/addEndUserEvmAccount.ts +0 -48
  518. package/src/operations/addEndUserEvmSmartAccount.ts +0 -58
  519. package/src/operations/addEndUserSolanaAccount.ts +0 -48
  520. package/src/operations/createDelegationForEndUserAccount.ts +0 -60
  521. package/src/operations/createDepositDestination.ts +0 -83
  522. package/src/operations/createEndUser.ts +0 -230
  523. package/src/operations/createEvmAccount.ts +0 -51
  524. package/src/operations/createEvmEip7702Delegation.ts +0 -72
  525. package/src/operations/createEvmEip7702DelegationWithEndUserAccount.ts +0 -84
  526. package/src/operations/createEvmSmartAccount.ts +0 -51
  527. package/src/operations/createEvmSwapQuote.ts +0 -167
  528. package/src/operations/createFoundationAccount.ts +0 -49
  529. package/src/operations/createOnrampOrder.ts +0 -142
  530. package/src/operations/createOnrampSession.ts +0 -117
  531. package/src/operations/createPolicy.ts +0 -51
  532. package/src/operations/createSolanaAccount.ts +0 -53
  533. package/src/operations/createSpendPermission.ts +0 -163
  534. package/src/operations/createTransfer.ts +0 -461
  535. package/src/operations/createWebhookSubscription.ts +0 -189
  536. package/src/operations/deletePolicy.ts +0 -35
  537. package/src/operations/deleteWebhookSubscription.ts +0 -40
  538. package/src/operations/executeFundTransfer.ts +0 -282
  539. package/src/operations/exportEvmAccount.ts +0 -44
  540. package/src/operations/exportEvmAccountByName.ts +0 -46
  541. package/src/operations/exportSolanaAccount.ts +0 -46
  542. package/src/operations/exportSolanaAccountByName.ts +0 -49
  543. package/src/operations/getBalanceByAsset.ts +0 -56
  544. package/src/operations/getDelegationForEndUser.ts +0 -42
  545. package/src/operations/getDelegationForEndUserAccount.ts +0 -47
  546. package/src/operations/getDepositDestinationById.ts +0 -87
  547. package/src/operations/getEndUser.ts +0 -148
  548. package/src/operations/getEvmAccount.ts +0 -42
  549. package/src/operations/getEvmAccountByName.ts +0 -44
  550. package/src/operations/getEvmEip7702DelegationOperationById.ts +0 -69
  551. package/src/operations/getEvmSmartAccount.ts +0 -46
  552. package/src/operations/getEvmSmartAccountByName.ts +0 -46
  553. package/src/operations/getEvmSwapPrice.ts +0 -112
  554. package/src/operations/getFoundationAccountById.ts +0 -46
  555. package/src/operations/getOnrampOrderById.ts +0 -94
  556. package/src/operations/getOnrampUserLimits.ts +0 -57
  557. package/src/operations/getPaymentMethod.ts +0 -106
  558. package/src/operations/getPolicyById.ts +0 -44
  559. package/src/operations/getSQLGrammar.ts +0 -28
  560. package/src/operations/getSQLSchema.ts +0 -68
  561. package/src/operations/getSolanaAccount.ts +0 -42
  562. package/src/operations/getSolanaAccountByName.ts +0 -44
  563. package/src/operations/getTransferById.ts +0 -274
  564. package/src/operations/getUserOperation.ts +0 -119
  565. package/src/operations/getWebhookSubscription.ts +0 -122
  566. package/src/operations/importEndUser.ts +0 -218
  567. package/src/operations/importEvmAccount.ts +0 -53
  568. package/src/operations/importSolanaAccount.ts +0 -53
  569. package/src/operations/index.ts +0 -115
  570. package/src/operations/initiateOnrampVerification.ts +0 -44
  571. package/src/operations/listBalances.ts +0 -66
  572. package/src/operations/listDataTokenBalances.ts +0 -72
  573. package/src/operations/listDepositDestinations.ts +0 -107
  574. package/src/operations/listEndUsers.ts +0 -174
  575. package/src/operations/listEvmAccounts.ts +0 -54
  576. package/src/operations/listEvmSmartAccounts.ts +0 -58
  577. package/src/operations/listEvmTokenBalances.ts +0 -72
  578. package/src/operations/listFoundationAccounts.ts +0 -60
  579. package/src/operations/listPaymentMethods.ts +0 -130
  580. package/src/operations/listPolicies.ts +0 -59
  581. package/src/operations/listSolanaAccounts.ts +0 -57
  582. package/src/operations/listSolanaTokenBalances.ts +0 -66
  583. package/src/operations/listSpendPermissions.ts +0 -100
  584. package/src/operations/listTokensForAccount.ts +0 -47
  585. package/src/operations/listTransfers.ts +0 -355
  586. package/src/operations/listWebhookSubscriptionEvents.ts +0 -101
  587. package/src/operations/listWebhookSubscriptions.ts +0 -130
  588. package/src/operations/listX402DiscoveryMerchant.ts +0 -172
  589. package/src/operations/listX402DiscoveryResources.ts +0 -169
  590. package/src/operations/lookupEndUser.ts +0 -188
  591. package/src/operations/postX402DiscoveryMcp.ts +0 -54
  592. package/src/operations/prepareAndSendUserOperation.ts +0 -169
  593. package/src/operations/prepareUserOperation.ts +0 -163
  594. package/src/operations/requestEvmFaucet.ts +0 -44
  595. package/src/operations/requestLimitsUpgrade.ts +0 -54
  596. package/src/operations/requestSolanaFaucet.ts +0 -40
  597. package/src/operations/revokeDelegationForEndUser.ts +0 -52
  598. package/src/operations/revokeDelegationForEndUserAccount.ts +0 -57
  599. package/src/operations/revokeSpendPermission.ts +0 -149
  600. package/src/operations/runSQLQuery.ts +0 -141
  601. package/src/operations/searchX402Resources.ts +0 -194
  602. package/src/operations/sendEvmAssetWithEndUserAccount.ts +0 -103
  603. package/src/operations/sendEvmTransaction.ts +0 -90
  604. package/src/operations/sendEvmTransactionWithEndUserAccount.ts +0 -102
  605. package/src/operations/sendSolanaAssetWithEndUserAccount.ts +0 -75
  606. package/src/operations/sendSolanaTransaction.ts +0 -59
  607. package/src/operations/sendSolanaTransactionWithEndUserAccount.ts +0 -78
  608. package/src/operations/sendUserOperation.ts +0 -125
  609. package/src/operations/sendUserOperationWithEndUserAccount.ts +0 -186
  610. package/src/operations/settleX402Payment.ts +0 -819
  611. package/src/operations/signEvmHash.ts +0 -44
  612. package/src/operations/signEvmMessage.ts +0 -45
  613. package/src/operations/signEvmMessageWithEndUserAccount.ts +0 -62
  614. package/src/operations/signEvmTransaction.ts +0 -51
  615. package/src/operations/signEvmTransactionWithEndUserAccount.ts +0 -63
  616. package/src/operations/signEvmTypedData.ts +0 -65
  617. package/src/operations/signEvmTypedDataWithEndUserAccount.ts +0 -83
  618. package/src/operations/signSolanaMessage.ts +0 -49
  619. package/src/operations/signSolanaMessageWithEndUserAccount.ts +0 -62
  620. package/src/operations/signSolanaTransaction.ts +0 -55
  621. package/src/operations/signSolanaTransactionWithEndUserAccount.ts +0 -67
  622. package/src/operations/submitDepositTravelRule.ts +0 -101
  623. package/src/operations/submitOnrampVerification.ts +0 -49
  624. package/src/operations/supportedX402PaymentKinds.ts +0 -71
  625. package/src/operations/updateEvmAccount.ts +0 -50
  626. package/src/operations/updateEvmSmartAccount.ts +0 -48
  627. package/src/operations/updatePolicy.ts +0 -52
  628. package/src/operations/updateSolanaAccount.ts +0 -52
  629. package/src/operations/updateWebhookSubscription.ts +0 -188
  630. package/src/operations/validateEndUserAccessToken.ts +0 -150
  631. package/src/operations/validateX402Resource.ts +0 -170
  632. package/src/operations/verifyX402Payment.ts +0 -775
  633. package/src/sensitive.ts +0 -4
@@ -1,20 +1,25 @@
1
1
  /**
2
- * Coinbase CDP API Client.
2
+ * CoinbaseProtocol — hand-written.
3
3
  *
4
- * Wraps the shared REST client from sdk-core with Coinbase CDP-specific
5
- * error matching, JWT authentication, and credential handling.
4
+ * Speaks the Coinbase CDP JSON protocol. The generic request/response
5
+ * machinery (trait-driven request building, recursive wire-name mapping)
6
+ * lives in `@distilled.cloud/core/protocol-http`; this module supplies what
7
+ * is Coinbase's own:
6
8
  *
7
9
  * ## Authentication
8
10
  *
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
+ * The Coinbase CDP API uses per-request JWT bearer tokens. The JWT is signed
12
+ * with your CDP API Key Secret (ES256 or Ed25519) and includes:
11
13
  *
12
14
  * - `sub`: Your CDP API Key ID
13
15
  * - `iss`: "cdp"
16
+ * - `aud`: ["cdp_service"]
14
17
  * - `exp`: Current time + 120 seconds
18
+ * - `uri`: "METHOD host/path"
15
19
  *
16
- * Some sensitive wallet operations additionally require an `X-Wallet-Auth`
17
- * header signed with your Wallet Secret.
20
+ * Some sensitive wallet operations additionally document an `X-Wallet-Auth`
21
+ * header signed with your Wallet Secret (`Config.walletSecret`); like the
22
+ * distilled v0 client, this module does not generate that header.
18
23
  *
19
24
  * ## Error Handling
20
25
  *
@@ -28,28 +33,60 @@
28
33
  * }
29
34
  * ```
30
35
  *
31
- * Errors are dispatched first by `errorType`, then by HTTP status code.
36
+ * Errors are handled globally (no per-operation error lists), dispatched
37
+ * first by `errorType`, then by HTTP status code.
32
38
  */
33
- import { makeAPI } from "@distilled.cloud/core/client";
34
- import { parseRetryAfterForStatus } from "@distilled.cloud/core/retry-after";
35
39
  import * as Effect from "effect/Effect";
40
+ import * as Layer from "effect/Layer";
36
41
  import * as Redacted from "effect/Redacted";
37
42
  import * as Schema from "effect/Schema";
43
+ import type * as AST from "effect/SchemaAST";
38
44
  import * as crypto from "node:crypto";
45
+ import type * as HttpClient from "effect/unstable/http/HttpClient";
46
+ import type * as HttpClientError from "effect/unstable/http/HttpClientError";
47
+ import * as HttpClientRequest from "effect/unstable/http/HttpClientRequest";
48
+ import type * as HttpClientResponse from "effect/unstable/http/HttpClientResponse";
49
+ import * as API from "@distilled.cloud/core/api";
50
+ import { buildRequest, mapKeys } from "@distilled.cloud/core/protocol-http";
51
+ import {
52
+ unwrapRedactedDeep,
53
+ wrapSensitive,
54
+ } from "@distilled.cloud/core/protocol-rest";
55
+ import {
56
+ type ConfigError,
57
+ HTTP_STATUS_MAP,
58
+ } from "@distilled.cloud/core/errors";
59
+ import { parseRetryAfterForStatus } from "@distilled.cloud/core/retry-after";
39
60
  import type { Config } from "./credentials.ts";
40
61
  import { Credentials } from "./credentials.ts";
41
62
  import {
42
63
  COINBASE_HTTP_STATUS_MAP,
43
- CoinbaseParseError,
64
+ type DefaultErrors,
44
65
  ERROR_TYPE_MAP,
45
- HTTP_STATUS_MAP,
46
66
  STANDARD_ERROR_TYPE_MAP,
47
67
  UnknownCoinbaseError,
48
68
  } from "./errors.ts";
49
- import { Retry } from "./retry.ts";
50
69
 
51
- // Re-export for convenience
52
- export { UnknownCoinbaseError } from "./errors.ts";
70
+ /**
71
+ * Error channel shared by every generated Coinbase operation. Generated
72
+ * service files annotate operations with `API.OperationMethod<I, O,
73
+ * CoinbaseOpError, CoinbaseOpContext>` explicitly so the compiler never
74
+ * infers these back out of the schema generics.
75
+ */
76
+ export type CoinbaseOpError =
77
+ | DefaultErrors
78
+ | ConfigError
79
+ | HttpClientError.HttpClientError;
80
+
81
+ /** Context (requirements) shared by every generated Coinbase operation. */
82
+ export type CoinbaseOpContext = Credentials | HttpClient.HttpClient;
83
+
84
+ // Bridge: Protocol.decode is typed as Effect<unknown> (no error channel), but
85
+ // Coinbase failures are real typed errors that the operation's explicit
86
+ // `CoinbaseOpError` annotation re-surfaces. Fail with the instance and erase
87
+ // the error type here.
88
+ const fail = (e: unknown): Effect.Effect<never> =>
89
+ Effect.fail(e) as Effect.Effect<never>;
53
90
 
54
91
  // ============================================================================
55
92
  // JWT generation for Coinbase CDP API authentication
@@ -210,7 +247,8 @@ const CoinbaseErrorResponse = Schema.Struct({
210
247
  });
211
248
 
212
249
  /**
213
- * Match a Coinbase CDP API error response to the appropriate typed error class.
250
+ * Match a Coinbase CDP API error response to the appropriate typed error
251
+ * class. Ported from the distilled v0 client's `matchError`.
214
252
  *
215
253
  * Dispatches errors by:
216
254
  * 1. The `errorType` field for Coinbase-specific errors (e.g., "already_exists", "policy_violation")
@@ -218,13 +256,16 @@ const CoinbaseErrorResponse = Schema.Struct({
218
256
  * 3. Standard HTTP status codes mapped from core (400, 401, 403, 404, etc.)
219
257
  * 4. Coinbase-specific HTTP status codes (402)
220
258
  * 5. Falls back to UnknownCoinbaseError for unrecognized errors
259
+ *
260
+ * Error bodies carrying `isValid`/`success` keys are policy-validation
261
+ * results delivered with an error status — treated as success values
262
+ * (`Effect.succeed`) like the v0 client did.
221
263
  */
222
264
  const matchError = (
223
265
  status: number,
224
266
  errorBody: unknown,
225
- _errors?: readonly unknown[],
226
267
  headers?: Record<string, string | undefined>,
227
- ): Effect.Effect<unknown, unknown> => {
268
+ ): Effect.Effect<unknown> => {
228
269
  if (
229
270
  errorBody &&
230
271
  typeof errorBody === "object" &&
@@ -245,16 +286,16 @@ const matchError = (
245
286
  // 1. Match by Coinbase-specific error type first
246
287
  const TypedErrorClass = ERROR_TYPE_MAP[parsed.errorType];
247
288
  if (TypedErrorClass) {
248
- return Effect.fail(new TypedErrorClass(errorProps));
289
+ return fail(new TypedErrorClass(errorProps));
249
290
  }
250
291
 
251
292
  // 2. Match standard error types to core HTTP error classes
252
- // Maps error types like "not_found", "forbidden", "unauthorized", "invalid_request",
253
- // "rate_limit_exceeded", "internal_server_error", "bad_gateway", "service_unavailable"
254
- // to their corresponding core HTTP error classes.
293
+ // Maps error types like "not_found", "forbidden", "unauthorized",
294
+ // "invalid_request", "rate_limit_exceeded", "internal_server_error",
295
+ // "bad_gateway", "service_unavailable" to core HTTP error classes.
255
296
  const StandardErrorClass = STANDARD_ERROR_TYPE_MAP[parsed.errorType];
256
297
  if (StandardErrorClass) {
257
- return Effect.fail(
298
+ return fail(
258
299
  new StandardErrorClass({
259
300
  message: parsed.errorMessage ?? "",
260
301
  retryAfter: parseRetryAfterForStatus(status, headers),
@@ -265,7 +306,7 @@ const matchError = (
265
306
  // 3. Fall back to HTTP status code mapping from core
266
307
  const CoreErrorClass = (HTTP_STATUS_MAP as any)[status];
267
308
  if (CoreErrorClass) {
268
- return Effect.fail(
309
+ return fail(
269
310
  new CoreErrorClass({
270
311
  message: parsed.errorMessage ?? "",
271
312
  retryAfter: parseRetryAfterForStatus(status, headers),
@@ -276,49 +317,119 @@ const matchError = (
276
317
  // 4. Coinbase-specific HTTP status codes (402)
277
318
  const CoinbaseErrorClass = (COINBASE_HTTP_STATUS_MAP as any)[status];
278
319
  if (CoinbaseErrorClass) {
279
- return Effect.fail(new CoinbaseErrorClass(errorProps));
320
+ return fail(new CoinbaseErrorClass(errorProps));
280
321
  }
281
322
 
282
323
  // 5. Fall back to unknown error
283
- return Effect.fail(
324
+ return fail(
284
325
  new UnknownCoinbaseError({
285
326
  ...errorProps,
286
327
  body: errorBody,
287
328
  }),
288
329
  );
289
330
  } catch {
290
- return Effect.fail(new UnknownCoinbaseError({ body: errorBody }));
331
+ return fail(new UnknownCoinbaseError({ body: errorBody }));
291
332
  }
292
333
  };
293
334
 
294
335
  // ============================================================================
295
- // API client factory
336
+ // Protocol
296
337
  // ============================================================================
297
338
 
339
+ // The protocol layer is memoized per process by `API.make`, so the build must
340
+ // not capture credentials — `encode` resolves Credentials from the calling
341
+ // fiber's context on every request instead. Like the error channel above,
342
+ // the requirement is erased at this boundary (Protocol effects are typed with
343
+ // no requirements) and reintroduced for callers by the generated
344
+ // `CoinbaseOpContext` annotations.
345
+ const encode = ({
346
+ input,
347
+ inputAst,
348
+ }: {
349
+ readonly input: unknown;
350
+ readonly inputAst: AST.AST;
351
+ }) =>
352
+ Effect.gen(function* () {
353
+ // The Credentials service holds an effect — resolving it here (per
354
+ // request) picks up rotations. Its error channel is erased at this
355
+ // boundary; CoinbaseOpError reintroduces it for callers.
356
+ const resolveCredentials = yield* Credentials;
357
+ const creds =
358
+ (yield* resolveCredentials as Effect.Effect<Config>) as Config;
359
+
360
+ // Sensitive input members accept string | Redacted<string>; the wire
361
+ // wants the raw string.
362
+ const request = buildRequest({
363
+ input: unwrapRedactedDeep(input),
364
+ inputAst,
365
+ baseUrl: creds.apiBaseUrl,
366
+ });
367
+
368
+ // JWT `uri` claim: "METHOD host/path" — label-substituted path, no query
369
+ // string (matches the v0 client: baseUrl.host + baseUrl.pathname +
370
+ // parts.path).
371
+ const url = new URL(request.url);
372
+ const jwt = generateJwt(
373
+ creds.apiKeyId,
374
+ Redacted.value(creds.apiKeySecret),
375
+ request.method,
376
+ `${url.host}${url.pathname}`,
377
+ );
378
+ return request.pipe(
379
+ HttpClientRequest.setHeader("Authorization", `Bearer ${jwt}`),
380
+ );
381
+ });
382
+
383
+ const decode = ({
384
+ response,
385
+ outputAst,
386
+ }: {
387
+ readonly response: HttpClientResponse.HttpClientResponse;
388
+ readonly outputAst: AST.AST;
389
+ readonly errors: ReadonlyArray<unknown>;
390
+ }) =>
391
+ Effect.gen(function* () {
392
+ const text = (yield* response.text.pipe(Effect.orDie)) ?? "";
393
+ if (process.env.DISTILLED_DEBUG_HTTP) {
394
+ console.error(`[distilled] <- ${response.status} ${text.slice(0, 400)}`);
395
+ }
396
+ let json: unknown;
397
+ if (text.trim().length > 0) {
398
+ try {
399
+ json = JSON.parse(text);
400
+ } catch {
401
+ json = text;
402
+ }
403
+ }
404
+ const status = response.status;
405
+ const headers = response.headers as Record<string, string | undefined>;
406
+
407
+ if (status >= 400) {
408
+ const result = yield* matchError(status, json, headers);
409
+ // isValid/success bodies are success values delivered with an error
410
+ // status — map them onto the output schema like a normal response.
411
+ return wrapSensitive(outputAst, mapKeys(outputAst, result, "decode"));
412
+ }
413
+
414
+ // No envelope: the response body IS the payload, mapped onto the output
415
+ // schema (wire names → TS names), with members marked T.SensitiveValue
416
+ // delivered as Redacted.
417
+ const body = json === undefined ? {} : json;
418
+ return wrapSensitive(outputAst, mapKeys(outputAst, body, "decode"));
419
+ });
420
+
298
421
  /**
299
- * Coinbase CDP API client.
422
+ * Coinbase CDP protocol layer.
300
423
  *
301
- * Uses JWT bearer token authentication signed with your CDP API Key Secret.
424
+ * Uses JWT bearer token authentication signed per request with your CDP API
425
+ * Key Secret.
302
426
  */
303
- export const API = makeAPI<Credentials>({
304
- credentials: Credentials as any,
305
- getBaseUrl: (creds: any) => (creds as Config).apiBaseUrl,
306
- getAuthHeaders: () => ({}),
307
- getRequestHeaders: (_requestOptions, { method, parts, credentials }) => {
308
- const c = credentials as any;
309
- const baseUrl = new URL(c.apiBaseUrl);
310
- const uri = `${baseUrl.host}${baseUrl.pathname}${parts.path}`;
311
- const jwt = generateJwt(
312
- c.apiKeyId,
313
- Redacted.value(c.apiKeySecret),
314
- method,
315
- uri,
316
- );
317
- return {
318
- Authorization: `Bearer ${jwt}`,
319
- };
320
- },
321
- matchError: matchError as any,
322
- ParseError: CoinbaseParseError as any,
323
- retry: Retry as any,
324
- });
427
+ export const CoinbaseProtocol: Layer.Layer<API.Protocol> = Layer.succeed(
428
+ API.Protocol,
429
+ API.Protocol.of({
430
+ // Erase encode's Credentials requirement (see comment above).
431
+ encode: (args) =>
432
+ encode(args) as Effect.Effect<HttpClientRequest.HttpClientRequest>,
433
+ decode,
434
+ }),
435
+ );
package/src/retry.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * Coinbase retry configuration.
3
3
  *
4
- * Defines the per-SDK `Retry` Context.Service tag that
5
- * `packages/coinbase/src/client.ts` wires into `makeAPI`. Callers can
6
- * install a blanket retry policy at the layer level and have every
7
- * Coinbase API call below it pick it up:
4
+ * Defines the per-SDK `Retry` Context.Service tag that generated operations
5
+ * wire into `API.make({ retry: Retry.Retry })`. Callers can install a
6
+ * blanket retry policy at the layer level and have every Coinbase API call
7
+ * below it pick it up:
8
8
  *
9
9
  * @example
10
10
  * ```ts