@coinbase/cdp-sdk 1.26.0 → 1.28.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 (178) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +58 -2
  3. package/_cjs/accounts/evm/resolveViemClients.js +3 -2
  4. package/_cjs/accounts/evm/resolveViemClients.js.map +1 -1
  5. package/_cjs/accounts/evm/toEvmServerAccount.js +84 -0
  6. package/_cjs/accounts/evm/toEvmServerAccount.js.map +1 -1
  7. package/_cjs/accounts/evm/toEvmSmartAccount.js +83 -0
  8. package/_cjs/accounts/evm/toEvmSmartAccount.js.map +1 -1
  9. package/_cjs/accounts/evm/toNetworkScopedEvmServerAccount.js +30 -6
  10. package/_cjs/accounts/evm/toNetworkScopedEvmServerAccount.js.map +1 -1
  11. package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js +65 -0
  12. package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -1
  13. package/_cjs/accounts/solana/toSolanaAccount.js +20 -0
  14. package/_cjs/accounts/solana/toSolanaAccount.js.map +1 -1
  15. package/_cjs/actions/evm/fund/fund.js +3 -2
  16. package/_cjs/actions/evm/fund/fund.js.map +1 -1
  17. package/_cjs/actions/evm/fund/quoteFund.js +3 -2
  18. package/_cjs/actions/evm/fund/quoteFund.js.map +1 -1
  19. package/_cjs/actions/solana/sendTransaction.js +32 -0
  20. package/_cjs/actions/solana/sendTransaction.js.map +1 -0
  21. package/_cjs/actions/solana/transfer.js +25 -38
  22. package/_cjs/actions/solana/transfer.js.map +1 -1
  23. package/_cjs/actions/solana/utils.js +4 -14
  24. package/_cjs/actions/solana/utils.js.map +1 -1
  25. package/_cjs/analytics.js +39 -3
  26. package/_cjs/analytics.js.map +1 -1
  27. package/_cjs/auth/utils/jwt.js +6 -5
  28. package/_cjs/auth/utils/jwt.js.map +1 -1
  29. package/_cjs/client/cdp.js +4 -1
  30. package/_cjs/client/cdp.js.map +1 -1
  31. package/_cjs/client/evm/evm.js +116 -10
  32. package/_cjs/client/evm/evm.js.map +1 -1
  33. package/_cjs/client/policies/policies.js +22 -0
  34. package/_cjs/client/policies/policies.js.map +1 -1
  35. package/_cjs/client/solana/solana.js +83 -6
  36. package/_cjs/client/solana/solana.js.map +1 -1
  37. package/_cjs/constants.js +1 -1
  38. package/_cjs/constants.js.map +1 -1
  39. package/_cjs/errors.js +19 -1
  40. package/_cjs/errors.js.map +1 -1
  41. package/_cjs/index.js +3 -1
  42. package/_cjs/index.js.map +1 -1
  43. package/_cjs/openapi-client/cdpApiClient.js +46 -6
  44. package/_cjs/openapi-client/cdpApiClient.js.map +1 -1
  45. package/_cjs/openapi-client/errors.js +38 -9
  46. package/_cjs/openapi-client/errors.js.map +1 -1
  47. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +6 -1
  48. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  49. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.js +34 -1
  50. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.js.map +1 -1
  51. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.msw.js +18 -1
  52. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.msw.js.map +1 -1
  53. package/_cjs/policies/schema.js +6 -6
  54. package/_cjs/version.js +1 -1
  55. package/_esm/accounts/evm/resolveViemClients.js +3 -2
  56. package/_esm/accounts/evm/resolveViemClients.js.map +1 -1
  57. package/_esm/accounts/evm/toEvmServerAccount.js +84 -0
  58. package/_esm/accounts/evm/toEvmServerAccount.js.map +1 -1
  59. package/_esm/accounts/evm/toEvmSmartAccount.js +83 -0
  60. package/_esm/accounts/evm/toEvmSmartAccount.js.map +1 -1
  61. package/_esm/accounts/evm/toNetworkScopedEvmServerAccount.js +30 -6
  62. package/_esm/accounts/evm/toNetworkScopedEvmServerAccount.js.map +1 -1
  63. package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js +65 -0
  64. package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -1
  65. package/_esm/accounts/solana/toSolanaAccount.js +20 -0
  66. package/_esm/accounts/solana/toSolanaAccount.js.map +1 -1
  67. package/_esm/actions/evm/fund/fund.js +3 -2
  68. package/_esm/actions/evm/fund/fund.js.map +1 -1
  69. package/_esm/actions/evm/fund/quoteFund.js +3 -2
  70. package/_esm/actions/evm/fund/quoteFund.js.map +1 -1
  71. package/_esm/actions/solana/sendTransaction.js +29 -0
  72. package/_esm/actions/solana/sendTransaction.js.map +1 -0
  73. package/_esm/actions/solana/transfer.js +26 -39
  74. package/_esm/actions/solana/transfer.js.map +1 -1
  75. package/_esm/actions/solana/utils.js +5 -15
  76. package/_esm/actions/solana/utils.js.map +1 -1
  77. package/_esm/analytics.js +39 -3
  78. package/_esm/analytics.js.map +1 -1
  79. package/_esm/auth/utils/jwt.js +3 -2
  80. package/_esm/auth/utils/jwt.js.map +1 -1
  81. package/_esm/client/cdp.js +4 -1
  82. package/_esm/client/cdp.js.map +1 -1
  83. package/_esm/client/evm/evm.js +110 -4
  84. package/_esm/client/evm/evm.js.map +1 -1
  85. package/_esm/client/policies/policies.js +22 -0
  86. package/_esm/client/policies/policies.js.map +1 -1
  87. package/_esm/client/solana/solana.js +80 -3
  88. package/_esm/client/solana/solana.js.map +1 -1
  89. package/_esm/constants.js +1 -1
  90. package/_esm/constants.js.map +1 -1
  91. package/_esm/errors.js +17 -0
  92. package/_esm/errors.js.map +1 -1
  93. package/_esm/index.js +1 -0
  94. package/_esm/index.js.map +1 -1
  95. package/_esm/openapi-client/cdpApiClient.js +47 -7
  96. package/_esm/openapi-client/cdpApiClient.js.map +1 -1
  97. package/_esm/openapi-client/errors.js +36 -8
  98. package/_esm/openapi-client/errors.js.map +1 -1
  99. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +5 -0
  100. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  101. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.js +32 -0
  102. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.js.map +1 -1
  103. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.msw.js +15 -0
  104. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.msw.js.map +1 -1
  105. package/_esm/policies/schema.js +6 -6
  106. package/_esm/version.js +1 -1
  107. package/_types/accounts/evm/resolveViemClients.d.ts.map +1 -1
  108. package/_types/accounts/evm/toEvmServerAccount.d.ts.map +1 -1
  109. package/_types/accounts/evm/toEvmSmartAccount.d.ts.map +1 -1
  110. package/_types/accounts/evm/toNetworkScopedEvmServerAccount.d.ts.map +1 -1
  111. package/_types/accounts/evm/toNetworkScopedEvmSmartAccount.d.ts.map +1 -1
  112. package/_types/accounts/solana/toSolanaAccount.d.ts.map +1 -1
  113. package/_types/actions/evm/fund/fund.d.ts.map +1 -1
  114. package/_types/actions/evm/fund/quoteFund.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/actions/solana/transfer.d.ts.map +1 -1
  118. package/_types/actions/solana/utils.d.ts +2 -2
  119. package/_types/actions/solana/utils.d.ts.map +1 -1
  120. package/_types/analytics.d.ts +36 -1
  121. package/_types/analytics.d.ts.map +1 -1
  122. package/_types/auth/utils/jwt.d.ts.map +1 -1
  123. package/_types/client/cdp.d.ts.map +1 -1
  124. package/_types/client/evm/evm.d.ts +1 -0
  125. package/_types/client/evm/evm.d.ts.map +1 -1
  126. package/_types/client/policies/policies.d.ts.map +1 -1
  127. package/_types/client/solana/solana.d.ts +20 -1
  128. package/_types/client/solana/solana.d.ts.map +1 -1
  129. package/_types/client/solana/solana.types.d.ts +21 -2
  130. package/_types/client/solana/solana.types.d.ts.map +1 -1
  131. package/_types/constants.d.ts +1 -1
  132. package/_types/constants.d.ts.map +1 -1
  133. package/_types/errors.d.ts +11 -0
  134. package/_types/errors.d.ts.map +1 -1
  135. package/_types/index.d.ts +1 -0
  136. package/_types/index.d.ts.map +1 -1
  137. package/_types/openapi-client/cdpApiClient.d.ts.map +1 -1
  138. package/_types/openapi-client/errors.d.ts +46 -9
  139. package/_types/openapi-client/errors.d.ts.map +1 -1
  140. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +18 -0
  141. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
  142. package/_types/openapi-client/generated/solana-accounts/solana-accounts.d.ts +27 -1
  143. package/_types/openapi-client/generated/solana-accounts/solana-accounts.d.ts.map +1 -1
  144. package/_types/openapi-client/generated/solana-accounts/solana-accounts.msw.d.ts +3 -1
  145. package/_types/openapi-client/generated/solana-accounts/solana-accounts.msw.d.ts.map +1 -1
  146. package/_types/openapi-client/index.d.ts +2 -0
  147. package/_types/openapi-client/index.d.ts.map +1 -1
  148. package/_types/policies/schema.d.ts +34 -34
  149. package/_types/version.d.ts +1 -1
  150. package/accounts/evm/resolveViemClients.ts +5 -2
  151. package/accounts/evm/toEvmServerAccount.ts +98 -0
  152. package/accounts/evm/toEvmSmartAccount.ts +96 -0
  153. package/accounts/evm/toNetworkScopedEvmServerAccount.ts +34 -6
  154. package/accounts/evm/toNetworkScopedEvmSmartAccount.ts +75 -0
  155. package/accounts/solana/toSolanaAccount.ts +24 -0
  156. package/actions/evm/fund/fund.ts +3 -2
  157. package/actions/evm/fund/quoteFund.ts +3 -2
  158. package/actions/solana/sendTransaction.ts +38 -0
  159. package/actions/solana/transfer.ts +33 -52
  160. package/actions/solana/utils.ts +5 -13
  161. package/analytics.ts +73 -4
  162. package/auth/utils/jwt.ts +5 -2
  163. package/client/cdp.ts +7 -1
  164. package/client/evm/evm.ts +135 -6
  165. package/client/policies/policies.ts +28 -0
  166. package/client/solana/solana.ts +95 -3
  167. package/client/solana/solana.types.ts +24 -0
  168. package/constants.ts +1 -1
  169. package/errors.ts +18 -0
  170. package/index.ts +1 -0
  171. package/openapi-client/cdpApiClient.ts +87 -17
  172. package/openapi-client/errors.ts +65 -10
  173. package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +24 -0
  174. package/openapi-client/generated/solana-accounts/solana-accounts.msw.ts +32 -0
  175. package/openapi-client/generated/solana-accounts/solana-accounts.ts +43 -0
  176. package/package.json +1 -1
  177. package/policies/schema.ts +6 -6
  178. package/version.ts +1 -1
@@ -3,6 +3,7 @@ import { mapChainToNetwork } from "./chainToNetworkMapper.js";
3
3
  import { isMethodSupportedOnNetwork } from "./networkCapabilities.js";
4
4
  import { resolveViemClients } from "./resolveViemClients.js";
5
5
  import { transferWithViem } from "../../actions/evm/transfer/transferWithViem.js";
6
+ import { Analytics } from "../../analytics.js";
6
7
  /**
7
8
  * Creates a Network-scoped Server-managed EvmAccount instance from an existing EvmAccount.
8
9
  * Use this to interact with previously deployed EvmAccounts on a specific network.
@@ -17,6 +18,11 @@ export async function toNetworkScopedEvmServerAccount(options) {
17
18
  networkOrNodeUrl: options.network,
18
19
  account: options.account,
19
20
  });
21
+ /*
22
+ * Determine the actual network name from the resolved chain
23
+ * This handles cases where options.network is an RPC URL
24
+ */
25
+ const resolvedNetworkName = mapChainToNetwork(chain) ?? options.network;
20
26
  const shouldUseApiForSends = chain.id === base.id ||
21
27
  chain.id === baseSepolia.id ||
22
28
  chain.id === mainnet.id ||
@@ -39,6 +45,13 @@ export async function toNetworkScopedEvmServerAccount(options) {
39
45
  });
40
46
  }
41
47
  else {
48
+ Analytics.trackAction({
49
+ action: "send_transaction",
50
+ accountType: "evm_server",
51
+ properties: {
52
+ network: options.network,
53
+ },
54
+ });
42
55
  const hash = await walletClient.sendTransaction(txOpts.transaction);
43
56
  return { transactionHash: hash };
44
57
  }
@@ -51,10 +64,21 @@ export async function toNetworkScopedEvmServerAccount(options) {
51
64
  });
52
65
  }
53
66
  else {
67
+ Analytics.trackAction({
68
+ action: "transfer",
69
+ accountType: "evm_server",
70
+ properties: {
71
+ network: options.network,
72
+ },
73
+ });
54
74
  return transferWithViem(walletClient, account, transferArgs);
55
75
  }
56
76
  },
57
77
  waitForTransactionReceipt: async (waitOptions) => {
78
+ Analytics.trackAction({
79
+ action: "wait_for_transaction_receipt",
80
+ accountType: "evm_server",
81
+ });
58
82
  if ("transactionHash" in waitOptions) {
59
83
  return publicClient.waitForTransactionReceipt({
60
84
  hash: waitOptions.transactionHash,
@@ -63,7 +87,7 @@ export async function toNetworkScopedEvmServerAccount(options) {
63
87
  return publicClient.waitForTransactionReceipt(waitOptions);
64
88
  },
65
89
  };
66
- if (isMethodSupportedOnNetwork("listTokenBalances", options.network)) {
90
+ if (isMethodSupportedOnNetwork("listTokenBalances", resolvedNetworkName)) {
67
91
  Object.assign(account, {
68
92
  listTokenBalances: async (listTokenBalancesOptions) => {
69
93
  return options.account.listTokenBalances({
@@ -73,7 +97,7 @@ export async function toNetworkScopedEvmServerAccount(options) {
73
97
  },
74
98
  });
75
99
  }
76
- if (isMethodSupportedOnNetwork("requestFaucet", options.network)) {
100
+ if (isMethodSupportedOnNetwork("requestFaucet", resolvedNetworkName)) {
77
101
  Object.assign(account, {
78
102
  requestFaucet: async (faucetOptions) => {
79
103
  return options.account.requestFaucet({
@@ -83,7 +107,7 @@ export async function toNetworkScopedEvmServerAccount(options) {
83
107
  },
84
108
  });
85
109
  }
86
- if (isMethodSupportedOnNetwork("quoteFund", options.network)) {
110
+ if (isMethodSupportedOnNetwork("quoteFund", resolvedNetworkName)) {
87
111
  Object.assign(account, {
88
112
  quoteFund: async (quoteFundOptions) => {
89
113
  return options.account.quoteFund({
@@ -92,7 +116,7 @@ export async function toNetworkScopedEvmServerAccount(options) {
92
116
  },
93
117
  });
94
118
  }
95
- if (isMethodSupportedOnNetwork("fund", options.network)) {
119
+ if (isMethodSupportedOnNetwork("fund", resolvedNetworkName)) {
96
120
  Object.assign(account, {
97
121
  fund: async (fundOptions) => {
98
122
  return options.account.fund({
@@ -104,14 +128,14 @@ export async function toNetworkScopedEvmServerAccount(options) {
104
128
  },
105
129
  });
106
130
  }
107
- if (isMethodSupportedOnNetwork("quoteSwap", options.network)) {
131
+ if (isMethodSupportedOnNetwork("quoteSwap", resolvedNetworkName)) {
108
132
  Object.assign(account, {
109
133
  quoteSwap: async (quoteSwapOptions) => {
110
134
  return options.account.quoteSwap(quoteSwapOptions);
111
135
  },
112
136
  });
113
137
  }
114
- if (isMethodSupportedOnNetwork("swap", options.network)) {
138
+ if (isMethodSupportedOnNetwork("swap", resolvedNetworkName)) {
115
139
  Object.assign(account, {
116
140
  swap: async (swapOptions) => {
117
141
  return options.account.swap(swapOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"toNetworkScopedEvmServerAccount.js","sourceRoot":"","sources":["../../../accounts/evm/toNetworkScopedEvmServerAccount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toNetworkScopedEvmServerAccount.js","sourceRoot":"","sources":["../../../accounts/evm/toNetworkScopedEvmServerAccount.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { sendSwapOperation } from "../../actions/evm/swap/sendSwapOperation.js";
12
12
  import { smartAccountTransferStrategy } from "../../actions/evm/transfer/smartAccountTransferStrategy.js";
13
13
  import { transfer } from "../../actions/evm/transfer/transfer.js";
14
14
  import { waitForUserOperation } from "../../actions/evm/waitForUserOperation.js";
15
+ import { Analytics } from "../../analytics.js";
15
16
  /**
16
17
  * Creates a NetworkScopedEvmSmartAccount instance from an existing EvmSmartAccount and owner.
17
18
  * Use this to interact with previously deployed EvmSmartAccounts, rather than creating new ones.
@@ -39,6 +40,13 @@ export async function toNetworkScopedEvmSmartAccount(apiClient, options) {
39
40
  name: options.smartAccount.name,
40
41
  type: "evm-smart",
41
42
  sendUserOperation: async (userOpOptions) => {
43
+ Analytics.trackAction({
44
+ action: "send_user_operation",
45
+ accountType: "evm_smart",
46
+ properties: {
47
+ network: options.network,
48
+ },
49
+ });
42
50
  return sendUserOperation(apiClient, {
43
51
  ...userOpOptions,
44
52
  smartAccount: options.smartAccount,
@@ -47,12 +55,20 @@ export async function toNetworkScopedEvmSmartAccount(apiClient, options) {
47
55
  });
48
56
  },
49
57
  waitForUserOperation: async (waitOptions) => {
58
+ Analytics.trackAction({
59
+ action: "wait_for_user_operation",
60
+ accountType: "evm_smart",
61
+ });
50
62
  return waitForUserOperation(apiClient, {
51
63
  ...waitOptions,
52
64
  smartAccountAddress: options.smartAccount.address,
53
65
  });
54
66
  },
55
67
  getUserOperation: async (getOptions) => {
68
+ Analytics.trackAction({
69
+ action: "get_user_operation",
70
+ accountType: "evm_smart",
71
+ });
56
72
  return getUserOperation(apiClient, {
57
73
  ...getOptions,
58
74
  smartAccount: options.smartAccount,
@@ -62,6 +78,13 @@ export async function toNetworkScopedEvmSmartAccount(apiClient, options) {
62
78
  if (isMethodSupportedOnNetwork("transfer", options.network)) {
63
79
  Object.assign(account, {
64
80
  transfer: async (transferOptions) => {
81
+ Analytics.trackAction({
82
+ action: "transfer",
83
+ accountType: "evm_smart",
84
+ properties: {
85
+ network: options.network,
86
+ },
87
+ });
65
88
  return transfer(apiClient, options.smartAccount, {
66
89
  ...transferOptions,
67
90
  network: options.network,
@@ -73,6 +96,13 @@ export async function toNetworkScopedEvmSmartAccount(apiClient, options) {
73
96
  if (isMethodSupportedOnNetwork("listTokenBalances", options.network)) {
74
97
  Object.assign(account, {
75
98
  listTokenBalances: async (listOptions) => {
99
+ Analytics.trackAction({
100
+ action: "list_token_balances",
101
+ accountType: "evm_smart",
102
+ properties: {
103
+ network: options.network,
104
+ },
105
+ });
76
106
  return listTokenBalances(apiClient, {
77
107
  ...listOptions,
78
108
  address: options.smartAccount.address,
@@ -84,6 +114,13 @@ export async function toNetworkScopedEvmSmartAccount(apiClient, options) {
84
114
  if (isMethodSupportedOnNetwork("requestFaucet", options.network)) {
85
115
  Object.assign(account, {
86
116
  requestFaucet: async (faucetOptions) => {
117
+ Analytics.trackAction({
118
+ action: "request_faucet",
119
+ accountType: "evm_smart",
120
+ properties: {
121
+ network: options.network,
122
+ },
123
+ });
87
124
  return requestFaucet(apiClient, {
88
125
  ...faucetOptions,
89
126
  address: options.smartAccount.address,
@@ -95,6 +132,13 @@ export async function toNetworkScopedEvmSmartAccount(apiClient, options) {
95
132
  if (isMethodSupportedOnNetwork("quoteFund", options.network)) {
96
133
  Object.assign(account, {
97
134
  quoteFund: async (quoteOptions) => {
135
+ Analytics.trackAction({
136
+ action: "quote_fund",
137
+ accountType: "evm_smart",
138
+ properties: {
139
+ network: options.network,
140
+ },
141
+ });
98
142
  return quoteFund(apiClient, {
99
143
  ...quoteOptions,
100
144
  address: options.smartAccount.address,
@@ -105,6 +149,13 @@ export async function toNetworkScopedEvmSmartAccount(apiClient, options) {
105
149
  if (isMethodSupportedOnNetwork("fund", options.network)) {
106
150
  Object.assign(account, {
107
151
  fund: async (fundOptions) => {
152
+ Analytics.trackAction({
153
+ action: "fund",
154
+ accountType: "evm_smart",
155
+ properties: {
156
+ network: options.network,
157
+ },
158
+ });
108
159
  return fund(apiClient, {
109
160
  ...fundOptions,
110
161
  address: options.smartAccount.address,
@@ -118,6 +169,13 @@ export async function toNetworkScopedEvmSmartAccount(apiClient, options) {
118
169
  if (isMethodSupportedOnNetwork("quoteSwap", options.network)) {
119
170
  Object.assign(account, {
120
171
  quoteSwap: async (quoteSwapOptions) => {
172
+ Analytics.trackAction({
173
+ action: "quote_swap",
174
+ accountType: "evm_smart",
175
+ properties: {
176
+ network: options.network,
177
+ },
178
+ });
121
179
  return createSwapQuote(apiClient, {
122
180
  ...quoteSwapOptions,
123
181
  taker: options.smartAccount.address,
@@ -131,6 +189,13 @@ export async function toNetworkScopedEvmSmartAccount(apiClient, options) {
131
189
  if (isMethodSupportedOnNetwork("swap", options.network)) {
132
190
  Object.assign(account, {
133
191
  swap: async (swapOptions) => {
192
+ Analytics.trackAction({
193
+ action: "swap",
194
+ accountType: "evm_smart",
195
+ properties: {
196
+ network: options.network,
197
+ },
198
+ });
134
199
  return sendSwapOperation(apiClient, {
135
200
  ...swapOptions,
136
201
  smartAccount: options.smartAccount,
@@ -1 +1 @@
1
- {"version":3,"file":"toNetworkScopedEvmSmartAccount.js","sourceRoot":"","sources":["../../../accounts/evm/toNetworkScopedEvmSmartAccount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toNetworkScopedEvmSmartAccount.js","sourceRoot":"","sources":["../../../accounts/evm/toNetworkScopedEvmSmartAccount.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { requestFaucet } from "../../actions/solana/requestFaucet.js";
2
2
  import { signMessage } from "../../actions/solana/signMessage.js";
3
3
  import { signTransaction } from "../../actions/solana/signTransaction.js";
4
4
  import { transfer } from "../../actions/solana/transfer.js";
5
+ import { Analytics } from "../../analytics.js";
5
6
  /**
6
7
  * Creates a Solana account instance with actions from an existing Solana account.
7
8
  * Use this to interact with previously deployed Solana accounts, rather than creating new ones.
@@ -16,18 +17,30 @@ export function toSolanaAccount(apiClient, options) {
16
17
  address: options.account.address,
17
18
  name: options.account.name,
18
19
  async requestFaucet(options) {
20
+ Analytics.trackAction({
21
+ action: "request_faucet",
22
+ accountType: "solana",
23
+ });
19
24
  return requestFaucet(apiClient, {
20
25
  ...options,
21
26
  address: account.address,
22
27
  });
23
28
  },
24
29
  async signMessage(options) {
30
+ Analytics.trackAction({
31
+ action: "sign_message",
32
+ accountType: "solana",
33
+ });
25
34
  return signMessage(apiClient, {
26
35
  ...options,
27
36
  address: account.address,
28
37
  });
29
38
  },
30
39
  async signTransaction(options) {
40
+ Analytics.trackAction({
41
+ action: "sign_transaction",
42
+ accountType: "solana",
43
+ });
31
44
  return signTransaction(apiClient, {
32
45
  ...options,
33
46
  address: account.address,
@@ -35,6 +48,13 @@ export function toSolanaAccount(apiClient, options) {
35
48
  },
36
49
  policies: options.account.policies,
37
50
  async transfer(options) {
51
+ Analytics.trackAction({
52
+ action: "transfer",
53
+ accountType: "solana",
54
+ properties: {
55
+ network: options.network,
56
+ },
57
+ });
38
58
  return transfer(apiClient, {
39
59
  ...options,
40
60
  from: account.address,
@@ -1 +1 @@
1
- {"version":3,"file":"toSolanaAccount.js","sourceRoot":"","sources":["../../../accounts/solana/toSolanaAccount.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAwB,MAAM,kCAAkC,CAAC;AAgBlF;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,SAA+B,EAC/B,OAA+B;IAE/B,MAAM,OAAO,GAAkB;QAC7B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;QAChC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;QAC1B,KAAK,CAAC,aAAa,CAAC,OAA8C;YAChE,OAAO,aAAa,CAAC,SAAS,EAAE;gBAC9B,GAAG,OAAO;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,OAA4C;YAC5D,OAAO,WAAW,CAAC,SAAS,EAAE;gBAC5B,GAAG,OAAO;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,eAAe,CACnB,OAAgD;YAEhD,OAAO,eAAe,CAAC,SAAS,EAAE;gBAChC,GAAG,OAAO;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;QACL,CAAC;QACD,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ;QAClC,KAAK,CAAC,QAAQ,CAAC,OAAsC;YACnD,OAAO,QAAQ,CAAC,SAAS,EAAE;gBACzB,GAAG,OAAO;gBACV,IAAI,EAAE,OAAO,CAAC,OAAO;aACtB,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"toSolanaAccount.js","sourceRoot":"","sources":["../../../accounts/solana/toSolanaAccount.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAwB,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAgB/C;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,SAA+B,EAC/B,OAA+B;IAE/B,MAAM,OAAO,GAAkB;QAC7B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;QAChC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;QAC1B,KAAK,CAAC,aAAa,CAAC,OAA8C;YAChE,SAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,gBAAgB;gBACxB,WAAW,EAAE,QAAQ;aACtB,CAAC,CAAC;YAEH,OAAO,aAAa,CAAC,SAAS,EAAE;gBAC9B,GAAG,OAAO;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,OAA4C;YAC5D,SAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,cAAc;gBACtB,WAAW,EAAE,QAAQ;aACtB,CAAC,CAAC;YAEH,OAAO,WAAW,CAAC,SAAS,EAAE;gBAC5B,GAAG,OAAO;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,eAAe,CACnB,OAAgD;YAEhD,SAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,kBAAkB;gBAC1B,WAAW,EAAE,QAAQ;aACtB,CAAC,CAAC;YAEH,OAAO,eAAe,CAAC,SAAS,EAAE;gBAChC,GAAG,OAAO;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;QACL,CAAC;QACD,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ;QAClC,KAAK,CAAC,QAAQ,CAAC,OAAsC;YACnD,SAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,UAAU;gBAClB,WAAW,EAAE,QAAQ;gBACrB,UAAU,EAAE;oBACV,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB;aACF,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,SAAS,EAAE;gBACzB,GAAG,OAAO;gBACV,IAAI,EAAE,OAAO,CAAC,OAAO;aACtB,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { formatUnits } from "viem";
2
+ import { UserInputValidationError } from "../../../errors.js";
2
3
  import { CreatePaymentTransferQuoteBodySourceType, CreatePaymentTransferQuoteBodyTargetType, } from "../../../openapi-client/index.js";
3
4
  /**
4
5
  * Funds an EVM account.
@@ -14,8 +15,8 @@ export async function fund(apiClient, options) {
14
15
  if (!cardPaymentMethod) {
15
16
  throw new Error("No card found to fund account");
16
17
  }
17
- if (options.token.toLowerCase() !== "eth" && options.token.toLowerCase() !== "usdc") {
18
- throw new Error("Invalid currency, must be eth or usdc");
18
+ if (options.token !== "eth" && options.token !== "usdc") {
19
+ throw new UserInputValidationError("Invalid token, must be eth or usdc");
19
20
  }
20
21
  const decimals = options.token === "eth" ? 18 : 6;
21
22
  const amount = formatUnits(options.amount, decimals);
@@ -1 +1 @@
1
- {"version":3,"file":"fund.js","sourceRoot":"","sources":["../../../../actions/evm/fund/fund.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,EACL,wCAAwC,EACxC,wCAAwC,GAEzC,MAAM,kCAAkC,CAAC;AAgB1C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,SAA+B,EAC/B,OAAoB;IAEpB,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,iBAAiB,EAAE,CAAC;IAC3D,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACtE,CAAC;IAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QACpF,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,0BAA0B,CAAC;QAC1D,UAAU,EAAE,wCAAwC,CAAC,cAAc;QACnE,MAAM,EAAE;YACN,EAAE,EAAE,iBAAiB,CAAC,EAAE;SACzB;QACD,UAAU,EAAE,wCAAwC,CAAC,WAAW;QAChE,MAAM,EAAE;YACN,QAAQ,EAAE,OAAO,CAAC,KAAK;YACvB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB;QACD,MAAM;QACN,QAAQ,EAAE,OAAO,CAAC,KAAK;QACvB,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;QACxB,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;QACzC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;QAChC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,YAAY;QAC5C,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc;QAChD,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,eAAe;KACnD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"fund.js","sourceRoot":"","sources":["../../../../actions/evm/fund/fund.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,wCAAwC,EACxC,wCAAwC,GAEzC,MAAM,kCAAkC,CAAC;AAgB1C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,SAA+B,EAC/B,OAAoB;IAEpB,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,iBAAiB,EAAE,CAAC;IAC3D,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACtE,CAAC;IAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QACxD,MAAM,IAAI,wBAAwB,CAAC,oCAAoC,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,0BAA0B,CAAC;QAC1D,UAAU,EAAE,wCAAwC,CAAC,cAAc;QACnE,MAAM,EAAE;YACN,EAAE,EAAE,iBAAiB,CAAC,EAAE;SACzB;QACD,UAAU,EAAE,wCAAwC,CAAC,WAAW;QAChE,MAAM,EAAE;YACN,QAAQ,EAAE,OAAO,CAAC,KAAK;YACvB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB;QACD,MAAM;QACN,QAAQ,EAAE,OAAO,CAAC,KAAK;QACvB,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;QACxB,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;QACzC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;QAChC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,YAAY;QAC5C,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc;QAChD,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,eAAe;KACnD,CAAC;AACJ,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { formatUnits } from "viem";
2
2
  import { Quote } from "./Quote.js";
3
+ import { UserInputValidationError } from "../../../errors.js";
3
4
  import { CreatePaymentTransferQuoteBodySourceType, CreatePaymentTransferQuoteBodyTargetType, } from "../../../openapi-client/index.js";
4
5
  /**
5
6
  * Gets a quote to fund an EVM account.
@@ -15,8 +16,8 @@ export async function quoteFund(apiClient, options) {
15
16
  if (!cardPaymentMethod) {
16
17
  throw new Error("No card found to fund account");
17
18
  }
18
- if (options.token.toLowerCase() !== "eth" && options.token.toLowerCase() !== "usdc") {
19
- throw new Error("Invalid currency, must be eth or usdc");
19
+ if (options.token !== "eth" && options.token !== "usdc") {
20
+ throw new UserInputValidationError("Invalid token, must be eth or usdc");
20
21
  }
21
22
  const decimals = options.token === "eth" ? 18 : 6;
22
23
  const amount = formatUnits(options.amount, decimals);
@@ -1 +1 @@
1
- {"version":3,"file":"quoteFund.js","sourceRoot":"","sources":["../../../../actions/evm/fund/quoteFund.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EACL,wCAAwC,EACxC,wCAAwC,GAEzC,MAAM,kCAAkC,CAAC;AAgB1C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,SAA+B,EAC/B,OAAyB;IAEzB,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,iBAAiB,EAAE,CAAC;IAC3D,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACtE,CAAC;IAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QACpF,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,0BAA0B,CAAC;QAC1D,UAAU,EAAE,wCAAwC,CAAC,cAAc;QACnE,MAAM,EAAE;YACN,EAAE,EAAE,iBAAiB,CAAC,EAAE;SACzB;QACD,UAAU,EAAE,wCAAwC,CAAC,WAAW;QAChE,MAAM,EAAE;YACN,QAAQ,EAAE,OAAO,CAAC,KAAK;YACvB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB;QACD,MAAM;QACN,QAAQ,EAAE,OAAO,CAAC,KAAK;KACxB,CAAC,CAAC;IAEH,OAAO,IAAI,KAAK,CACd,SAAS,EACT,QAAQ,CAAC,QAAQ,CAAC,EAAE,EACpB,OAAO,CAAC,OAAO,EACf,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAC9B,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAChC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAC9B,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAChC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;KACvB,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"quoteFund.js","sourceRoot":"","sources":["../../../../actions/evm/fund/quoteFund.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,wCAAwC,EACxC,wCAAwC,GAEzC,MAAM,kCAAkC,CAAC;AAgB1C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,SAA+B,EAC/B,OAAyB;IAEzB,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,iBAAiB,EAAE,CAAC;IAC3D,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACtE,CAAC;IAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QACxD,MAAM,IAAI,wBAAwB,CAAC,oCAAoC,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,0BAA0B,CAAC;QAC1D,UAAU,EAAE,wCAAwC,CAAC,cAAc;QACnE,MAAM,EAAE;YACN,EAAE,EAAE,iBAAiB,CAAC,EAAE;SACzB;QACD,UAAU,EAAE,wCAAwC,CAAC,WAAW;QAChE,MAAM,EAAE;YACN,QAAQ,EAAE,OAAO,CAAC,KAAK;YACvB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB;QACD,MAAM;QACN,QAAQ,EAAE,OAAO,CAAC,KAAK;KACxB,CAAC,CAAC;IAEH,OAAO,IAAI,KAAK,CACd,SAAS,EACT,QAAQ,CAAC,QAAQ,CAAC,EAAE,EACpB,OAAO,CAAC,OAAO,EACf,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAC9B,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAChC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAC9B,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAChC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;KACvB,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Sends a Solana transaction using the Coinbase API.
3
+ *
4
+ * @param {CdpOpenApiClientType} apiClient - The API client to use.
5
+ * @param {SendTransactionOptions} options - Parameters for sending the Solana transaction.
6
+ * @param {string} options.network - The network to send the transaction to.
7
+ * @param {string} options.transaction - The base64 encoded transaction to send.
8
+ * @param {string} [options.idempotencyKey] - An idempotency key.
9
+ *
10
+ * @returns A promise that resolves to the transaction result.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const signature = await sendTransaction({
15
+ * network: "solana-devnet",
16
+ * transaction: "...",
17
+ * });
18
+ * ```
19
+ */
20
+ export async function sendTransaction(apiClient, options) {
21
+ const signature = await apiClient.sendSolanaTransaction({
22
+ network: options.network,
23
+ transaction: options.transaction,
24
+ }, options.idempotencyKey);
25
+ return {
26
+ signature: signature.transactionSignature,
27
+ };
28
+ }
29
+ //# sourceMappingURL=sendTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendTransaction.js","sourceRoot":"","sources":["../../../actions/solana/sendTransaction.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAA+B,EAC/B,OAA+B;IAE/B,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,qBAAqB,CACrD;QACE,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,EACD,OAAO,CAAC,cAAc,CACvB,CAAC;IAEF,OAAO;QACL,SAAS,EAAE,SAAS,CAAC,oBAAoB;KAC1C,CAAC;AACJ,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { getMint, getAssociatedTokenAddress, getAccount, createAssociatedTokenAccountInstruction, createTransferCheckedInstruction, } from "@solana/spl-token";
2
- import { MessageV0, PublicKey, SystemProgram, TransactionMessage, VersionedTransaction, } from "@solana/web3.js";
2
+ import { PublicKey, SystemProgram, SYSVAR_RECENT_BLOCKHASHES_PUBKEY, Transaction, } from "@solana/web3.js";
3
+ import { sendTransaction } from "./sendTransaction.js";
3
4
  import { getConnectedNetwork, getOrCreateConnection, getUsdcMintAddress, } from "./utils.js";
4
5
  /**
5
6
  * Transfers SOL or SPL tokens between accounts
@@ -11,9 +12,9 @@ import { getConnectedNetwork, getOrCreateConnection, getUsdcMintAddress, } from
11
12
  */
12
13
  export async function transfer(apiClient, options) {
13
14
  const connection = getOrCreateConnection({ networkOrConnection: options.network });
15
+ const connectedNetwork = await getConnectedNetwork(connection);
14
16
  const tx = options.token === "sol"
15
17
  ? await getNativeTransfer({
16
- connection,
17
18
  from: options.from,
18
19
  to: options.to,
19
20
  amount: options.amount,
@@ -22,52 +23,40 @@ export async function transfer(apiClient, options) {
22
23
  connection,
23
24
  from: options.from,
24
25
  to: options.to,
25
- mintAddress: options.token === "usdc"
26
- ? getUsdcMintAddress(await getConnectedNetwork(connection))
27
- : options.token,
26
+ mintAddress: options.token === "usdc" ? getUsdcMintAddress(connectedNetwork) : options.token,
28
27
  amount: options.amount,
29
28
  });
30
- const serializedTx = Buffer.from(tx.serialize()).toString("base64");
31
- const signedTxResponse = await apiClient.signSolanaTransaction(options.from, {
29
+ const serializedTx = Buffer.from(tx.serialize({ requireAllSignatures: false })).toString("base64");
30
+ const signature = await sendTransaction(apiClient, {
31
+ network: connectedNetwork === "mainnet" ? "solana" : "solana-devnet",
32
32
  transaction: serializedTx,
33
33
  });
34
- const decodedSignedTx = Buffer.from(signedTxResponse.signedTransaction, "base64");
35
- const signature = await connection.sendRawTransaction(decodedSignedTx, {
36
- skipPreflight: false,
37
- maxRetries: 3,
38
- });
39
- return { signature };
34
+ return signature;
40
35
  }
41
36
  /**
42
- * Gets the instructions for a native SOL transfer
37
+ * Gets the transaction for a native SOL transfer
43
38
  *
44
39
  * @param options - The options for the native SOL transfer
45
40
  *
46
- * @param options.connection - The Solana connection
47
41
  * @param options.from - The source address
48
42
  * @param options.to - The destination address
49
43
  * @param options.amount - The amount to transfer
50
44
  *
51
45
  * @returns The native SOL transfer transaction
52
46
  */
53
- async function getNativeTransfer({ connection, from, to, amount, }) {
54
- const { blockhash } = await connection.getLatestBlockhash();
55
- const instructions = [
56
- SystemProgram.transfer({
57
- fromPubkey: new PublicKey(from),
58
- toPubkey: new PublicKey(to),
59
- lamports: amount,
60
- }),
61
- ];
62
- const messageV0 = new TransactionMessage({
63
- payerKey: new PublicKey(from),
64
- recentBlockhash: blockhash,
65
- instructions,
66
- }).compileToV0Message();
67
- return new VersionedTransaction(messageV0);
47
+ async function getNativeTransfer({ from, to, amount, }) {
48
+ const transaction = new Transaction();
49
+ transaction.add(SystemProgram.transfer({
50
+ fromPubkey: new PublicKey(from),
51
+ toPubkey: new PublicKey(to),
52
+ lamports: amount,
53
+ }));
54
+ transaction.recentBlockhash = SYSVAR_RECENT_BLOCKHASHES_PUBKEY.toBase58();
55
+ transaction.feePayer = new PublicKey(from);
56
+ return transaction;
68
57
  }
69
58
  /**
70
- * Gets the instructions for a SPL token transfer
59
+ * Gets the transaction for a SPL token transfer
71
60
  *
72
61
  * @param options - The options for the SPL token transfer
73
62
  *
@@ -92,7 +81,7 @@ async function getSplTransfer({ connection, from, to, mintAddress, amount, }) {
92
81
  }
93
82
  const sourceAta = await getAssociatedTokenAddress(mintPubkey, fromPubkey);
94
83
  const destinationAta = await getAssociatedTokenAddress(mintPubkey, toPubkey);
95
- const instructions = [];
84
+ const transaction = new Transaction();
96
85
  const sourceAccount = await getAccount(connection, sourceAta);
97
86
  if (sourceAccount.amount < amount) {
98
87
  throw new Error(`Insufficient token balance. Have ${sourceAccount.amount}, need ${amount}`);
@@ -102,13 +91,11 @@ async function getSplTransfer({ connection, from, to, mintAddress, amount, }) {
102
91
  await getAccount(connection, destinationAta);
103
92
  }
104
93
  catch {
105
- instructions.push(createAssociatedTokenAccountInstruction(fromPubkey, destinationAta, toPubkey, mintPubkey));
94
+ transaction.add(createAssociatedTokenAccountInstruction(fromPubkey, destinationAta, toPubkey, mintPubkey));
106
95
  }
107
- instructions.push(createTransferCheckedInstruction(sourceAta, mintPubkey, destinationAta, fromPubkey, amount, mintInfo.decimals));
108
- return new VersionedTransaction(MessageV0.compile({
109
- payerKey: fromPubkey,
110
- instructions: instructions,
111
- recentBlockhash: (await connection.getLatestBlockhash()).blockhash,
112
- }));
96
+ transaction.add(createTransferCheckedInstruction(sourceAta, mintPubkey, destinationAta, fromPubkey, amount, mintInfo.decimals));
97
+ transaction.recentBlockhash = SYSVAR_RECENT_BLOCKHASHES_PUBKEY.toBase58();
98
+ transaction.feePayer = new PublicKey(from);
99
+ return transaction;
113
100
  }
114
101
  //# sourceMappingURL=transfer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../actions/solana/transfer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../actions/solana/transfer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Connection } from "@solana/web3.js";
2
- import { GENESIS_HASH_MAINNET, GENESIS_HASH_TESTNET, GENESIS_HASH_DEVNET, USDC_MAINNET_MINT_ADDRESS, USDC_DEVNET_MINT_ADDRESS, } from "./constants.js";
2
+ import { GENESIS_HASH_MAINNET, GENESIS_HASH_DEVNET, USDC_MAINNET_MINT_ADDRESS, USDC_DEVNET_MINT_ADDRESS, } from "./constants.js";
3
3
  /**
4
4
  * Get a connection to the Solana network
5
5
  *
@@ -15,15 +15,13 @@ export function getOrCreateConnection({ networkOrConnection, }) {
15
15
  }
16
16
  return new Connection(networkOrConnection === "mainnet"
17
17
  ? "https://api.mainnet-beta.solana.com"
18
- : networkOrConnection === "devnet"
19
- ? "https://api.devnet.solana.com"
20
- : "https://api.testnet.solana.com");
18
+ : "https://api.devnet.solana.com");
21
19
  }
22
20
  /**
23
21
  * Get the network of the connected Solana node
24
22
  *
25
23
  * @param connection - The connection to the Solana network
26
- * @throws {Error} If the network is not mainnet, devnet, or testnet
24
+ * @throws {Error} If the network is not mainnet or devnet
27
25
  *
28
26
  * @returns The network of the connected Solana node
29
27
  */
@@ -35,10 +33,7 @@ export async function getConnectedNetwork(connection) {
35
33
  else if (genesisHash === GENESIS_HASH_DEVNET) {
36
34
  return "devnet";
37
35
  }
38
- else if (genesisHash === GENESIS_HASH_TESTNET) {
39
- return "testnet";
40
- }
41
- throw new Error("Unknown network");
36
+ throw new Error("Unknown or unsupported network");
42
37
  }
43
38
  /**
44
39
  * Get the USDC mint address for the given connection
@@ -51,11 +46,6 @@ export function getUsdcMintAddress(network) {
51
46
  if (network === "mainnet") {
52
47
  return USDC_MAINNET_MINT_ADDRESS;
53
48
  }
54
- else if (network === "devnet") {
55
- return USDC_DEVNET_MINT_ADDRESS;
56
- }
57
- else {
58
- throw new Error("Testnet is not supported for USDC");
59
- }
49
+ return USDC_DEVNET_MINT_ADDRESS;
60
50
  }
61
51
  //# sourceMappingURL=utils.js.map