@coinbase/cdp-sdk 1.8.0 → 1.10.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 (142) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +190 -105
  3. package/_cjs/accounts/evm/toEvmServerAccount.js.map +1 -1
  4. package/_cjs/accounts/evm/toEvmSmartAccount.js.map +1 -1
  5. package/_cjs/accounts/solana/toSolanaAccount.js +7 -0
  6. package/_cjs/accounts/solana/toSolanaAccount.js.map +1 -1
  7. package/_cjs/actions/evm/transfer/accountTransferStrategy.js +30 -63
  8. package/_cjs/actions/evm/transfer/accountTransferStrategy.js.map +1 -1
  9. package/_cjs/actions/evm/transfer/smartAccountTransferStrategy.js +39 -56
  10. package/_cjs/actions/evm/transfer/smartAccountTransferStrategy.js.map +1 -1
  11. package/_cjs/actions/evm/transfer/transfer.js +2 -39
  12. package/_cjs/actions/evm/transfer/transfer.js.map +1 -1
  13. package/_cjs/actions/evm/transfer/utils.js +0 -12
  14. package/_cjs/actions/evm/transfer/utils.js.map +1 -1
  15. package/_cjs/actions/solana/constants.js +9 -0
  16. package/_cjs/actions/solana/constants.js.map +1 -0
  17. package/_cjs/actions/solana/transfer.js +117 -0
  18. package/_cjs/actions/solana/transfer.js.map +1 -0
  19. package/_cjs/actions/solana/utils.js +66 -0
  20. package/_cjs/actions/solana/utils.js.map +1 -0
  21. package/_cjs/analytics.js +2 -0
  22. package/_cjs/analytics.js.map +1 -1
  23. package/_cjs/client/evm/constants.js +21 -0
  24. package/_cjs/client/evm/constants.js.map +1 -0
  25. package/_cjs/client/evm/evm.js +75 -0
  26. package/_cjs/client/evm/evm.js.map +1 -1
  27. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +35 -4
  28. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  29. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.js +14 -1
  30. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.js.map +1 -1
  31. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.msw.js +26 -1
  32. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.msw.js.map +1 -1
  33. package/_cjs/openapi-client/generated/policy-engine/policy-engine.msw.js +121 -36
  34. package/_cjs/openapi-client/generated/policy-engine/policy-engine.msw.js.map +1 -1
  35. package/_cjs/policies/schema.js +60 -1
  36. package/_cjs/policies/schema.js.map +1 -1
  37. package/_cjs/version.js +1 -1
  38. package/_cjs/version.js.map +1 -1
  39. package/_esm/accounts/evm/toEvmServerAccount.js.map +1 -1
  40. package/_esm/accounts/evm/toEvmSmartAccount.js.map +1 -1
  41. package/_esm/accounts/solana/toSolanaAccount.js +7 -0
  42. package/_esm/accounts/solana/toSolanaAccount.js.map +1 -1
  43. package/_esm/actions/evm/transfer/accountTransferStrategy.js +31 -64
  44. package/_esm/actions/evm/transfer/accountTransferStrategy.js.map +1 -1
  45. package/_esm/actions/evm/transfer/smartAccountTransferStrategy.js +39 -56
  46. package/_esm/actions/evm/transfer/smartAccountTransferStrategy.js.map +1 -1
  47. package/_esm/actions/evm/transfer/transfer.js +2 -39
  48. package/_esm/actions/evm/transfer/transfer.js.map +1 -1
  49. package/_esm/actions/evm/transfer/utils.js +0 -11
  50. package/_esm/actions/evm/transfer/utils.js.map +1 -1
  51. package/_esm/actions/solana/constants.js +6 -0
  52. package/_esm/actions/solana/constants.js.map +1 -0
  53. package/_esm/actions/solana/transfer.js +114 -0
  54. package/_esm/actions/solana/transfer.js.map +1 -0
  55. package/_esm/actions/solana/utils.js +61 -0
  56. package/_esm/actions/solana/utils.js.map +1 -0
  57. package/_esm/analytics.js +2 -0
  58. package/_esm/analytics.js.map +1 -1
  59. package/_esm/client/evm/constants.js +18 -0
  60. package/_esm/client/evm/constants.js.map +1 -0
  61. package/_esm/client/evm/evm.js +75 -0
  62. package/_esm/client/evm/evm.js.map +1 -1
  63. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +34 -3
  64. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  65. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.js +12 -0
  66. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.js.map +1 -1
  67. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.msw.js +23 -0
  68. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.msw.js.map +1 -1
  69. package/_esm/openapi-client/generated/policy-engine/policy-engine.msw.js +116 -35
  70. package/_esm/openapi-client/generated/policy-engine/policy-engine.msw.js.map +1 -1
  71. package/_esm/policies/schema.js +59 -0
  72. package/_esm/policies/schema.js.map +1 -1
  73. package/_esm/version.js +1 -1
  74. package/_esm/version.js.map +1 -1
  75. package/_types/accounts/evm/toEvmServerAccount.d.ts.map +1 -1
  76. package/_types/accounts/evm/toEvmSmartAccount.d.ts.map +1 -1
  77. package/_types/accounts/solana/toSolanaAccount.d.ts.map +1 -1
  78. package/_types/actions/evm/transfer/accountTransferStrategy.d.ts +2 -2
  79. package/_types/actions/evm/transfer/accountTransferStrategy.d.ts.map +1 -1
  80. package/_types/actions/evm/transfer/smartAccountTransferStrategy.d.ts +2 -2
  81. package/_types/actions/evm/transfer/smartAccountTransferStrategy.d.ts.map +1 -1
  82. package/_types/actions/evm/transfer/transfer.d.ts +6 -4
  83. package/_types/actions/evm/transfer/transfer.d.ts.map +1 -1
  84. package/_types/actions/evm/transfer/types.d.ts +7 -52
  85. package/_types/actions/evm/transfer/types.d.ts.map +1 -1
  86. package/_types/actions/evm/transfer/utils.d.ts +0 -619
  87. package/_types/actions/evm/transfer/utils.d.ts.map +1 -1
  88. package/_types/actions/evm/types.d.ts +140 -68
  89. package/_types/actions/evm/types.d.ts.map +1 -1
  90. package/_types/actions/solana/constants.d.ts +6 -0
  91. package/_types/actions/solana/constants.d.ts.map +1 -0
  92. package/_types/actions/solana/transfer.d.ts +36 -0
  93. package/_types/actions/solana/transfer.d.ts.map +1 -0
  94. package/_types/actions/solana/types.d.ts +27 -0
  95. package/_types/actions/solana/types.d.ts.map +1 -1
  96. package/_types/actions/solana/utils.d.ts +34 -0
  97. package/_types/actions/solana/utils.d.ts.map +1 -0
  98. package/_types/analytics.d.ts.map +1 -1
  99. package/_types/client/evm/constants.d.ts +5 -0
  100. package/_types/client/evm/constants.d.ts.map +1 -0
  101. package/_types/client/evm/evm.d.ts +44 -1
  102. package/_types/client/evm/evm.d.ts.map +1 -1
  103. package/_types/client/evm/evm.types.d.ts +13 -1
  104. package/_types/client/evm/evm.types.d.ts.map +1 -1
  105. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +106 -17
  106. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
  107. package/_types/openapi-client/generated/evm-accounts/evm-accounts.d.ts +7 -1
  108. package/_types/openapi-client/generated/evm-accounts/evm-accounts.d.ts.map +1 -1
  109. package/_types/openapi-client/generated/evm-accounts/evm-accounts.msw.d.ts +2 -0
  110. package/_types/openapi-client/generated/evm-accounts/evm-accounts.msw.d.ts.map +1 -1
  111. package/_types/openapi-client/generated/policy-engine/policy-engine.msw.d.ts +5 -1
  112. package/_types/openapi-client/generated/policy-engine/policy-engine.msw.d.ts.map +1 -1
  113. package/_types/openapi-client/index.d.ts +2 -0
  114. package/_types/openapi-client/index.d.ts.map +1 -1
  115. package/_types/policies/schema.d.ts +630 -0
  116. package/_types/policies/schema.d.ts.map +1 -1
  117. package/_types/version.d.ts +1 -1
  118. package/_types/version.d.ts.map +1 -1
  119. package/accounts/evm/toEvmServerAccount.ts +7 -6
  120. package/accounts/evm/toEvmSmartAccount.ts +1 -2
  121. package/accounts/solana/toSolanaAccount.ts +7 -0
  122. package/actions/evm/transfer/accountTransferStrategy.ts +38 -78
  123. package/actions/evm/transfer/smartAccountTransferStrategy.ts +43 -63
  124. package/actions/evm/transfer/transfer.ts +10 -51
  125. package/actions/evm/transfer/types.ts +8 -66
  126. package/actions/evm/transfer/utils.ts +0 -13
  127. package/actions/evm/types.ts +143 -78
  128. package/actions/solana/constants.ts +6 -0
  129. package/actions/solana/transfer.ts +219 -0
  130. package/actions/solana/types.ts +28 -0
  131. package/actions/solana/utils.ts +79 -0
  132. package/analytics.ts +2 -0
  133. package/client/evm/constants.ts +17 -0
  134. package/client/evm/evm.ts +90 -0
  135. package/client/evm/evm.types.ts +14 -0
  136. package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +146 -18
  137. package/openapi-client/generated/evm-accounts/evm-accounts.msw.ts +41 -0
  138. package/openapi-client/generated/evm-accounts/evm-accounts.ts +20 -0
  139. package/openapi-client/generated/policy-engine/policy-engine.msw.ts +199 -56
  140. package/package.json +2 -1
  141. package/policies/schema.ts +83 -0
  142. package/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"accountTransferStrategy.js","sourceRoot":"","sources":["../../../../actions/evm/transfer/accountTransferStrategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accountTransferStrategy.js","sourceRoot":"","sources":["../../../../actions/evm/transfer/accountTransferStrategy.ts"],"names":[],"mappings":";;;AAAA,+BAAoD;AAEpD,yCAA6C;AAC7C,oFAAqF;AAMxE,QAAA,uBAAuB,GAA0C;IAC5E,eAAe,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;QACxE,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE;gBAChD,WAAW,EAAE,IAAA,qDAA2B,EAAC;oBACvC,KAAK;oBACL,EAAE;iBACH,CAAC;gBACF,OAAO;aACR,CAA+B,CAAC;QACnC,CAAC;QAED,MAAM,YAAY,GAAG,IAAA,0BAAe,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAErD,MAAM,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE;YAC/C,WAAW,EAAE,IAAA,qDAA2B,EAAC;gBACvC,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,IAAA,yBAAkB,EAAC;oBACvB,GAAG,EAAE,eAAQ;oBACb,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC;iBAClB,CAAC;aACH,CAAC;YACF,OAAO;SACR,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE;YAChD,WAAW,EAAE,IAAA,qDAA2B,EAAC;gBACvC,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,IAAA,yBAAkB,EAAC;oBACvB,GAAG,EAAE,eAAQ;oBACb,YAAY,EAAE,UAAU;oBACxB,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC;iBAClB,CAAC;aACH,CAAC;YACF,OAAO;SACR,CAA+B,CAAC;IACnC,CAAC;CACF,CAAC"}
@@ -4,66 +4,49 @@ exports.smartAccountTransferStrategy = void 0;
4
4
  const viem_1 = require("viem");
5
5
  const utils_js_1 = require("./utils.js");
6
6
  const sendUserOperation_js_1 = require("../sendUserOperation.js");
7
- const waitForUserOperation_js_1 = require("../waitForUserOperation.js");
8
7
  exports.smartAccountTransferStrategy = {
9
8
  executeTransfer: async ({ apiClient, from, to, value, token, network, paymasterUrl }) => {
10
- const userOpHash = await (async () => {
11
- if (token === "eth") {
12
- const result = await (0, sendUserOperation_js_1.sendUserOperation)(apiClient, {
13
- smartAccount: from,
14
- paymasterUrl,
15
- network,
16
- calls: [
17
- {
18
- to,
19
- value,
20
- data: "0x",
21
- },
22
- ],
23
- });
24
- return result.userOpHash;
25
- }
26
- else {
27
- const erc20Address = (0, utils_js_1.getErc20Address)(token, network);
28
- const result = await (0, sendUserOperation_js_1.sendUserOperation)(apiClient, {
29
- smartAccount: from,
30
- paymasterUrl,
31
- network,
32
- calls: [
33
- {
34
- to: erc20Address,
35
- data: (0, viem_1.encodeFunctionData)({
36
- abi: viem_1.erc20Abi,
37
- functionName: "approve",
38
- args: [to, value],
39
- }),
40
- },
41
- {
42
- to: erc20Address,
43
- data: (0, viem_1.encodeFunctionData)({
44
- abi: viem_1.erc20Abi,
45
- functionName: "transfer",
46
- args: [to, value],
47
- }),
48
- },
49
- ],
50
- });
51
- return result.userOpHash;
52
- }
53
- })();
54
- return userOpHash;
55
- },
56
- waitForResult: async ({ apiClient, publicClient, from, hash, waitOptions }) => {
57
- const result = await (0, waitForUserOperation_js_1.waitForUserOperation)(apiClient, {
58
- smartAccountAddress: from.address,
59
- userOpHash: hash,
60
- waitOptions,
61
- });
62
- if (result.status === "complete") {
63
- return { status: "success", transactionHash: hash };
9
+ if (token === "eth") {
10
+ const result = await (0, sendUserOperation_js_1.sendUserOperation)(apiClient, {
11
+ smartAccount: from,
12
+ paymasterUrl,
13
+ network,
14
+ calls: [
15
+ {
16
+ to,
17
+ value,
18
+ data: "0x",
19
+ },
20
+ ],
21
+ });
22
+ return result;
64
23
  }
65
24
  else {
66
- throw new Error(`Transaction failed. Check the transaction on the explorer: ${publicClient.chain.blockExplorers?.default.url}/tx/${hash}`);
25
+ const erc20Address = (0, utils_js_1.getErc20Address)(token, network);
26
+ const result = await (0, sendUserOperation_js_1.sendUserOperation)(apiClient, {
27
+ smartAccount: from,
28
+ paymasterUrl,
29
+ network,
30
+ calls: [
31
+ {
32
+ to: erc20Address,
33
+ data: (0, viem_1.encodeFunctionData)({
34
+ abi: viem_1.erc20Abi,
35
+ functionName: "approve",
36
+ args: [to, value],
37
+ }),
38
+ },
39
+ {
40
+ to: erc20Address,
41
+ data: (0, viem_1.encodeFunctionData)({
42
+ abi: viem_1.erc20Abi,
43
+ functionName: "transfer",
44
+ args: [to, value],
45
+ }),
46
+ },
47
+ ],
48
+ });
49
+ return result;
67
50
  }
68
51
  },
69
52
  };
@@ -1 +1 @@
1
- {"version":3,"file":"smartAccountTransferStrategy.js","sourceRoot":"","sources":["../../../../actions/evm/transfer/smartAccountTransferStrategy.ts"],"names":[],"mappings":";;;AAAA,+BAAoD;AAGpD,yCAA6C;AAE7C,kEAA4D;AAC5D,wEAAkE;AAErD,QAAA,4BAA4B,GAA+C;IACtF,eAAe,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;QACtF,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;YACnC,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAiB,EAAC,SAAS,EAAE;oBAChD,YAAY,EAAE,IAAI;oBAClB,YAAY;oBACZ,OAAO;oBACP,KAAK,EAAE;wBACL;4BACE,EAAE;4BACF,KAAK;4BACL,IAAI,EAAE,IAAI;yBACX;qBACF;iBACF,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC,UAAU,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,IAAA,0BAAe,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAErD,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAiB,EAAC,SAAS,EAAE;oBAChD,YAAY,EAAE,IAAI;oBAClB,YAAY;oBACZ,OAAO;oBACP,KAAK,EAAE;wBACL;4BACE,EAAE,EAAE,YAAY;4BAChB,IAAI,EAAE,IAAA,yBAAkB,EAAC;gCACvB,GAAG,EAAE,eAAQ;gCACb,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC;6BAClB,CAAC;yBACH;wBACD;4BACE,EAAE,EAAE,YAAY;4BAChB,IAAI,EAAE,IAAA,yBAAkB,EAAC;gCACvB,GAAG,EAAE,eAAQ;gCACb,YAAY,EAAE,UAAU;gCACxB,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC;6BAClB,CAAC;yBACH;qBACF;iBACF,CAAC,CAAC;gBAEH,OAAO,MAAM,CAAC,UAAU,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,aAAa,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE;QAC5E,MAAM,MAAM,GAAG,MAAM,IAAA,8CAAoB,EAAC,SAAS,EAAE;YACnD,mBAAmB,EAAE,IAAI,CAAC,OAAO;YACjC,UAAU,EAAE,IAAI;YAChB,WAAW;SACZ,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,8DAA8D,YAAY,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,OAAO,IAAI,EAAE,CAC1H,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"smartAccountTransferStrategy.js","sourceRoot":"","sources":["../../../../actions/evm/transfer/smartAccountTransferStrategy.ts"],"names":[],"mappings":";;;AAAA,+BAAoD;AAEpD,yCAA6C;AAC7C,kEAA4D;AAK/C,QAAA,4BAA4B,GAA+C;IACtF,eAAe,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;QACtF,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAiB,EAAC,SAAS,EAAE;gBAChD,YAAY,EAAE,IAAI;gBAClB,YAAY;gBACZ,OAAO;gBACP,KAAK,EAAE;oBACL;wBACE,EAAE;wBACF,KAAK;wBACL,IAAI,EAAE,IAAI;qBACX;iBACF;aACF,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAG,IAAA,0BAAe,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAErD,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAiB,EAAC,SAAS,EAAE;gBAChD,YAAY,EAAE,IAAI;gBAClB,YAAY;gBACZ,OAAO;gBACP,KAAK,EAAE;oBACL;wBACE,EAAE,EAAE,YAAY;wBAChB,IAAI,EAAE,IAAA,yBAAkB,EAAC;4BACvB,GAAG,EAAE,eAAQ;4BACb,YAAY,EAAE,SAAS;4BACvB,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC;yBAClB,CAAC;qBACH;oBACD;wBACE,EAAE,EAAE,YAAY;wBAChB,IAAI,EAAE,IAAA,yBAAkB,EAAC;4BACvB,GAAG,EAAE,eAAQ;4BACb,YAAY,EAAE,UAAU;4BACxB,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC;yBAClB,CAAC;qBACH;iBACF;aACF,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.transfer = transfer;
4
- const viem_1 = require("viem");
5
- const utils_js_1 = require("./utils.js");
6
4
  /**
7
5
  * Transfer an amount of a token from an account to another account.
8
6
  *
@@ -13,51 +11,16 @@ const utils_js_1 = require("./utils.js");
13
11
  * @returns The result of the transfer.
14
12
  */
15
13
  async function transfer(apiClient, from, transferArgs, transferStrategy) {
16
- const publicClient = (0, viem_1.createPublicClient)({
17
- chain: (0, utils_js_1.mapNetworkToChain)(transferArgs.network),
18
- transport: (0, viem_1.http)(),
19
- });
20
14
  const to = typeof transferArgs.to === "string" ? transferArgs.to : transferArgs.to.address;
21
- const value = await (async () => {
22
- // user supplied a bigint. otherwise, we need to convert the amount to a bigint
23
- if (typeof transferArgs.amount !== "string") {
24
- return transferArgs.amount;
25
- }
26
- const decimals = await (async () => {
27
- if (transferArgs.token === "eth") {
28
- return 18;
29
- }
30
- else if (transferArgs.token === "usdc") {
31
- return 6;
32
- }
33
- else {
34
- return publicClient.readContract({
35
- address: transferArgs.token,
36
- abi: viem_1.erc20Abi,
37
- functionName: "decimals",
38
- args: [],
39
- });
40
- }
41
- })();
42
- return (0, viem_1.parseUnits)(transferArgs.amount, decimals);
43
- })();
44
15
  const transfer = {
45
16
  apiClient,
46
17
  from,
47
18
  to,
48
- value,
19
+ value: transferArgs.amount,
49
20
  token: transferArgs.token,
50
21
  network: transferArgs.network,
51
22
  paymasterUrl: "paymasterUrl" in transferArgs ? transferArgs.paymasterUrl : undefined,
52
23
  };
53
- const hash = await transferStrategy.executeTransfer(transfer);
54
- const result = await transferStrategy.waitForResult({
55
- apiClient,
56
- publicClient,
57
- from,
58
- hash,
59
- waitOptions: transferArgs.waitOptions,
60
- });
61
- return result;
24
+ return transferStrategy.executeTransfer(transfer);
62
25
  }
63
26
  //# sourceMappingURL=transfer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../../actions/evm/transfer/transfer.ts"],"names":[],"mappings":";;AAsBA,4BA2DC;AAjFD,+BAAiG;AAEjG,yCAA+C;AAW/C;;;;;;;;GAQG;AACI,KAAK,UAAU,QAAQ,CAC5B,SAA+B,EAC/B,IAAO,EACP,YAA8F,EAC9F,gBAA8C;IAE9C,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAmB;QACxD,KAAK,EAAE,IAAA,4BAAiB,EAAC,YAAY,CAAC,OAAO,CAAC;QAC9C,SAAS,EAAE,IAAA,WAAI,GAAE;KAClB,CAAC,CAAC;IAEH,MAAM,EAAE,GACN,OAAO,YAAY,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAE,YAAY,CAAC,EAAE,CAAC,OAAmB,CAAC;IAE/F,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;QAC9B,+EAA+E;QAC/E,IAAI,OAAO,YAAY,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,YAAY,CAAC,MAAM,CAAC;QAC7B,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;YACjC,IAAI,YAAY,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBACjC,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,IAAI,YAAY,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBACzC,OAAO,CAAC,CAAC;YACX,CAAC;iBAAM,CAAC;gBACN,OAAO,YAAY,CAAC,YAAY,CAAC;oBAC/B,OAAO,EAAE,YAAY,CAAC,KAAK;oBAC3B,GAAG,EAAE,eAAQ;oBACb,YAAY,EAAE,UAAU;oBACxB,IAAI,EAAE,EAAE;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,IAAA,iBAAU,EAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,QAAQ,GAAG;QACf,SAAS;QACT,IAAI;QACJ,EAAE;QACF,KAAK;QACL,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,YAAY,EAAE,cAAc,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;KACrF,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE9D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC;QAClD,SAAS;QACT,YAAY;QACZ,IAAI;QACJ,IAAI;QACJ,WAAW,EAAE,YAAY,CAAC,WAAW;KACtC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../../actions/evm/transfer/transfer.ts"],"names":[],"mappings":";;AAoBA,4BAoBC;AA7BD;;;;;;;;GAQG;AACI,KAAK,UAAU,QAAQ,CAC5B,SAA+B,EAC/B,IAAO,EACP,YAAuF,EACvF,gBAA8C;IAE9C,MAAM,EAAE,GACN,OAAO,YAAY,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAE,YAAY,CAAC,EAAE,CAAC,OAAmB,CAAC;IAE/F,MAAM,QAAQ,GAAG;QACf,SAAS;QACT,IAAI;QACJ,EAAE;QACF,KAAK,EAAE,YAAY,CAAC,MAAM;QAC1B,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,YAAY,EAAE,cAAc,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;KACrF,CAAC;IAEF,OAAO,gBAAgB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AACpD,CAAC"}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getErc20Address = getErc20Address;
4
- exports.mapNetworkToChain = mapNetworkToChain;
5
- const chains_1 = require("viem/chains");
6
4
  /**
7
5
  * The address of an ERC20 token for a given network.
8
6
  */
@@ -26,14 +24,4 @@ const addressMap = {
26
24
  function getErc20Address(token, network) {
27
25
  return addressMap[network][token] ?? token;
28
26
  }
29
- /**
30
- * Map a network to a viem chain.
31
- * TODO: Add more networks (or dynamically map viem chains).
32
- *
33
- * @param network - The network to map to a chain.
34
- * @returns The chain for the given network.
35
- */
36
- function mapNetworkToChain(network) {
37
- return network === "base" ? chains_1.base : chains_1.baseSepolia;
38
- }
39
27
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../actions/evm/transfer/utils.ts"],"names":[],"mappings":";;AAyBA,0CAEC;AASD,8CAEC;AAtCD,wCAAgD;AAIhD;;GAEG;AACH,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE;QACJ,IAAI,EAAE,4CAA4C;KACnD;IACD,cAAc,EAAE;QACd,IAAI,EAAE,4CAA4C;KACnD;CACF,CAAC;AAEF;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAAC,KAAa,EAAE,OAAgB;IAC7D,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,OAAgB;IAChD,OAAO,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,aAAI,CAAC,CAAC,CAAC,oBAAW,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../actions/evm/transfer/utils.ts"],"names":[],"mappings":";;AAuBA,0CAEC;AAvBD;;GAEG;AACH,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE;QACJ,IAAI,EAAE,4CAA4C;KACnD;IACD,cAAc,EAAE;QACd,IAAI,EAAE,4CAA4C;KACnD;CACF,CAAC;AAEF;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAAC,KAAa,EAAE,OAAgB;IAC7D,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USDC_DEVNET_MINT_ADDRESS = exports.USDC_MAINNET_MINT_ADDRESS = exports.GENESIS_HASH_TESTNET = exports.GENESIS_HASH_DEVNET = exports.GENESIS_HASH_MAINNET = void 0;
4
+ exports.GENESIS_HASH_MAINNET = "5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d";
5
+ exports.GENESIS_HASH_DEVNET = "EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG";
6
+ exports.GENESIS_HASH_TESTNET = "4uhcVJyU9pJkvQyS88uRDiswHXSCkY3zQawwpjk2NsNY";
7
+ exports.USDC_MAINNET_MINT_ADDRESS = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
8
+ exports.USDC_DEVNET_MINT_ADDRESS = "4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU";
9
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../actions/solana/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,8CAA8C,CAAC;AACtE,QAAA,mBAAmB,GAAG,8CAA8C,CAAC;AACrE,QAAA,oBAAoB,GAAG,8CAA8C,CAAC;AAEtE,QAAA,yBAAyB,GAAG,8CAA8C,CAAC;AAC3E,QAAA,wBAAwB,GAAG,8CAA8C,CAAC"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transfer = transfer;
4
+ const spl_token_1 = require("@solana/spl-token");
5
+ const web3_js_1 = require("@solana/web3.js");
6
+ const utils_js_1 = require("./utils.js");
7
+ /**
8
+ * Transfers SOL or SPL tokens between accounts
9
+ *
10
+ * @param apiClient - The API client to use
11
+ * @param options - The transfer options
12
+ *
13
+ * @returns The transfer result
14
+ */
15
+ async function transfer(apiClient, options) {
16
+ const connection = (0, utils_js_1.getOrCreateConnection)({ networkOrConnection: options.network });
17
+ const tx = options.token === "sol"
18
+ ? await getNativeTransfer({
19
+ connection,
20
+ from: options.from,
21
+ to: options.to,
22
+ amount: options.amount,
23
+ })
24
+ : await getSplTransfer({
25
+ connection,
26
+ from: options.from,
27
+ to: options.to,
28
+ mintAddress: options.token === "usdc"
29
+ ? (0, utils_js_1.getUsdcMintAddress)(await (0, utils_js_1.getConnectedNetwork)(connection))
30
+ : options.token,
31
+ amount: options.amount,
32
+ });
33
+ const serializedTx = Buffer.from(tx.serialize()).toString("base64");
34
+ const signedTxResponse = await apiClient.signSolanaTransaction(options.from, {
35
+ transaction: serializedTx,
36
+ });
37
+ const decodedSignedTx = Buffer.from(signedTxResponse.signedTransaction, "base64");
38
+ const signature = await connection.sendRawTransaction(decodedSignedTx, {
39
+ skipPreflight: false,
40
+ maxRetries: 3,
41
+ });
42
+ return { signature };
43
+ }
44
+ /**
45
+ * Gets the instructions for a native SOL transfer
46
+ *
47
+ * @param options - The options for the native SOL transfer
48
+ *
49
+ * @param options.connection - The Solana connection
50
+ * @param options.from - The source address
51
+ * @param options.to - The destination address
52
+ * @param options.amount - The amount to transfer
53
+ *
54
+ * @returns The native SOL transfer transaction
55
+ */
56
+ async function getNativeTransfer({ connection, from, to, amount, }) {
57
+ const { blockhash } = await connection.getLatestBlockhash();
58
+ const instructions = [
59
+ web3_js_1.SystemProgram.transfer({
60
+ fromPubkey: new web3_js_1.PublicKey(from),
61
+ toPubkey: new web3_js_1.PublicKey(to),
62
+ lamports: amount,
63
+ }),
64
+ ];
65
+ const messageV0 = new web3_js_1.TransactionMessage({
66
+ payerKey: new web3_js_1.PublicKey(from),
67
+ recentBlockhash: blockhash,
68
+ instructions,
69
+ }).compileToV0Message();
70
+ return new web3_js_1.VersionedTransaction(messageV0);
71
+ }
72
+ /**
73
+ * Gets the instructions for a SPL token transfer
74
+ *
75
+ * @param options - The options for the SPL token transfer
76
+ *
77
+ * @param options.connection - The Solana connection
78
+ * @param options.from - The source address
79
+ * @param options.to - The destination address
80
+ * @param options.mintAddress - The mint address of the token
81
+ * @param options.amount - The amount to transfer
82
+ *
83
+ * @returns The SPL token transfer transaction
84
+ */
85
+ async function getSplTransfer({ connection, from, to, mintAddress, amount, }) {
86
+ const fromPubkey = new web3_js_1.PublicKey(from);
87
+ const toPubkey = new web3_js_1.PublicKey(to);
88
+ const mintPubkey = new web3_js_1.PublicKey(mintAddress);
89
+ let mintInfo;
90
+ try {
91
+ mintInfo = await (0, spl_token_1.getMint)(connection, mintPubkey);
92
+ }
93
+ catch (error) {
94
+ throw new Error(`Failed to fetch mint info for mint address ${mintAddress}. Error: ${error}`);
95
+ }
96
+ const sourceAta = await (0, spl_token_1.getAssociatedTokenAddress)(mintPubkey, fromPubkey);
97
+ const destinationAta = await (0, spl_token_1.getAssociatedTokenAddress)(mintPubkey, toPubkey);
98
+ const instructions = [];
99
+ const sourceAccount = await (0, spl_token_1.getAccount)(connection, sourceAta);
100
+ if (sourceAccount.amount < amount) {
101
+ throw new Error(`Insufficient token balance. Have ${sourceAccount.amount}, need ${amount}`);
102
+ }
103
+ // Check if destination account exists, if not create it
104
+ try {
105
+ await (0, spl_token_1.getAccount)(connection, destinationAta);
106
+ }
107
+ catch {
108
+ instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(fromPubkey, destinationAta, toPubkey, mintPubkey));
109
+ }
110
+ instructions.push((0, spl_token_1.createTransferCheckedInstruction)(sourceAta, mintPubkey, destinationAta, fromPubkey, amount, mintInfo.decimals));
111
+ return new web3_js_1.VersionedTransaction(web3_js_1.MessageV0.compile({
112
+ payerKey: fromPubkey,
113
+ instructions: instructions,
114
+ recentBlockhash: (await connection.getLatestBlockhash()).blockhash,
115
+ }));
116
+ }
117
+ //# sourceMappingURL=transfer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../actions/solana/transfer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getOrCreateConnection = getOrCreateConnection;
4
+ exports.getConnectedNetwork = getConnectedNetwork;
5
+ exports.getUsdcMintAddress = getUsdcMintAddress;
6
+ const web3_js_1 = require("@solana/web3.js");
7
+ const constants_js_1 = require("./constants.js");
8
+ /**
9
+ * Get a connection to the Solana network
10
+ *
11
+ * @param options - The options for the connection
12
+ *
13
+ * @param options.networkOrConnection - The network to use or a connection
14
+ *
15
+ * @returns The connection
16
+ */
17
+ function getOrCreateConnection({ networkOrConnection, }) {
18
+ if (typeof networkOrConnection !== "string") {
19
+ return networkOrConnection;
20
+ }
21
+ return new web3_js_1.Connection(networkOrConnection === "mainnet"
22
+ ? "https://api.mainnet-beta.solana.com"
23
+ : networkOrConnection === "devnet"
24
+ ? "https://api.devnet.solana.com"
25
+ : "https://api.testnet.solana.com");
26
+ }
27
+ /**
28
+ * Get the network of the connected Solana node
29
+ *
30
+ * @param connection - The connection to the Solana network
31
+ * @throws {Error} If the network is not mainnet, devnet, or testnet
32
+ *
33
+ * @returns The network of the connected Solana node
34
+ */
35
+ async function getConnectedNetwork(connection) {
36
+ const genesisHash = await connection.getGenesisHash();
37
+ if (genesisHash === constants_js_1.GENESIS_HASH_MAINNET) {
38
+ return "mainnet";
39
+ }
40
+ else if (genesisHash === constants_js_1.GENESIS_HASH_DEVNET) {
41
+ return "devnet";
42
+ }
43
+ else if (genesisHash === constants_js_1.GENESIS_HASH_TESTNET) {
44
+ return "testnet";
45
+ }
46
+ throw new Error("Unknown network");
47
+ }
48
+ /**
49
+ * Get the USDC mint address for the given connection
50
+ *
51
+ * @param network - The network to use
52
+ *
53
+ * @returns The USDC mint address
54
+ */
55
+ function getUsdcMintAddress(network) {
56
+ if (network === "mainnet") {
57
+ return constants_js_1.USDC_MAINNET_MINT_ADDRESS;
58
+ }
59
+ else if (network === "devnet") {
60
+ return constants_js_1.USDC_DEVNET_MINT_ADDRESS;
61
+ }
62
+ else {
63
+ throw new Error("Testnet is not supported for USDC");
64
+ }
65
+ }
66
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../actions/solana/utils.ts"],"names":[],"mappings":";;AAyBA,sDAcC;AAUD,kDAYC;AASD,gDAQC;AA9ED,6CAA6C;AAE7C,iDAMwB;AAQxB;;;;;;;;GAQG;AACH,SAAgB,qBAAqB,CAAC,EACpC,mBAAmB,GACU;IAC7B,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,oBAAU,CACnB,mBAAmB,KAAK,SAAS;QAC/B,CAAC,CAAC,qCAAqC;QACvC,CAAC,CAAC,mBAAmB,KAAK,QAAQ;YAChC,CAAC,CAAC,+BAA+B;YACjC,CAAC,CAAC,gCAAgC,CACvC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,mBAAmB,CAAC,UAAsB;IAC9D,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC;IAEtD,IAAI,WAAW,KAAK,mCAAoB,EAAE,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,IAAI,WAAW,KAAK,kCAAmB,EAAE,CAAC;QAC/C,OAAO,QAAQ,CAAC;IAClB,CAAC;SAAM,IAAI,WAAW,KAAK,mCAAoB,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,OAAgB;IACjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,wCAAyB,CAAC;IACnC,CAAC;SAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,uCAAwB,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
package/_cjs/analytics.js CHANGED
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Analytics = void 0;
7
7
  const md5_1 = __importDefault(require("md5"));
8
8
  const errors_js_1 = require("./openapi-client/errors.js");
9
+ const version_js_1 = require("./version.js");
9
10
  // This is a public client id for the analytics service
10
11
  const publicClientId = "54f2ee2fb3d2b901a829940d70fbfc13";
11
12
  exports.Analytics = {
@@ -33,6 +34,7 @@ async function sendEvent(event) {
33
34
  event_properties: {
34
35
  project_name: "cdp-sdk",
35
36
  cdp_sdk_language: "typescript",
37
+ version: version_js_1.version,
36
38
  ...event,
37
39
  },
38
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../analytics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../analytics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImportEvmAccountPublicRSAKey = void 0;
4
+ /**
5
+ * The public RSA key used to encrypt the private key when importing an EVM account.
6
+ */
7
+ exports.ImportEvmAccountPublicRSAKey = `-----BEGIN PUBLIC KEY-----
8
+ MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA2Fxydgm/ryYk0IexQIuL
9
+ 9DKyiIk2WmS36AZ83a9Z0QX53qdveg08b05g1Qr+o+COoYOT/FDi8anRGAs7rIyS
10
+ uigrjHR6VrmFjnGrrTr3MINwC9cYQFHwET8YVGRq+BB3iFTB1kIb9XJ/vT2sk1xP
11
+ hJ6JihEwSl4DgbeVjqw59wYqrNg355oa8EdFqkmfGU2tpbM56F8iv1F+shwkGo3y
12
+ GhW/UOQ5OLauXvsqo8ranwsK+lqFblLEMlNtn1VSJeO2vMxryeKFrY2ob8VqGchC
13
+ ftPJiLWs2Du6juw4C1rOWwSMlXzZ6cNMHkxdTcEHMr3C2TEHgzjZY41whMwNTB8q
14
+ /pxXnIbH77caaviRs4R/POe8cSsznalXj85LULvFWOIHp0w+jEYSii9Rp9XtHWAH
15
+ nrK/O/SVDtT1ohp2F+Zg1mojTgKfLOyGdOUXTi95naDTuG770rSjHdL80tJBz1Fd
16
+ +1pzGTGXGHLZQLX5YZm5iuy2cebWfF09VjIoCIlDB2++tr4M+O0Z1X1ZE0J5Ackq
17
+ rOluAFalaKynyH3KMyRg+NuLmibu5OmcMjCLK3D4X1YLiN2OK8/bbpEL8JYroDwb
18
+ EXIUW5mGS06YxfSUsxHzL9Tj00+GMm/Gvl0+4/+Vn8IXVHjQOSPNEy3EnqCiH/OW
19
+ 8v0IMC32CeGrX7mGbU+MzlsCAwEAAQ==
20
+ -----END PUBLIC KEY-----`;
21
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../client/evm/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,4BAA4B,GAAG;;;;;;;;;;;;;yBAanB,CAAC"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EvmClient = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const constants_js_1 = require("./constants.js");
4
6
  const toEvmServerAccount_js_1 = require("../../accounts/evm/toEvmServerAccount.js");
5
7
  const toEvmSmartAccount_js_1 = require("../../accounts/evm/toEvmSmartAccount.js");
6
8
  const getUserOperation_js_1 = require("../../actions/evm/getUserOperation.js");
@@ -60,6 +62,79 @@ class EvmClient {
60
62
  analytics_js_1.Analytics.wrapObjectMethodsWithErrorTracking(account);
61
63
  return account;
62
64
  }
65
+ /**
66
+ * Imports a CDP EVM account from an external source.
67
+ *
68
+ * @param {ImportServerAccountOptions} options - Parameters for importing the account.
69
+ * @param {string} options.privateKey - The private key of the account to import.
70
+ * @param {string} [options.name] - A name for the account to import.
71
+ * @param {string} [options.idempotencyKey] - An idempotency key.
72
+ *
73
+ * @returns A promise that resolves to the imported account.
74
+ *
75
+ * @example **Without arguments**
76
+ * ```ts
77
+ * const account = await cdp.evm.importAccount({
78
+ * privateKey: "0x123456"
79
+ * });
80
+ * ```
81
+ *
82
+ * @example **With a name**
83
+ * ```ts
84
+ * const account = await cdp.evm.importAccount({
85
+ * privateKey: "0x123456",
86
+ * name: "MyAccount"
87
+ * });
88
+ * ```
89
+ *
90
+ * @example **With an idempotency key**
91
+ * ```ts
92
+ * const idempotencyKey = uuidv4();
93
+ *
94
+ * // First call
95
+ * await cdp.evm.importAccount({
96
+ * privateKey: "0x123456",
97
+ * idempotencyKey,
98
+ * });
99
+ *
100
+ * // Second call with the same idempotency key will return the same account
101
+ * await cdp.evm.importAccount({
102
+ * privateKey: "0x123456"
103
+ * idempotencyKey,
104
+ * });
105
+ * ```
106
+ */
107
+ async importAccount(options) {
108
+ const privateKeyHex = options.privateKey.startsWith("0x")
109
+ ? options.privateKey.slice(2)
110
+ : options.privateKey;
111
+ if (!/^[0-9a-fA-F]+$/.test(privateKeyHex)) {
112
+ throw new Error("Private key must be a valid hexadecimal string");
113
+ }
114
+ try {
115
+ const privateKeyBytes = Buffer.from(privateKeyHex, "hex");
116
+ const encryptedPrivateKey = (0, crypto_1.publicEncrypt)({
117
+ key: constants_js_1.ImportEvmAccountPublicRSAKey,
118
+ padding: crypto_1.constants.RSA_PKCS1_OAEP_PADDING,
119
+ oaepHash: "sha256",
120
+ }, privateKeyBytes);
121
+ const openApiAccount = await index_js_1.CdpOpenApiClient.importEvmAccount({
122
+ name: options.name,
123
+ encryptedPrivateKey: encryptedPrivateKey.toString("base64"),
124
+ }, options.idempotencyKey);
125
+ const account = (0, toEvmServerAccount_js_1.toEvmServerAccount)(index_js_1.CdpOpenApiClient, {
126
+ account: openApiAccount,
127
+ });
128
+ analytics_js_1.Analytics.wrapObjectMethodsWithErrorTracking(account);
129
+ return account;
130
+ }
131
+ catch (error) {
132
+ if (error instanceof errors_js_1.APIError) {
133
+ throw error;
134
+ }
135
+ throw new Error(`Failed to import account: ${String(error)}`);
136
+ }
137
+ }
63
138
  /**
64
139
  * Creates a new CDP EVM smart account.
65
140
  *
@@ -1 +1 @@
1
- {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../client/evm/evm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../client/evm/evm.ts"],"names":[],"mappings":"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"}