@coinbase/cdp-sdk 1.25.0 → 1.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +58 -2
  3. package/_cjs/accounts/evm/networkToChainResolver.js +68 -0
  4. package/_cjs/accounts/evm/networkToChainResolver.js.map +1 -0
  5. package/_cjs/accounts/evm/resolveViemClients.js +6 -32
  6. package/_cjs/accounts/evm/resolveViemClients.js.map +1 -1
  7. package/_cjs/accounts/evm/toEvmServerAccount.js +84 -0
  8. package/_cjs/accounts/evm/toEvmServerAccount.js.map +1 -1
  9. package/_cjs/accounts/evm/toEvmSmartAccount.js +93 -0
  10. package/_cjs/accounts/evm/toEvmSmartAccount.js.map +1 -1
  11. package/_cjs/accounts/evm/toNetworkScopedEvmServerAccount.js +19 -7
  12. package/_cjs/accounts/evm/toNetworkScopedEvmServerAccount.js.map +1 -1
  13. package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js +65 -0
  14. package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -1
  15. package/_cjs/accounts/solana/toSolanaAccount.js +20 -0
  16. package/_cjs/accounts/solana/toSolanaAccount.js.map +1 -1
  17. package/_cjs/actions/evm/fund/fund.js +3 -2
  18. package/_cjs/actions/evm/fund/fund.js.map +1 -1
  19. package/_cjs/actions/evm/fund/quoteFund.js +3 -2
  20. package/_cjs/actions/evm/fund/quoteFund.js.map +1 -1
  21. package/_cjs/actions/solana/sendTransaction.js +32 -0
  22. package/_cjs/actions/solana/sendTransaction.js.map +1 -0
  23. package/_cjs/analytics.js +39 -3
  24. package/_cjs/analytics.js.map +1 -1
  25. package/_cjs/auth/utils/jwt.js +6 -5
  26. package/_cjs/auth/utils/jwt.js.map +1 -1
  27. package/_cjs/client/cdp.js +4 -1
  28. package/_cjs/client/cdp.js.map +1 -1
  29. package/_cjs/client/evm/evm.js +116 -10
  30. package/_cjs/client/evm/evm.js.map +1 -1
  31. package/_cjs/client/policies/policies.js +22 -0
  32. package/_cjs/client/policies/policies.js.map +1 -1
  33. package/_cjs/client/solana/solana.js +85 -8
  34. package/_cjs/client/solana/solana.js.map +1 -1
  35. package/_cjs/constants.js +1 -1
  36. package/_cjs/constants.js.map +1 -1
  37. package/_cjs/errors.js +19 -1
  38. package/_cjs/errors.js.map +1 -1
  39. package/_cjs/index.js +3 -1
  40. package/_cjs/index.js.map +1 -1
  41. package/_cjs/openapi-client/cdpApiClient.js +46 -6
  42. package/_cjs/openapi-client/cdpApiClient.js.map +1 -1
  43. package/_cjs/openapi-client/errors.js +38 -9
  44. package/_cjs/openapi-client/errors.js.map +1 -1
  45. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +6 -1
  46. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  47. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.js +34 -1
  48. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.js.map +1 -1
  49. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.msw.js +18 -1
  50. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.msw.js.map +1 -1
  51. package/_cjs/version.js +1 -1
  52. package/_esm/accounts/evm/networkToChainResolver.js +31 -0
  53. package/_esm/accounts/evm/networkToChainResolver.js.map +1 -0
  54. package/_esm/accounts/evm/resolveViemClients.js +4 -30
  55. package/_esm/accounts/evm/resolveViemClients.js.map +1 -1
  56. package/_esm/accounts/evm/toEvmServerAccount.js +84 -0
  57. package/_esm/accounts/evm/toEvmServerAccount.js.map +1 -1
  58. package/_esm/accounts/evm/toEvmSmartAccount.js +93 -0
  59. package/_esm/accounts/evm/toEvmSmartAccount.js.map +1 -1
  60. package/_esm/accounts/evm/toNetworkScopedEvmServerAccount.js +19 -7
  61. package/_esm/accounts/evm/toNetworkScopedEvmServerAccount.js.map +1 -1
  62. package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js +65 -0
  63. package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -1
  64. package/_esm/accounts/solana/toSolanaAccount.js +20 -0
  65. package/_esm/accounts/solana/toSolanaAccount.js.map +1 -1
  66. package/_esm/actions/evm/fund/fund.js +3 -2
  67. package/_esm/actions/evm/fund/fund.js.map +1 -1
  68. package/_esm/actions/evm/fund/quoteFund.js +3 -2
  69. package/_esm/actions/evm/fund/quoteFund.js.map +1 -1
  70. package/_esm/actions/solana/sendTransaction.js +29 -0
  71. package/_esm/actions/solana/sendTransaction.js.map +1 -0
  72. package/_esm/analytics.js +39 -3
  73. package/_esm/analytics.js.map +1 -1
  74. package/_esm/auth/utils/jwt.js +3 -2
  75. package/_esm/auth/utils/jwt.js.map +1 -1
  76. package/_esm/client/cdp.js +4 -1
  77. package/_esm/client/cdp.js.map +1 -1
  78. package/_esm/client/evm/evm.js +110 -4
  79. package/_esm/client/evm/evm.js.map +1 -1
  80. package/_esm/client/policies/policies.js +22 -0
  81. package/_esm/client/policies/policies.js.map +1 -1
  82. package/_esm/client/solana/solana.js +82 -5
  83. package/_esm/client/solana/solana.js.map +1 -1
  84. package/_esm/constants.js +1 -1
  85. package/_esm/constants.js.map +1 -1
  86. package/_esm/errors.js +17 -0
  87. package/_esm/errors.js.map +1 -1
  88. package/_esm/index.js +1 -0
  89. package/_esm/index.js.map +1 -1
  90. package/_esm/openapi-client/cdpApiClient.js +47 -7
  91. package/_esm/openapi-client/cdpApiClient.js.map +1 -1
  92. package/_esm/openapi-client/errors.js +36 -8
  93. package/_esm/openapi-client/errors.js.map +1 -1
  94. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +5 -0
  95. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  96. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.js +32 -0
  97. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.js.map +1 -1
  98. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.msw.js +15 -0
  99. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.msw.js.map +1 -1
  100. package/_esm/version.js +1 -1
  101. package/_types/accounts/evm/networkToChainResolver.d.ts +14 -0
  102. package/_types/accounts/evm/networkToChainResolver.d.ts.map +1 -0
  103. package/_types/accounts/evm/resolveViemClients.d.ts.map +1 -1
  104. package/_types/accounts/evm/toEvmServerAccount.d.ts.map +1 -1
  105. package/_types/accounts/evm/toEvmSmartAccount.d.ts.map +1 -1
  106. package/_types/accounts/evm/toNetworkScopedEvmServerAccount.d.ts.map +1 -1
  107. package/_types/accounts/evm/toNetworkScopedEvmSmartAccount.d.ts.map +1 -1
  108. package/_types/accounts/evm/types.d.ts +3 -3
  109. package/_types/accounts/evm/types.d.ts.map +1 -1
  110. package/_types/accounts/solana/toSolanaAccount.d.ts.map +1 -1
  111. package/_types/actions/evm/fund/fund.d.ts.map +1 -1
  112. package/_types/actions/evm/fund/quoteFund.d.ts.map +1 -1
  113. package/_types/actions/evm/types.d.ts +36 -3
  114. package/_types/actions/evm/types.d.ts.map +1 -1
  115. package/_types/actions/solana/sendTransaction.d.ts +23 -0
  116. package/_types/actions/solana/sendTransaction.d.ts.map +1 -0
  117. package/_types/analytics.d.ts +36 -1
  118. package/_types/analytics.d.ts.map +1 -1
  119. package/_types/auth/utils/jwt.d.ts.map +1 -1
  120. package/_types/client/cdp.d.ts.map +1 -1
  121. package/_types/client/evm/evm.d.ts +1 -0
  122. package/_types/client/evm/evm.d.ts.map +1 -1
  123. package/_types/client/policies/policies.d.ts.map +1 -1
  124. package/_types/client/solana/solana.d.ts +21 -2
  125. package/_types/client/solana/solana.d.ts.map +1 -1
  126. package/_types/client/solana/solana.types.d.ts +22 -3
  127. package/_types/client/solana/solana.types.d.ts.map +1 -1
  128. package/_types/constants.d.ts +1 -1
  129. package/_types/constants.d.ts.map +1 -1
  130. package/_types/errors.d.ts +11 -0
  131. package/_types/errors.d.ts.map +1 -1
  132. package/_types/index.d.ts +1 -0
  133. package/_types/index.d.ts.map +1 -1
  134. package/_types/openapi-client/cdpApiClient.d.ts.map +1 -1
  135. package/_types/openapi-client/errors.d.ts +46 -9
  136. package/_types/openapi-client/errors.d.ts.map +1 -1
  137. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +18 -0
  138. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
  139. package/_types/openapi-client/generated/solana-accounts/solana-accounts.d.ts +27 -1
  140. package/_types/openapi-client/generated/solana-accounts/solana-accounts.d.ts.map +1 -1
  141. package/_types/openapi-client/generated/solana-accounts/solana-accounts.msw.d.ts +3 -1
  142. package/_types/openapi-client/generated/solana-accounts/solana-accounts.msw.d.ts.map +1 -1
  143. package/_types/openapi-client/index.d.ts +2 -0
  144. package/_types/openapi-client/index.d.ts.map +1 -1
  145. package/_types/version.d.ts +1 -1
  146. package/accounts/evm/networkToChainResolver.ts +34 -0
  147. package/accounts/evm/resolveViemClients.ts +6 -32
  148. package/accounts/evm/toEvmServerAccount.ts +98 -0
  149. package/accounts/evm/toEvmSmartAccount.ts +114 -2
  150. package/accounts/evm/toNetworkScopedEvmServerAccount.ts +22 -8
  151. package/accounts/evm/toNetworkScopedEvmSmartAccount.ts +75 -0
  152. package/accounts/evm/types.ts +3 -3
  153. package/accounts/solana/toSolanaAccount.ts +24 -0
  154. package/actions/evm/fund/fund.ts +3 -2
  155. package/actions/evm/fund/quoteFund.ts +3 -2
  156. package/actions/evm/types.ts +41 -2
  157. package/actions/solana/sendTransaction.ts +38 -0
  158. package/analytics.ts +73 -4
  159. package/auth/utils/jwt.ts +5 -2
  160. package/client/cdp.ts +7 -1
  161. package/client/evm/evm.ts +135 -6
  162. package/client/policies/policies.ts +28 -0
  163. package/client/solana/solana.ts +97 -5
  164. package/client/solana/solana.types.ts +25 -1
  165. package/constants.ts +1 -1
  166. package/errors.ts +18 -0
  167. package/index.ts +1 -0
  168. package/openapi-client/cdpApiClient.ts +87 -17
  169. package/openapi-client/errors.ts +65 -10
  170. package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +24 -0
  171. package/openapi-client/generated/solana-accounts/solana-accounts.msw.ts +32 -0
  172. package/openapi-client/generated/solana-accounts/solana-accounts.ts +43 -0
  173. package/package.json +1 -1
  174. package/version.ts +1 -1
@@ -14,6 +14,8 @@ import type {
14
14
  ImportSolanaAccountBody,
15
15
  ListSolanaAccounts200,
16
16
  ListSolanaAccountsParams,
17
+ SendSolanaTransaction200,
18
+ SendSolanaTransactionBody,
17
19
  SignSolanaMessage200,
18
20
  SignSolanaMessageBody,
19
21
  SignSolanaTransaction200,
@@ -210,6 +212,44 @@ export const signSolanaMessage = (
210
212
  options,
211
213
  );
212
214
  };
215
+ /**
216
+ * Signs and sends a single Solana transaction using multiple Solana accounts. The transaction may contain contain several instructions, each of which may require signatures from different account keys.
217
+
218
+ The transaction should be serialized into a byte array and base64 encoded. The API handles recent blockhash management and fee estimation, leaving the developer to provide only the minimal set of fields necessary to send the transaction.
219
+
220
+ **Transaction types**
221
+
222
+ The following transaction types are supported:
223
+ * [Legacy transactions](https://solana.com/developers/guides/advanced/versions#current-transaction-versions)
224
+ * [Versioned transactions](https://solana.com/developers/guides/advanced/versions)
225
+
226
+ **Instruction Batching**
227
+
228
+ To batch multiple operations, include multiple instructions within a single transaction. All instructions within a transaction are executed atomically - if any instruction fails, the entire transaction fails and is rolled back.
229
+
230
+ **Network Support**
231
+
232
+ The following Solana networks are supported:
233
+ * `solana` - Solana Mainnet
234
+ * `solana-devnet` - Solana Devnet
235
+
236
+ The developer is responsible for ensuring that the unsigned transaction is valid, as the API will not validate the transaction.
237
+ * @summary Send a Solana transaction
238
+ */
239
+ export const sendSolanaTransaction = (
240
+ sendSolanaTransactionBody: SendSolanaTransactionBody,
241
+ options?: SecondParameter<typeof cdpApiClient>,
242
+ ) => {
243
+ return cdpApiClient<SendSolanaTransaction200>(
244
+ {
245
+ url: `/v2/solana/accounts/send/transaction`,
246
+ method: "POST",
247
+ headers: { "Content-Type": "application/json" },
248
+ data: sendSolanaTransactionBody,
249
+ },
250
+ options,
251
+ );
252
+ };
213
253
  export type ListSolanaAccountsResult = NonNullable<Awaited<ReturnType<typeof listSolanaAccounts>>>;
214
254
  export type CreateSolanaAccountResult = NonNullable<
215
255
  Awaited<ReturnType<typeof createSolanaAccount>>
@@ -234,3 +274,6 @@ export type SignSolanaTransactionResult = NonNullable<
234
274
  Awaited<ReturnType<typeof signSolanaTransaction>>
235
275
  >;
236
276
  export type SignSolanaMessageResult = NonNullable<Awaited<ReturnType<typeof signSolanaMessage>>>;
277
+ export type SendSolanaTransactionResult = NonNullable<
278
+ Awaited<ReturnType<typeof sendSolanaTransaction>>
279
+ >;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cdp-sdk",
3
- "version": "1.25.0",
3
+ "version": "1.27.0",
4
4
  "description": "SDK for interacting with the Coinbase Developer Platform Wallet API",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
package/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = "1.25.0";
1
+ export const version = "1.27.0";