@zerodev/wallet-core 0.0.1-alpha.5 → 0.0.1-alpha.7

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 (150) hide show
  1. package/README.md +43 -2
  2. package/dist/_cjs/actions/auth/authenticateWithOAuth.js +3 -7
  3. package/dist/_cjs/actions/auth/authenticateWithOAuth.js.map +1 -1
  4. package/dist/_cjs/actions/auth/getUserEmail.js +15 -0
  5. package/dist/_cjs/actions/auth/getUserEmail.js.map +1 -0
  6. package/dist/_cjs/actions/auth/index.js +3 -1
  7. package/dist/_cjs/actions/auth/index.js.map +1 -1
  8. package/dist/_cjs/actions/auth/loginWithOTP.js +3 -5
  9. package/dist/_cjs/actions/auth/loginWithOTP.js.map +1 -1
  10. package/dist/_cjs/actions/auth/loginWithStamp.js +4 -3
  11. package/dist/_cjs/actions/auth/loginWithStamp.js.map +1 -1
  12. package/dist/_cjs/actions/auth/registerWithOTP.js +1 -2
  13. package/dist/_cjs/actions/auth/registerWithOTP.js.map +1 -1
  14. package/dist/_cjs/actions/index.js +2 -1
  15. package/dist/_cjs/actions/index.js.map +1 -1
  16. package/dist/_cjs/actions/wallet/signRawPayload.js +13 -12
  17. package/dist/_cjs/actions/wallet/signRawPayload.js.map +1 -1
  18. package/dist/_cjs/actions/wallet/signTransaction.js +12 -11
  19. package/dist/_cjs/actions/wallet/signTransaction.js.map +1 -1
  20. package/dist/_cjs/adapters/viem.js +2 -0
  21. package/dist/_cjs/adapters/viem.js.map +1 -1
  22. package/dist/_cjs/client/authProxy.js +31 -0
  23. package/dist/_cjs/client/authProxy.js.map +1 -0
  24. package/dist/_cjs/client/decorators/client.js +1 -0
  25. package/dist/_cjs/client/decorators/client.js.map +1 -1
  26. package/dist/_cjs/client/index.js +3 -1
  27. package/dist/_cjs/client/index.js.map +1 -1
  28. package/dist/_cjs/client/transports/rest.js +3 -1
  29. package/dist/_cjs/client/transports/rest.js.map +1 -1
  30. package/dist/_cjs/constants.js +2 -1
  31. package/dist/_cjs/constants.js.map +1 -1
  32. package/dist/_cjs/core/createZeroDevWallet.js +22 -16
  33. package/dist/_cjs/core/createZeroDevWallet.js.map +1 -1
  34. package/dist/_cjs/index.js +5 -1
  35. package/dist/_cjs/index.js.map +1 -1
  36. package/dist/_cjs/stampers/iframeStamper.js +3 -0
  37. package/dist/_cjs/stampers/iframeStamper.js.map +1 -1
  38. package/dist/_cjs/utils/buildClientSignature.js +39 -0
  39. package/dist/_cjs/utils/buildClientSignature.js.map +1 -0
  40. package/dist/_cjs/utils/derToRawSignature.js +63 -0
  41. package/dist/_cjs/utils/derToRawSignature.js.map +1 -0
  42. package/dist/_cjs/utils/exportPrivateKey.js +55 -0
  43. package/dist/_cjs/utils/exportPrivateKey.js.map +1 -0
  44. package/dist/_esm/actions/auth/authenticateWithOAuth.js +8 -10
  45. package/dist/_esm/actions/auth/authenticateWithOAuth.js.map +1 -1
  46. package/dist/_esm/actions/auth/getUserEmail.js +28 -0
  47. package/dist/_esm/actions/auth/getUserEmail.js.map +1 -0
  48. package/dist/_esm/actions/auth/index.js +1 -0
  49. package/dist/_esm/actions/auth/index.js.map +1 -1
  50. package/dist/_esm/actions/auth/loginWithOTP.js +14 -12
  51. package/dist/_esm/actions/auth/loginWithOTP.js.map +1 -1
  52. package/dist/_esm/actions/auth/loginWithStamp.js +4 -3
  53. package/dist/_esm/actions/auth/loginWithStamp.js.map +1 -1
  54. package/dist/_esm/actions/auth/registerWithOTP.js +5 -6
  55. package/dist/_esm/actions/auth/registerWithOTP.js.map +1 -1
  56. package/dist/_esm/actions/index.js +1 -1
  57. package/dist/_esm/actions/index.js.map +1 -1
  58. package/dist/_esm/actions/wallet/signRawPayload.js +13 -12
  59. package/dist/_esm/actions/wallet/signRawPayload.js.map +1 -1
  60. package/dist/_esm/actions/wallet/signTransaction.js +12 -11
  61. package/dist/_esm/actions/wallet/signTransaction.js.map +1 -1
  62. package/dist/_esm/adapters/viem.js +2 -0
  63. package/dist/_esm/adapters/viem.js.map +1 -1
  64. package/dist/_esm/client/authProxy.js +41 -0
  65. package/dist/_esm/client/authProxy.js.map +1 -0
  66. package/dist/_esm/client/decorators/client.js +2 -1
  67. package/dist/_esm/client/decorators/client.js.map +1 -1
  68. package/dist/_esm/client/index.js +1 -0
  69. package/dist/_esm/client/index.js.map +1 -1
  70. package/dist/_esm/client/transports/rest.js +3 -1
  71. package/dist/_esm/client/transports/rest.js.map +1 -1
  72. package/dist/_esm/constants.js +1 -0
  73. package/dist/_esm/constants.js.map +1 -1
  74. package/dist/_esm/core/createZeroDevWallet.js +30 -18
  75. package/dist/_esm/core/createZeroDevWallet.js.map +1 -1
  76. package/dist/_esm/index.js +3 -0
  77. package/dist/_esm/index.js.map +1 -1
  78. package/dist/_esm/stampers/iframeStamper.js +4 -1
  79. package/dist/_esm/stampers/iframeStamper.js.map +1 -1
  80. package/dist/_esm/utils/buildClientSignature.js +64 -0
  81. package/dist/_esm/utils/buildClientSignature.js.map +1 -0
  82. package/dist/_esm/utils/derToRawSignature.js +89 -0
  83. package/dist/_esm/utils/derToRawSignature.js.map +1 -0
  84. package/dist/_esm/utils/exportPrivateKey.js +83 -0
  85. package/dist/_esm/utils/exportPrivateKey.js.map +1 -0
  86. package/dist/_types/actions/auth/authenticateWithOAuth.d.ts +6 -8
  87. package/dist/_types/actions/auth/authenticateWithOAuth.d.ts.map +1 -1
  88. package/dist/_types/actions/auth/getUserEmail.d.ts +29 -0
  89. package/dist/_types/actions/auth/getUserEmail.d.ts.map +1 -0
  90. package/dist/_types/actions/auth/index.d.ts +1 -0
  91. package/dist/_types/actions/auth/index.d.ts.map +1 -1
  92. package/dist/_types/actions/auth/loginWithOTP.d.ts +15 -15
  93. package/dist/_types/actions/auth/loginWithOTP.d.ts.map +1 -1
  94. package/dist/_types/actions/auth/loginWithStamp.d.ts.map +1 -1
  95. package/dist/_types/actions/auth/registerWithOTP.d.ts +5 -11
  96. package/dist/_types/actions/auth/registerWithOTP.d.ts.map +1 -1
  97. package/dist/_types/actions/index.d.ts +1 -1
  98. package/dist/_types/actions/index.d.ts.map +1 -1
  99. package/dist/_types/actions/wallet/signRawPayload.d.ts +2 -0
  100. package/dist/_types/actions/wallet/signRawPayload.d.ts.map +1 -1
  101. package/dist/_types/actions/wallet/signTransaction.d.ts +2 -0
  102. package/dist/_types/actions/wallet/signTransaction.d.ts.map +1 -1
  103. package/dist/_types/adapters/viem.d.ts.map +1 -1
  104. package/dist/_types/client/authProxy.d.ts +36 -0
  105. package/dist/_types/client/authProxy.d.ts.map +1 -0
  106. package/dist/_types/client/decorators/client.d.ts +5 -1
  107. package/dist/_types/client/decorators/client.d.ts.map +1 -1
  108. package/dist/_types/client/index.d.ts +1 -0
  109. package/dist/_types/client/index.d.ts.map +1 -1
  110. package/dist/_types/client/transports/rest.d.ts +2 -0
  111. package/dist/_types/client/transports/rest.d.ts.map +1 -1
  112. package/dist/_types/constants.d.ts +1 -0
  113. package/dist/_types/constants.d.ts.map +1 -1
  114. package/dist/_types/core/createZeroDevWallet.d.ts +0 -3
  115. package/dist/_types/core/createZeroDevWallet.d.ts.map +1 -1
  116. package/dist/_types/index.d.ts +3 -0
  117. package/dist/_types/index.d.ts.map +1 -1
  118. package/dist/_types/stampers/iframeStamper.d.ts.map +1 -1
  119. package/dist/_types/stampers/types.d.ts +2 -0
  120. package/dist/_types/stampers/types.d.ts.map +1 -1
  121. package/dist/_types/utils/buildClientSignature.d.ts +25 -0
  122. package/dist/_types/utils/buildClientSignature.d.ts.map +1 -0
  123. package/dist/_types/utils/derToRawSignature.d.ts +11 -0
  124. package/dist/_types/utils/derToRawSignature.d.ts.map +1 -0
  125. package/dist/_types/utils/exportPrivateKey.d.ts +47 -0
  126. package/dist/_types/utils/exportPrivateKey.d.ts.map +1 -0
  127. package/dist/tsconfig.build.tsbuildinfo +1 -1
  128. package/package.json +3 -2
  129. package/src/actions/auth/authenticateWithOAuth.ts +9 -15
  130. package/src/actions/auth/getUserEmail.ts +45 -0
  131. package/src/actions/auth/index.ts +5 -2
  132. package/src/actions/auth/loginWithOTP.ts +18 -21
  133. package/src/actions/auth/loginWithStamp.ts +4 -3
  134. package/src/actions/auth/registerWithOTP.ts +6 -13
  135. package/src/actions/index.ts +3 -0
  136. package/src/actions/wallet/signRawPayload.ts +15 -11
  137. package/src/actions/wallet/signTransaction.ts +15 -11
  138. package/src/adapters/viem.ts +2 -0
  139. package/src/client/authProxy.ts +78 -0
  140. package/src/client/decorators/client.ts +11 -0
  141. package/src/client/index.ts +7 -0
  142. package/src/client/transports/rest.ts +5 -1
  143. package/src/constants.ts +2 -0
  144. package/src/core/createZeroDevWallet.ts +34 -21
  145. package/src/index.ts +4 -0
  146. package/src/stampers/iframeStamper.ts +16 -2
  147. package/src/stampers/types.ts +7 -0
  148. package/src/utils/buildClientSignature.ts +86 -0
  149. package/src/utils/derToRawSignature.ts +103 -0
  150. package/src/utils/exportPrivateKey.ts +116 -0
@@ -19,6 +19,7 @@ export async function toViemAccount(params) {
19
19
  return await client.signRawPayload({
20
20
  organizationId,
21
21
  projectId,
22
+ token,
22
23
  address,
23
24
  payload,
24
25
  encoding,
@@ -36,6 +37,7 @@ export async function toViemAccount(params) {
36
37
  const signature = await client.signTransaction({
37
38
  organizationId,
38
39
  projectId,
40
+ token,
39
41
  address,
40
42
  unsignedTransaction: nonHexPrefixedSerializedTx,
41
43
  });
@@ -1 +1 @@
1
- {"version":3,"file":"viem.js","sourceRoot":"","sources":["../../../src/adapters/viem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viem.js","sourceRoot":"","sources":["../../../src/adapters/viem.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ const AUTH_PROXY_BASE_URL = 'https://authproxy.turnkey.com';
2
+ /**
3
+ * Creates an Auth Proxy client for making requests to Turnkey's Auth Proxy
4
+ *
5
+ * Note: This client only handles OTP verification. The actual OTP login
6
+ * is handled by the backend (/auth/login/otp) which manages sub-organization
7
+ * creation and session handling.
8
+ */
9
+ export function createAuthProxyClient(config) {
10
+ const { authProxyConfigId, baseUrl = AUTH_PROXY_BASE_URL } = config;
11
+ async function request(path, body, method = 'POST') {
12
+ const fetchOptions = {
13
+ method,
14
+ headers: {
15
+ 'Content-Type': 'application/json',
16
+ 'X-Auth-Proxy-Config-Id': authProxyConfigId,
17
+ },
18
+ };
19
+ if (method !== 'GET') {
20
+ fetchOptions.body = JSON.stringify(body);
21
+ }
22
+ const response = await fetch(`${baseUrl}${path}`, fetchOptions);
23
+ if (!response.ok) {
24
+ const errorText = await response.text();
25
+ throw new Error(`Auth Proxy request failed: ${response.status} ${response.statusText} - ${errorText}`);
26
+ }
27
+ return response.json();
28
+ }
29
+ return {
30
+ /**
31
+ * Verifies an OTP code with Turnkey's Auth Proxy
32
+ *
33
+ * Returns a verificationToken that should be passed to the backend's
34
+ * /auth/login/otp endpoint along with a client signature.
35
+ */
36
+ async verifyOtp(params) {
37
+ return request('/v1/otp_verify', params);
38
+ },
39
+ };
40
+ }
41
+ //# sourceMappingURL=authProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authProxy.js","sourceRoot":"","sources":["../../../src/client/authProxy.ts"],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAG,+BAA+B,CAAA;AAuB3D;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAG,mBAAmB,EAAE,GAAG,MAAM,CAAA;IAEnE,KAAK,UAAU,OAAO,CACpB,IAAY,EACZ,IAAa,EACb,SAAyB,MAAM;QAE/B,MAAM,YAAY,GAAgB;YAChC,MAAM;YACN,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,wBAAwB,EAAE,iBAAiB;aAC5C;SACF,CAAA;QAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC1C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE,YAAY,CAAC,CAAA;QAE/D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YACvC,MAAM,IAAI,KAAK,CACb,8BAA8B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,MAAM,SAAS,EAAE,CACtF,CAAA;QACH,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;IACxB,CAAC;IAED,OAAO;QACL;;;;;WAKG;QACH,KAAK,CAAC,SAAS,CACb,MAAiC;YAEjC,OAAO,OAAO,CAA6B,gBAAgB,EAAE,MAAM,CAAC,CAAA;QACtE,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { loginWithStamp, } from '../../actions/auth/loginWithStamp.js';
2
- import { authenticateWithEmail, authenticateWithOAuth, getUserWallet, getWhoami, loginWithOTP, registerWithOTP, registerWithPasskey, signRawPayload, } from '../../actions/index.js';
2
+ import { authenticateWithEmail, authenticateWithOAuth, getUserEmail, getUserWallet, getWhoami, loginWithOTP, registerWithOTP, registerWithPasskey, signRawPayload, } from '../../actions/index.js';
3
3
  import { signTransaction, } from '../../actions/wallet/signTransaction.js';
4
4
  /**
5
5
  * Decorator function that adds ZeroDev Wallet client actions to a client
@@ -29,6 +29,7 @@ export function zeroDevWalletActions(client) {
29
29
  authenticateWithEmail: (params) => authenticateWithEmail(client, params),
30
30
  authenticateWithOAuth: (params) => authenticateWithOAuth(client, params),
31
31
  getWhoami: (params) => getWhoami(client, params),
32
+ getUserEmail: (params) => getUserEmail(client, params),
32
33
  // Wallet actions
33
34
  getUserWallet: (params) => getUserWallet(client, params),
34
35
  signRawPayload: (params) => signRawPayload(client, params),
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/client/decorators/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,cAAc,GACf,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAKL,qBAAqB,EACrB,qBAAqB,EAKrB,aAAa,EACb,SAAS,EAGT,YAAY,EAKZ,eAAe,EACf,mBAAmB,EAGnB,cAAc,GACf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAGL,eAAe,GAChB,MAAM,yCAAyC,CAAA;AA8EhD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,OAAO;QACL,eAAe;QACf,qBAAqB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC;QACxE,qBAAqB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC;QACxE,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;QAEhD,iBAAiB;QACjB,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC;QACxD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;QAC1D,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC;QAC5D,mBAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC;QACpE,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;QAC1D,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC;QAC5D,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;KACvD,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/client/decorators/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,cAAc,GACf,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAKL,qBAAqB,EACrB,qBAAqB,EAOrB,YAAY,EACZ,aAAa,EACb,SAAS,EAGT,YAAY,EAKZ,eAAe,EACf,mBAAmB,EAGnB,cAAc,GACf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAGL,eAAe,GAChB,MAAM,yCAAyC,CAAA;AAqFhD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,OAAO;QACL,eAAe;QACf,qBAAqB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC;QACxE,qBAAqB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC;QACxE,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;QAChD,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;QAEtD,iBAAiB;QACjB,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC;QACxD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;QAC1D,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC;QAC5D,mBAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC;QACpE,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;QAC1D,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC;QAC5D,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;KACvD,CAAA;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
+ export { createAuthProxyClient, } from './authProxy.js';
1
2
  export { createBaseClient, createClient, } from './createClient.js';
2
3
  export { zeroDevWalletTransport } from './transports/createTransport.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,YAAY,GAEb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,qBAAqB,GACtB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,gBAAgB,EAChB,YAAY,GAEb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { canonicalizeEx } from 'json-canonicalize';
1
2
  import { RestRequestError, RestTimeoutError } from '../../errors/request.js';
2
3
  export function rest(url, cfg) {
3
4
  const timeoutMs = cfg.timeoutMs ?? 10_000;
@@ -27,7 +28,7 @@ export function rest(url, cfg) {
27
28
  stamper = cfg.indexedDbStamper;
28
29
  }
29
30
  const { body, apiUrl } = args.body;
30
- const bodyString = `${JSON.stringify(body ?? args.body)}\n`;
31
+ const bodyString = canonicalizeEx(body ?? args.body);
31
32
  const stamp = await stamper.stamp(bodyString);
32
33
  // Restructure request body to match backend expectation
33
34
  if (args.stampPostion === 'headers') {
@@ -62,6 +63,7 @@ export function rest(url, cfg) {
62
63
  headers: requestHeaders,
63
64
  body: requestBody != null ? JSON.stringify(requestBody) : null,
64
65
  signal: controller.signal,
66
+ ...(args.credentials && { credentials: args.credentials }),
65
67
  };
66
68
  const finalInit = (await cfg.onRequest?.(fullUrl, init)) ?? init;
67
69
  const res = await fetch(fullUrl, finalInit);
@@ -1 +1 @@
1
- {"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../../src/client/transports/rest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../../src/client/transports/rest.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,6 @@ export const DEFAULT_SESSION_EXPIRATION_IN_SECONDS = '900'; // default to 15 min
2
2
  export const DEFAULT_IFRAME_CONTAINER_ID = 'turnkey-auth-iframe-container-id';
3
3
  export const DEFAULT_IFRAME_ELEMENT_ID = 'turnkey-default-iframe-element-id';
4
4
  export const DEFAULT_ORGANIZATION_ID = '6254bb1d-0d0d-4f7e-96b8-77c94fe0b0c1';
5
+ export const DEFAULT_AUTH_PROXY_CONFIG_ID = 'f69f6246-a814-43c6-90e6-2a8d947853d3';
5
6
  export const KMS_SERVER_URL = 'https://kms.dev.zerodev.app';
6
7
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qCAAqC,GAAG,KAAK,CAAA,CAAC,wBAAwB;AACnF,MAAM,CAAC,MAAM,2BAA2B,GAAG,kCAAkC,CAAA;AAC7E,MAAM,CAAC,MAAM,yBAAyB,GAAG,mCAAmC,CAAA;AAC5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,sCAAsC,CAAA;AAC7E,MAAM,CAAC,MAAM,cAAc,GAAG,6BAA6B,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qCAAqC,GAAG,KAAK,CAAA,CAAC,wBAAwB;AACnF,MAAM,CAAC,MAAM,2BAA2B,GAAG,kCAAkC,CAAA;AAC7E,MAAM,CAAC,MAAM,yBAAyB,GAAG,mCAAmC,CAAA;AAC5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,sCAAsC,CAAA;AAC7E,MAAM,CAAC,MAAM,4BAA4B,GACvC,sCAAsC,CAAA;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,6BAA6B,CAAA"}
@@ -1,12 +1,13 @@
1
1
  import { getWebAuthnAttestation } from '@turnkey/http';
2
2
  import { toViemAccount } from '../adapters/viem.js';
3
- import { createClient, zeroDevWalletTransport, } from '../client/index.js';
4
- import { DEFAULT_ORGANIZATION_ID, DEFAULT_SESSION_EXPIRATION_IN_SECONDS, KMS_SERVER_URL, } from '../constants.js';
3
+ import { createAuthProxyClient, createClient, zeroDevWalletTransport, } from '../client/index.js';
4
+ import { DEFAULT_AUTH_PROXY_CONFIG_ID, DEFAULT_ORGANIZATION_ID, DEFAULT_SESSION_EXPIRATION_IN_SECONDS, KMS_SERVER_URL, } from '../constants.js';
5
5
  import { createIndexedDbStamper } from '../stampers/indexedDbStamper.js';
6
6
  import { createWebauthnStamper } from '../stampers/webauthnStamper.js';
7
7
  import { createWebStorageAdapter } from '../storage/adapters.js';
8
8
  import { createStorageManager, } from '../storage/manager.js';
9
9
  import { SessionType } from '../types/session.js';
10
+ import { buildClientSignature } from '../utils/buildClientSignature.js';
10
11
  import { base64UrlEncode, generateCompressedPublicKeyFromKeyPair, generateRandomBuffer, humanReadableDateTime, parseSession, } from '../utils/utils.js';
11
12
  export async function createZeroDevWallet(config) {
12
13
  const { projectId, sessionStorage, rpId = window.location.hostname, organizationId = DEFAULT_ORGANIZATION_ID, } = config;
@@ -90,30 +91,26 @@ export async function createZeroDevWallet(config) {
90
91
  async auth(params) {
91
92
  switch (params.type) {
92
93
  case 'oauth': {
93
- const { credential } = params;
94
- const targetPublicKey = await client.indexedDbStamper.getPublicKey();
95
- if (!targetPublicKey) {
96
- throw new Error('Failed to get public key');
97
- }
94
+ // Backend OAuth flow - the backend reads the OAuth session from a cookie
95
+ // set during the OAuth popup flow via /oauth/google/login
98
96
  const data = await client.authenticateWithOAuth({
99
- oidcToken: credential,
100
- provider: 'google',
101
- targetPublicKey,
97
+ provider: params.provider,
102
98
  projectId,
103
99
  });
104
- if (data.turnkeySession) {
100
+ if (data.session) {
105
101
  // Parse the JWT to get session data
106
- const parsedSession = parseSession(data.turnkeySession);
102
+ const parsedSession = parseSession(data.session);
103
+ const publicKey = await client.indexedDbStamper.getPublicKey();
107
104
  const session = {
108
105
  id: `session_oauth_${Date.now()}`,
109
106
  userId: parsedSession.userId,
110
107
  organizationId: parsedSession.organizationId,
111
108
  stamperType: 'indexedDb',
112
109
  sessionType: parsedSession.sessionType || SessionType.READ_WRITE,
113
- token: data.turnkeySession,
110
+ token: data.session,
114
111
  expiry: parsedSession.expiry,
115
112
  createdAt: Date.now(),
116
- publicKey: targetPublicKey,
113
+ publicKey: publicKey || '',
117
114
  };
118
115
  await sessionStorageManager.storeSession(session, session.id);
119
116
  }
@@ -232,17 +229,32 @@ export async function createZeroDevWallet(config) {
232
229
  return data;
233
230
  }
234
231
  if (type === 'otp' && mode === 'verifyOtp') {
235
- const { otpId, otpCode, subOrganizationId } = params;
232
+ const { otpId, otpCode } = params;
233
+ // Step 1: Generate new key pair
236
234
  await client.indexedDbStamper.resetKeyPair();
237
235
  const targetPublicKey = await client.indexedDbStamper.getPublicKey();
238
236
  if (!targetPublicKey) {
239
237
  throw new Error('Failed to get public key');
240
238
  }
241
- const data = await client.loginWithOTP({
239
+ // Step 2: Verify OTP via Auth Proxy
240
+ const authProxyClient = createAuthProxyClient({
241
+ authProxyConfigId: DEFAULT_AUTH_PROXY_CONFIG_ID,
242
+ });
243
+ const { verificationToken } = await authProxyClient.verifyOtp({
242
244
  otpId,
243
245
  otpCode,
244
- subOrganizationId,
245
- encodedPublicKey: targetPublicKey,
246
+ public_key: targetPublicKey,
247
+ });
248
+ // Step 3: Build client signature
249
+ const clientSignature = await buildClientSignature({
250
+ verificationToken,
251
+ publicKey: targetPublicKey,
252
+ stamper: client.indexedDbStamper,
253
+ });
254
+ // Step 4: Login via backend (not Auth Proxy!)
255
+ const data = await client.loginWithOTP({
256
+ verificationToken,
257
+ clientSignature,
246
258
  projectId,
247
259
  });
248
260
  if (data.session) {
@@ -1 +1 @@
1
- {"version":3,"file":"createZeroDevWallet.js","sourceRoot":"","sources":["../../../src/core/createZeroDevWallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createZeroDevWallet.js","sourceRoot":"","sources":["../../../src/core/createZeroDevWallet.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,13 @@ export { toViemAccount } from './adapters/viem.js';
10
10
  export { zeroDevWalletActions } from './client/decorators/client.js';
11
11
  // Client
12
12
  export { createBaseClient, createClient, zeroDevWalletTransport, } from './client/index.js';
13
+ // Constants
14
+ export { KMS_SERVER_URL } from './constants.js';
13
15
  // Core
14
16
  export { createZeroDevWallet } from './core/createZeroDevWallet.js';
15
17
  // Stampers
16
18
  export { createIframeStamper, createIndexedDbStamper, createWebauthnStamper, } from './stampers/index.js';
19
+ export { exportPrivateKey } from './utils/exportPrivateKey.js';
17
20
  export { exportWallet } from './utils/exportWallet.js';
18
21
  // Utils
19
22
  export { normalizeTimestamp } from './utils/utils.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAuBA,UAAU;AACV,OAAO;AACL,eAAe;AACf,qBAAqB,EACrB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa,EACb,SAAS,EACT,YAAY,EACZ,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,oBAAoB,CAAA;AAE3B,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,oBAAoB;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAEpE,SAAS;AACT,OAAO,EACL,gBAAgB,EAChB,YAAY,EAEZ,sBAAsB,GACvB,MAAM,mBAAmB,CAAA;AAM1B,OAAO;AACP,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,WAAW;AACX,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,qBAAqB,CAAA;AAU5B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,QAAQ;AACR,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAuBA,UAAU;AACV,OAAO;AACL,eAAe;AACf,qBAAqB,EACrB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa,EACb,SAAS,EACT,YAAY,EACZ,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,oBAAoB,CAAA;AAE3B,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,oBAAoB;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAEpE,SAAS;AACT,OAAO,EACL,gBAAgB,EAChB,YAAY,EAEZ,sBAAsB,GACvB,MAAM,mBAAmB,CAAA;AAC1B,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAM/C,OAAO;AACP,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,WAAW;AACX,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,qBAAqB,CAAA;AAW5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,QAAQ;AACR,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA"}
@@ -1,4 +1,4 @@
1
- import { IframeStamper as TurnkeyIframeStamper } from '@turnkey/iframe-stamper';
1
+ import { KeyFormat, IframeStamper as TurnkeyIframeStamper, } from '@turnkey/iframe-stamper';
2
2
  export async function createIframeStamper(cfg) {
3
3
  const inner = new TurnkeyIframeStamper({
4
4
  iframeUrl: cfg.iframeUrl,
@@ -24,6 +24,9 @@ export async function createIframeStamper(cfg) {
24
24
  async injectWalletExportBundle(bundle, organizationId) {
25
25
  return await inner.injectWalletExportBundle(bundle, organizationId);
26
26
  },
27
+ async injectKeyExportBundle(bundle, organizationId, keyFormat) {
28
+ return await inner.injectKeyExportBundle(bundle, organizationId, keyFormat ? KeyFormat[keyFormat] : KeyFormat.Hexadecimal);
29
+ },
27
30
  };
28
31
  }
29
32
  //# sourceMappingURL=iframeStamper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iframeStamper.js","sourceRoot":"","sources":["../../../src/stampers/iframeStamper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAG/E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAIzC;IACC,MAAM,KAAK,GAAG,IAAI,oBAAoB,CAAC;QACrC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,eAAe,EAAE,GAAG,CAAC,eAAe;KACrC,CAAC,CAAA;IAEF,OAAO;QACL,KAAK,CAAC,IAAI;YACR,OAAO,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QAC3B,CAAC;QACD,KAAK,CAAC,sBAAsB,CAAC,MAAc;YACzC,OAAO,MAAM,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;QACnD,CAAC;QACD,KAAK,CAAC,YAAY;YAChB,OAAO,MAAM,KAAK,CAAC,oBAAoB,EAAE,CAAA;QAC3C,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,OAAe;YACzB,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACnC,CAAC;QACD,KAAK,CAAC,KAAK;YACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QACrB,CAAC;QACD,KAAK,CAAC,wBAAwB,CAAC,MAAc,EAAE,cAAsB;YACnE,OAAO,MAAM,KAAK,CAAC,wBAAwB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QACrE,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"iframeStamper.js","sourceRoot":"","sources":["../../../src/stampers/iframeStamper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,aAAa,IAAI,oBAAoB,GACtC,MAAM,yBAAyB,CAAA;AAGhC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAIzC;IACC,MAAM,KAAK,GAAG,IAAI,oBAAoB,CAAC;QACrC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,eAAe,EAAE,GAAG,CAAC,eAAe;KACrC,CAAC,CAAA;IAEF,OAAO;QACL,KAAK,CAAC,IAAI;YACR,OAAO,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QAC3B,CAAC;QACD,KAAK,CAAC,sBAAsB,CAAC,MAAc;YACzC,OAAO,MAAM,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;QACnD,CAAC;QACD,KAAK,CAAC,YAAY;YAChB,OAAO,MAAM,KAAK,CAAC,oBAAoB,EAAE,CAAA;QAC3C,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,OAAe;YACzB,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACnC,CAAC;QACD,KAAK,CAAC,KAAK;YACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QACrB,CAAC;QACD,KAAK,CAAC,wBAAwB,CAAC,MAAc,EAAE,cAAsB;YACnE,OAAO,MAAM,KAAK,CAAC,wBAAwB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QACrE,CAAC;QACD,KAAK,CAAC,qBAAqB,CACzB,MAAc,EACd,cAAsB,EACtB,SAAyB;YAEzB,OAAO,MAAM,KAAK,CAAC,qBAAqB,CACtC,MAAM,EACN,cAAc,EACd,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CACzD,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { derToRawSignature } from './derToRawSignature.js';
2
+ /**
3
+ * Builds a client signature for OTP login.
4
+ *
5
+ * Steps:
6
+ * 1. Decode verificationToken JWT to extract `id` field as tokenId
7
+ * 2. Build message: JSON.stringify({ login: { publicKey }, tokenId, type: "USAGE_TYPE_LOGIN" })
8
+ * 3. Sign message with stamper → get stampHeaderValue
9
+ * 4. Parse stampHeaderValue → extract DER signature hex
10
+ * 5. Convert DER to raw r||s format
11
+ * 6. Return raw signature hex
12
+ *
13
+ * @param params - The parameters for building the client signature
14
+ * @returns The raw r||s signature hex (64 bytes = 128 chars)
15
+ */
16
+ export async function buildClientSignature(params) {
17
+ const { verificationToken, publicKey, stamper } = params;
18
+ // Step 1: Extract tokenId from verification token JWT payload
19
+ const tokenId = extractTokenIdFromJwt(verificationToken);
20
+ // Step 2: Build the signature payload message
21
+ const signaturePayload = {
22
+ login: { publicKey },
23
+ tokenId,
24
+ type: 'USAGE_TYPE_LOGIN',
25
+ };
26
+ const message = JSON.stringify(signaturePayload);
27
+ // Step 3: Sign the message using the stamper
28
+ const stamp = await stamper.stamp(message);
29
+ // Step 4: Parse the stamp to extract the DER signature
30
+ // The stampHeaderValue is base64url encoded JSON containing the signature
31
+ const stampData = JSON.parse(base64UrlDecode(stamp.stampHeaderValue));
32
+ const derSignatureHex = stampData.signature;
33
+ // Step 5: Convert DER signature to raw r||s format
34
+ const rawSignature = derToRawSignature(derSignatureHex);
35
+ // Step 6: Return raw signature hex
36
+ return rawSignature;
37
+ }
38
+ /**
39
+ * Extracts the token ID (id field) from a JWT's payload
40
+ */
41
+ function extractTokenIdFromJwt(jwt) {
42
+ const parts = jwt.split('.');
43
+ if (parts.length !== 3) {
44
+ throw new Error('Invalid JWT format');
45
+ }
46
+ const payload = JSON.parse(base64UrlDecode(parts[1]));
47
+ if (!payload.id) {
48
+ throw new Error('JWT payload missing id field');
49
+ }
50
+ return payload.id;
51
+ }
52
+ /**
53
+ * Decodes a base64url encoded string
54
+ */
55
+ function base64UrlDecode(str) {
56
+ // Add padding if necessary
57
+ let base64 = str.replace(/-/g, '+').replace(/_/g, '/');
58
+ const padding = base64.length % 4;
59
+ if (padding) {
60
+ base64 += '='.repeat(4 - padding);
61
+ }
62
+ return atob(base64);
63
+ }
64
+ //# sourceMappingURL=buildClientSignature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildClientSignature.js","sourceRoot":"","sources":["../../../src/utils/buildClientSignature.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAW1D;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAkC;IAElC,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IAExD,8DAA8D;IAC9D,MAAM,OAAO,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAA;IAExD,8CAA8C;IAC9C,MAAM,gBAAgB,GAAG;QACvB,KAAK,EAAE,EAAE,SAAS,EAAE;QACpB,OAAO;QACP,IAAI,EAAE,kBAAkB;KACzB,CAAA;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;IAEhD,6CAA6C;IAC7C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAE1C,uDAAuD;IACvD,0EAA0E;IAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAA;IACrE,MAAM,eAAe,GAAW,SAAS,CAAC,SAAS,CAAA;IAEnD,mDAAmD;IACnD,MAAM,YAAY,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAA;IAEvD,mCAAmC;IACnC,OAAO,YAAY,CAAA;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,GAAW;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACvC,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAA;IACtD,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,OAAO,CAAC,EAAE,CAAA;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,GAAW;IAClC,2BAA2B;IAC3B,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACtD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IACjC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAA;IACnC,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAA;AACrB,CAAC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Converts a DER-encoded ECDSA signature to raw r||s format.
3
+ *
4
+ * DER format: 0x30 [length] 0x02 [r-length] [r] 0x02 [s-length] [s]
5
+ * Raw format: [r (32 bytes)] [s (32 bytes)]
6
+ *
7
+ * @param derHex - The DER-encoded signature as a hex string
8
+ * @returns The raw signature as a hex string (r||s, 64 bytes = 128 chars)
9
+ */
10
+ export function derToRawSignature(derHex) {
11
+ const der = hexToBytes(derHex);
12
+ // Verify SEQUENCE tag (0x30)
13
+ if (der[0] !== 0x30) {
14
+ throw new Error('Invalid DER signature: expected SEQUENCE tag (0x30)');
15
+ }
16
+ let offset = 2; // Skip SEQUENCE tag and length
17
+ // Parse r INTEGER
18
+ if (der[offset] !== 0x02) {
19
+ throw new Error('Invalid DER signature: expected INTEGER tag (0x02) for r');
20
+ }
21
+ offset++; // Skip INTEGER tag
22
+ const rLength = der[offset];
23
+ offset++; // Skip length byte
24
+ const rBytes = der.slice(offset, offset + rLength);
25
+ offset += rLength;
26
+ // Parse s INTEGER
27
+ if (der[offset] !== 0x02) {
28
+ throw new Error('Invalid DER signature: expected INTEGER tag (0x02) for s');
29
+ }
30
+ offset++; // Skip INTEGER tag
31
+ const sLength = der[offset];
32
+ offset++; // Skip length byte
33
+ const sBytes = der.slice(offset, offset + sLength);
34
+ // Remove leading zero bytes if present (DER uses signed integers)
35
+ // and pad to 32 bytes
36
+ const r = padTo32Bytes(stripLeadingZeros(rBytes));
37
+ const s = padTo32Bytes(stripLeadingZeros(sBytes));
38
+ // Concatenate r || s
39
+ const raw = new Uint8Array(64);
40
+ raw.set(r, 0);
41
+ raw.set(s, 32);
42
+ return bytesToHex(raw);
43
+ }
44
+ /**
45
+ * Converts a hex string to a Uint8Array
46
+ */
47
+ function hexToBytes(hex) {
48
+ const cleanHex = hex.startsWith('0x') ? hex.slice(2) : hex;
49
+ const bytes = new Uint8Array(cleanHex.length / 2);
50
+ for (let i = 0; i < bytes.length; i++) {
51
+ bytes[i] = parseInt(cleanHex.slice(i * 2, i * 2 + 2), 16);
52
+ }
53
+ return bytes;
54
+ }
55
+ /**
56
+ * Converts a Uint8Array to a hex string (no 0x prefix)
57
+ */
58
+ function bytesToHex(bytes) {
59
+ return Array.from(bytes)
60
+ .map((b) => b.toString(16).padStart(2, '0'))
61
+ .join('');
62
+ }
63
+ /**
64
+ * Strips leading zero bytes from a byte array
65
+ * DER integers are signed, so positive numbers may have a leading 0x00
66
+ */
67
+ function stripLeadingZeros(bytes) {
68
+ let start = 0;
69
+ while (start < bytes.length - 1 && bytes[start] === 0) {
70
+ start++;
71
+ }
72
+ return bytes.slice(start);
73
+ }
74
+ /**
75
+ * Pads a byte array to 32 bytes (left-padded with zeros)
76
+ */
77
+ function padTo32Bytes(bytes) {
78
+ if (bytes.length === 32) {
79
+ return bytes;
80
+ }
81
+ if (bytes.length > 32) {
82
+ // This shouldn't happen for P-256, but handle it gracefully
83
+ return bytes.slice(bytes.length - 32);
84
+ }
85
+ const padded = new Uint8Array(32);
86
+ padded.set(bytes, 32 - bytes.length);
87
+ return padded;
88
+ }
89
+ //# sourceMappingURL=derToRawSignature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derToRawSignature.js","sourceRoot":"","sources":["../../../src/utils/derToRawSignature.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Export a wallet account's private key
3
+ *
4
+ * This calls Turnkey's export_wallet_account API to get an encrypted bundle
5
+ * containing the account's private key. The bundle is encrypted with the
6
+ * targetPublicKey (from Turnkey's export iframe).
7
+ *
8
+ * @param params - Export parameters
9
+ * @returns Encrypted export bundle and metadata
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * // In UI: Initialize export iframe first
14
+ * const iframeStamper = await createIframeStamper({
15
+ * iframeUrl: 'https://export.turnkey.com',
16
+ * iframeContainer: document.getElementById('export-container'),
17
+ * iframeElementId: 'export-iframe'
18
+ * });
19
+ * const targetPublicKey = await iframeStamper.init();
20
+ *
21
+ * // Call SDK to get encrypted bundle
22
+ * const { exportBundle, address, organizationId } = await exportPrivateKey({
23
+ * wallet,
24
+ * targetPublicKey
25
+ * });
26
+ *
27
+ * // Inject into iframe to display private key
28
+ * await iframeStamper.injectKeyExportBundle(exportBundle, organizationId, 'Hexadecimal');
29
+ * ```
30
+ */
31
+ export async function exportPrivateKey(params) {
32
+ const { targetPublicKey, wallet, address: addressParam } = params;
33
+ const session = await wallet.getSession();
34
+ if (!session) {
35
+ throw new Error('Session not found');
36
+ }
37
+ const { organizationId } = session;
38
+ // If address not provided, get it from the wallet's account
39
+ let address = addressParam;
40
+ if (!address) {
41
+ const account = await wallet.toAccount();
42
+ if (!account?.address) {
43
+ throw new Error('Could not get address from wallet account');
44
+ }
45
+ address = account.address;
46
+ }
47
+ const exportBody = JSON.stringify({
48
+ type: 'ACTIVITY_TYPE_EXPORT_WALLET_ACCOUNT',
49
+ timestampMs: Date.now().toString(),
50
+ organizationId: organizationId,
51
+ parameters: {
52
+ address: address,
53
+ targetPublicKey,
54
+ },
55
+ });
56
+ const stamperKey = session.stamperType === 'indexedDb' ? 'indexedDbStamper' : 'webauthnStamper';
57
+ const stamper = wallet.client[stamperKey];
58
+ if (!stamper) {
59
+ throw new Error(`Stamper '${stamperKey}' not found on wallet.client`);
60
+ }
61
+ const exportStamp = await stamper.stamp(exportBody);
62
+ if (!exportStamp) {
63
+ throw new Error('Failed to stamp export body');
64
+ }
65
+ const exportResponse = await fetch('https://api.turnkey.com/public/v1/submit/export_wallet_account', {
66
+ method: 'POST',
67
+ body: exportBody,
68
+ headers: {
69
+ [exportStamp.stampHeaderName]: exportStamp.stampHeaderValue,
70
+ },
71
+ });
72
+ if (!exportResponse.ok) {
73
+ const errorText = await exportResponse.text();
74
+ throw new Error(`Failed to export wallet account: ${exportResponse.status} ${errorText}`);
75
+ }
76
+ const exportData = await exportResponse.json();
77
+ const exportBundle = exportData?.activity?.result?.exportWalletAccountResult?.exportBundle;
78
+ if (!exportBundle) {
79
+ throw new Error(`Export bundle not found in response: ${JSON.stringify(exportData)}`);
80
+ }
81
+ return { exportBundle, address: address, organizationId };
82
+ }
83
+ //# sourceMappingURL=exportPrivateKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exportPrivateKey.js","sourceRoot":"","sources":["../../../src/utils/exportPrivateKey.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAkC;IAElC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;IAEjE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACtC,CAAC;IACD,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;IAElC,4DAA4D;IAC5D,IAAI,OAAO,GAAG,YAAY,CAAA;IAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAA;QACxC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;QAC9D,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,EAAE,qCAAqC;QAC3C,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QAClC,cAAc,EAAE,cAAc;QAC9B,UAAU,EAAE;YACV,OAAO,EAAE,OAAO;YAChB,eAAe;SAChB;KACF,CAAC,CAAA;IAEF,MAAM,UAAU,GACd,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAA;IAC9E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,8BAA8B,CAAC,CAAA;IACvE,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,KAAK,CAChC,gEAAgE,EAChE;QACE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,gBAAgB;SAC5D;KACF,CACF,CAAA;IACD,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAA;QAC7C,MAAM,IAAI,KAAK,CACb,oCAAoC,cAAc,CAAC,MAAM,IAAI,SAAS,EAAE,CACzE,CAAA;IACH,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAA;IAE9C,MAAM,YAAY,GAChB,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,yBAAyB,EAAE,YAAY,CAAA;IAEvE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,wCAAwC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CACrE,CAAA;IACH,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,OAAQ,EAAE,cAAc,EAAE,CAAA;AAC5D,CAAC"}