accounts 0.14.6 → 0.14.8

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 (196) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/cli/Provider.d.ts.map +1 -1
  3. package/dist/cli/Provider.js +3 -2
  4. package/dist/cli/Provider.js.map +1 -1
  5. package/dist/cli/adapter.d.ts +0 -2
  6. package/dist/cli/adapter.d.ts.map +1 -1
  7. package/dist/cli/adapter.js +35 -153
  8. package/dist/cli/adapter.js.map +1 -1
  9. package/dist/cli/index.d.ts +1 -0
  10. package/dist/cli/index.d.ts.map +1 -1
  11. package/dist/cli/index.js +1 -0
  12. package/dist/cli/index.js.map +1 -1
  13. package/dist/cli/storage.d.ts +15 -0
  14. package/dist/cli/storage.d.ts.map +1 -0
  15. package/dist/cli/storage.js +127 -0
  16. package/dist/cli/storage.js.map +1 -0
  17. package/dist/core/AccessKey.d.ts +127 -23
  18. package/dist/core/AccessKey.d.ts.map +1 -1
  19. package/dist/core/AccessKey.js +192 -33
  20. package/dist/core/AccessKey.js.map +1 -1
  21. package/dist/core/Adapter.d.ts +94 -10
  22. package/dist/core/Adapter.d.ts.map +1 -1
  23. package/dist/core/Adapter.js.map +1 -1
  24. package/dist/core/Dialog.d.ts +13 -1
  25. package/dist/core/Dialog.d.ts.map +1 -1
  26. package/dist/core/Dialog.js +45 -101
  27. package/dist/core/Dialog.js.map +1 -1
  28. package/dist/core/ExecutionError.d.ts.map +1 -1
  29. package/dist/core/ExecutionError.js +6 -0
  30. package/dist/core/ExecutionError.js.map +1 -1
  31. package/dist/core/Messenger.d.ts +2 -8
  32. package/dist/core/Messenger.d.ts.map +1 -1
  33. package/dist/core/Messenger.js.map +1 -1
  34. package/dist/core/Provider.d.ts +14 -2
  35. package/dist/core/Provider.d.ts.map +1 -1
  36. package/dist/core/Provider.js +536 -45
  37. package/dist/core/Provider.js.map +1 -1
  38. package/dist/core/Remote.d.ts +39 -6
  39. package/dist/core/Remote.d.ts.map +1 -1
  40. package/dist/core/Remote.js.map +1 -1
  41. package/dist/core/Schema.d.ts +30 -2
  42. package/dist/core/Schema.d.ts.map +1 -1
  43. package/dist/core/Storage.d.ts +5 -1
  44. package/dist/core/Storage.d.ts.map +1 -1
  45. package/dist/core/Storage.js +19 -4
  46. package/dist/core/Storage.js.map +1 -1
  47. package/dist/core/Store.d.ts +12 -46
  48. package/dist/core/Store.d.ts.map +1 -1
  49. package/dist/core/Store.js +31 -7
  50. package/dist/core/Store.js.map +1 -1
  51. package/dist/core/WebAuthnCeremony.d.ts +0 -4
  52. package/dist/core/WebAuthnCeremony.d.ts.map +1 -1
  53. package/dist/core/WebAuthnCeremony.js.map +1 -1
  54. package/dist/core/adapters/dialog.d.ts +1 -1
  55. package/dist/core/adapters/dialog.d.ts.map +1 -1
  56. package/dist/core/adapters/dialog.js +33 -283
  57. package/dist/core/adapters/dialog.js.map +1 -1
  58. package/dist/core/adapters/local.d.ts.map +1 -1
  59. package/dist/core/adapters/local.js +117 -142
  60. package/dist/core/adapters/local.js.map +1 -1
  61. package/dist/core/adapters/privy.d.ts +21 -22
  62. package/dist/core/adapters/privy.d.ts.map +1 -1
  63. package/dist/core/adapters/privy.js +41 -49
  64. package/dist/core/adapters/privy.js.map +1 -1
  65. package/dist/core/adapters/turnkey.d.ts.map +1 -1
  66. package/dist/core/adapters/turnkey.js +13 -165
  67. package/dist/core/adapters/turnkey.js.map +1 -1
  68. package/dist/core/adapters/webAuthn.d.ts.map +1 -1
  69. package/dist/core/adapters/webAuthn.js +2 -4
  70. package/dist/core/adapters/webAuthn.js.map +1 -1
  71. package/dist/core/internal/AccessKeyTransaction.d.ts.map +1 -1
  72. package/dist/core/internal/AccessKeyTransaction.js +2 -5
  73. package/dist/core/internal/AccessKeyTransaction.js.map +1 -1
  74. package/dist/core/internal/RemoteRequests.d.ts +31 -0
  75. package/dist/core/internal/RemoteRequests.d.ts.map +1 -0
  76. package/dist/core/internal/RemoteRequests.js +141 -0
  77. package/dist/core/internal/RemoteRequests.js.map +1 -0
  78. package/dist/core/zod/rpc.d.ts +207 -2
  79. package/dist/core/zod/rpc.d.ts.map +1 -1
  80. package/dist/core/zod/rpc.js +55 -1
  81. package/dist/core/zod/rpc.js.map +1 -1
  82. package/dist/index.d.ts +0 -1
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +0 -1
  85. package/dist/index.js.map +1 -1
  86. package/dist/react/privy.d.ts +23 -0
  87. package/dist/react/privy.d.ts.map +1 -0
  88. package/dist/react/privy.js +221 -0
  89. package/dist/react/privy.js.map +1 -0
  90. package/dist/react-native/adapter.d.ts +1 -4
  91. package/dist/react-native/adapter.d.ts.map +1 -1
  92. package/dist/react-native/adapter.js +153 -318
  93. package/dist/react-native/adapter.js.map +1 -1
  94. package/dist/react-native/{storage.d.ts → asyncStorage.d.ts} +2 -6
  95. package/dist/react-native/asyncStorage.d.ts.map +1 -0
  96. package/dist/react-native/{storage.js → asyncStorage.js} +1 -26
  97. package/dist/react-native/asyncStorage.js.map +1 -0
  98. package/dist/react-native/index.d.ts +0 -2
  99. package/dist/react-native/index.d.ts.map +1 -1
  100. package/dist/react-native/index.js +0 -2
  101. package/dist/react-native/index.js.map +1 -1
  102. package/dist/react-native/secureStorage.d.ts +8 -0
  103. package/dist/react-native/secureStorage.d.ts.map +1 -0
  104. package/dist/react-native/secureStorage.js +28 -0
  105. package/dist/react-native/secureStorage.js.map +1 -0
  106. package/dist/server/Handler.d.ts +1 -0
  107. package/dist/server/Handler.d.ts.map +1 -1
  108. package/dist/server/Handler.js +1 -0
  109. package/dist/server/Handler.js.map +1 -1
  110. package/dist/server/Identity.d.ts +31 -0
  111. package/dist/server/Identity.d.ts.map +1 -0
  112. package/dist/server/Identity.js +47 -0
  113. package/dist/server/Identity.js.map +1 -0
  114. package/dist/server/index.d.ts +1 -0
  115. package/dist/server/index.d.ts.map +1 -1
  116. package/dist/server/index.js +1 -0
  117. package/dist/server/index.js.map +1 -1
  118. package/dist/server/internal/handlers/auth.d.ts +41 -0
  119. package/dist/server/internal/handlers/auth.d.ts.map +1 -1
  120. package/dist/server/internal/handlers/auth.js +77 -8
  121. package/dist/server/internal/handlers/auth.js.map +1 -1
  122. package/dist/server/internal/handlers/oidcProvider.d.ts +117 -0
  123. package/dist/server/internal/handlers/oidcProvider.d.ts.map +1 -0
  124. package/dist/server/internal/handlers/oidcProvider.js +147 -0
  125. package/dist/server/internal/handlers/oidcProvider.js.map +1 -0
  126. package/package.json +24 -2
  127. package/src/cli/Provider.localnet.test.ts +78 -33
  128. package/src/cli/Provider.ts +3 -2
  129. package/src/cli/adapter.ts +44 -221
  130. package/src/cli/index.ts +1 -0
  131. package/src/cli/storage.test.ts +122 -0
  132. package/src/cli/storage.ts +159 -0
  133. package/src/core/AccessKey.test.ts +228 -54
  134. package/src/core/AccessKey.ts +345 -68
  135. package/src/core/Adapter.ts +127 -27
  136. package/src/core/Dialog.browser.test.ts +49 -18
  137. package/src/core/Dialog.test-d.ts +13 -1
  138. package/src/core/Dialog.ts +67 -115
  139. package/src/core/ExecutionError.ts +6 -0
  140. package/src/core/Messenger.ts +2 -6
  141. package/src/core/Provider.browser.test.ts +86 -0
  142. package/src/core/Provider.localnet.test.ts +250 -3
  143. package/src/core/Provider.test-d.ts +15 -0
  144. package/src/core/Provider.test.ts +182 -0
  145. package/src/core/Provider.ts +660 -51
  146. package/src/core/Remote.ts +43 -7
  147. package/src/core/Storage.ts +32 -10
  148. package/src/core/Store.test.ts +227 -447
  149. package/src/core/Store.ts +62 -38
  150. package/src/core/WebAuthnCeremony.ts +0 -4
  151. package/src/core/adapters/dialog.test.ts +350 -433
  152. package/src/core/adapters/dialog.ts +31 -318
  153. package/src/core/adapters/local.test.ts +49 -10
  154. package/src/core/adapters/local.ts +140 -145
  155. package/src/core/adapters/privy.test-d.ts +4 -0
  156. package/src/core/adapters/privy.test.ts +20 -20
  157. package/src/core/adapters/privy.ts +61 -61
  158. package/src/core/adapters/turnkey.test.ts +30 -400
  159. package/src/core/adapters/turnkey.ts +13 -170
  160. package/src/core/adapters/webAuthn.ts +2 -4
  161. package/src/core/internal/AccessKeyTransaction.ts +2 -5
  162. package/src/core/internal/RemoteRequests.ts +216 -0
  163. package/src/core/zod/rpc.test-d.ts +32 -0
  164. package/src/core/zod/rpc.test.ts +161 -0
  165. package/src/core/zod/rpc.ts +62 -1
  166. package/src/index.ts +0 -1
  167. package/src/react/privy.test-d.ts +22 -0
  168. package/src/react/privy.ts +278 -0
  169. package/src/react-native/Provider.localnet.test.ts +167 -62
  170. package/src/react-native/adapter.ts +180 -440
  171. package/src/react-native/{storage.ts → asyncStorage.ts} +1 -31
  172. package/src/react-native/index.ts +0 -2
  173. package/src/react-native/secureStorage.ts +35 -0
  174. package/src/server/Handler.test-d.ts +13 -0
  175. package/src/server/Handler.ts +1 -0
  176. package/src/server/Identity.test-d.ts +23 -0
  177. package/src/server/Identity.ts +74 -0
  178. package/src/server/index.ts +1 -0
  179. package/src/server/internal/handlers/auth.test.ts +308 -5
  180. package/src/server/internal/handlers/auth.ts +108 -7
  181. package/src/server/internal/handlers/oidcProvider.test-d.ts +34 -0
  182. package/src/server/internal/handlers/oidcProvider.test.ts +212 -0
  183. package/src/server/internal/handlers/oidcProvider.ts +247 -0
  184. package/dist/cli/keyring.d.ts +0 -56
  185. package/dist/cli/keyring.d.ts.map +0 -1
  186. package/dist/cli/keyring.js +0 -156
  187. package/dist/cli/keyring.js.map +0 -1
  188. package/dist/react-native/Provider.d.ts +0 -12
  189. package/dist/react-native/Provider.d.ts.map +0 -1
  190. package/dist/react-native/Provider.js +0 -24
  191. package/dist/react-native/Provider.js.map +0 -1
  192. package/dist/react-native/storage.d.ts.map +0 -1
  193. package/dist/react-native/storage.js.map +0 -1
  194. package/src/cli/keyring.test.ts +0 -118
  195. package/src/cli/keyring.ts +0 -214
  196. package/src/react-native/Provider.ts +0 -36
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # accounts
2
2
 
3
+ ## 0.14.8
4
+
5
+ ### Patch Changes
6
+
7
+ - d0d3cea: Added OIDC identity-token support for verified email extraction.
8
+
9
+ ## 0.14.7
10
+
11
+ ### Patch Changes
12
+
13
+ - 8a9564b: Persist CLI access keys in filesystem-backed provider storage.
14
+ - edab403: Allow `Provider.create({ authorizeAccessKey })` to return `undefined` to skip access-key authorization for the current `wallet_connect`.
15
+ - df1615e: Persist access keys through provider storage.
16
+ - 1478791: Add provider-owned RPC action handling for adapters that expose a viem account with `getAccount`.
17
+
18
+ Adapters can now implement `getAccount` and optional `generateAccessKey` instead of duplicating transaction, signing, and access-key RPC actions.
19
+
20
+ - ad48834: Allowed the React Native adapter to connect without requesting an access key.
21
+ - 648df76: Make `accounts/react-native` adapter-only and move React Native storage adapters behind explicit subpaths.
22
+ - 694e022: Added a React Privy adapter at `accounts/react/privy`, backed Privy Ethereum signing with `secp256k1_sign`, and stopped exporting the lower-level Core JS Privy adapter from the root package entrypoint.
23
+ - b1a3a69: Added ability to batch key authorization + server auth into one digest.
24
+ - 18052eb: Added opt-in `identity.email` request capability to `wallet_connect`.
25
+
3
26
  ## 0.14.6
4
27
 
5
28
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../src/cli/Provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAElC;;;GAGG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CA4BjE;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAY,OAAO,GAAG,IAAI,CACxB,YAAY,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EACzC,SAAS,GAAG,oBAAoB,GAAG,MAAM,CAC1C,GAAG;QACF,0FAA0F;QAC1F,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC1B,CAAA;IACD,KAAY,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,UAAU,CAAA;CACxD"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../src/cli/Provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAGlC;;;GAGG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CA4BjE;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAY,OAAO,GAAG,IAAI,CACxB,YAAY,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EACzC,SAAS,GAAG,oBAAoB,GAAG,MAAM,CAC1C,GAAG;QACF,0FAA0F;QAC1F,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC1B,CAAA;IACD,KAAY,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,UAAU,CAAA;CACxD"}
@@ -1,11 +1,12 @@
1
1
  import * as CoreProvider from '../core/Provider.js';
2
2
  import { cli } from './adapter.js';
3
+ import * as Storage from './storage.js';
3
4
  /**
4
5
  * Creates a provider that bootstraps access-key authorization through the CLI
5
6
  * device-code flow.
6
7
  */
7
8
  export function create(options) {
8
- const { host = 'https://wallet.tempo.xyz/api/auth/cli', keysPath, open, pollIntervalMs, timeoutMs, ...rest } = options;
9
+ const { host = 'https://wallet.tempo.xyz/api/auth/cli', open, pollIntervalMs, storage = Storage.filesystem(), timeoutMs, ...rest } = options;
9
10
  // CLI defaults `mode` to `'pull'` (local account friendly path).
10
11
  const mpp = (() => {
11
12
  if (!options.mpp)
@@ -18,12 +19,12 @@ export function create(options) {
18
19
  ...rest,
19
20
  adapter: cli({
20
21
  host,
21
- ...(keysPath ? { keysPath } : {}),
22
22
  ...(open ? { open } : {}),
23
23
  ...(typeof pollIntervalMs !== 'undefined' ? { pollIntervalMs } : {}),
24
24
  ...(typeof timeoutMs !== 'undefined' ? { timeoutMs } : {}),
25
25
  }),
26
26
  ...(mpp ? { mpp } : {}),
27
+ storage,
27
28
  });
28
29
  }
29
30
  //# sourceMappingURL=Provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../src/cli/Provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAElC;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,OAAuB;IAC5C,MAAM,EACJ,IAAI,GAAG,uCAAuC,EAC9C,QAAQ,EACR,IAAI,EACJ,cAAc,EACd,SAAS,EACT,GAAG,IAAI,EACR,GAAG,OAAO,CAAA;IAEX,iEAAiE;IACjE,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE;QAChB,IAAI,CAAC,OAAO,CAAC,GAAG;YAAE,OAAO,SAAS,CAAA;QAClC,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,MAAe,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QACrF,OAAO,EAAE,IAAI,EAAE,MAAe,EAAE,CAAA;IAClC,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,YAAY,CAAC,MAAM,CAAC;QACzB,GAAG,IAAI;QACP,OAAO,EAAE,GAAG,CAAC;YACX,IAAI;YACJ,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,OAAO,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC;QACF,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxB,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../src/cli/Provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,OAAuB;IAC5C,MAAM,EACJ,IAAI,GAAG,uCAAuC,EAC9C,IAAI,EACJ,cAAc,EACd,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,EAC9B,SAAS,EACT,GAAG,IAAI,EACR,GAAG,OAAO,CAAA;IAEX,iEAAiE;IACjE,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE;QAChB,IAAI,CAAC,OAAO,CAAC,GAAG;YAAE,OAAO,SAAS,CAAA;QAClC,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,MAAe,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QACrF,OAAO,EAAE,IAAI,EAAE,MAAe,EAAE,CAAA;IAClC,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,YAAY,CAAC,MAAM,CAAC;QACzB,GAAG,IAAI;QACP,OAAO,EAAE,GAAG,CAAC;YACX,IAAI;YACJ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,OAAO,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC;QACF,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO;KACR,CAAC,CAAA;AACJ,CAAC"}
@@ -9,8 +9,6 @@ export declare namespace cli {
9
9
  host: string;
10
10
  /** Provider display name. @default "Tempo CLI" */
11
11
  name?: string | undefined;
12
- /** Path for managed CLI access keys. @default "~/.tempo/wallet/keys.toml" */
13
- keysPath?: string | undefined;
14
12
  /** Browser opener override. */
15
13
  open?: ((url: string) => Promise<void> | void) | undefined;
16
14
  /** Poll interval in milliseconds. @default 2000 */
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/cli/adapter.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAK7C;;GAEG;AACH,wBAAgB,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAqWzD;AAED,MAAM,CAAC,OAAO,WAAW,GAAG,CAAC;IAC3B,KAAY,OAAO,GAAG;QACpB,sFAAsF;QACtF,IAAI,EAAE,MAAM,CAAA;QACZ,kDAAkD;QAClD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzB,6EAA6E;QAC7E,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC7B,+BAA+B;QAC/B,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAA;QAC1D,mDAAmD;QACnD,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACnC,gEAAgE;QAChE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzB,oDAAoD;QACpD,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC/B,CAAA;CACF"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/cli/adapter.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAG7C;;GAEG;AACH,wBAAgB,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAoMzD;AAED,MAAM,CAAC,OAAO,WAAW,GAAG,CAAC;IAC3B,KAAY,OAAO,GAAG;QACpB,sFAAsF;QACtF,IAAI,EAAE,MAAM,CAAA;QACZ,kDAAkD;QAClD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzB,+BAA+B;QAC/B,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAA;QAC1D,mDAAmD;QACnD,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACnC,gEAAgE;QAChE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzB,oDAAoD;QACpD,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC/B,CAAA;CACF"}
@@ -1,132 +1,33 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import { setTimeout as sleep } from 'node:timers/promises';
3
- import { Address, Base64, Hash, Hex, P256, Provider as core_Provider, PublicKey, RpcResponse, } from 'ox';
3
+ import { Base64, Hash, Hex, P256, Provider as core_Provider, RpcResponse } from 'ox';
4
4
  import { KeyAuthorization } from 'ox/tempo';
5
5
  import { Account as TempoAccount, Secp256k1 } from 'viem/tempo';
6
6
  import * as z from 'zod/mini';
7
- import * as AccessKey from '../core/AccessKey.js';
8
7
  import * as Adapter from '../core/Adapter.js';
9
- import * as AccessKeyTransaction from '../core/internal/AccessKeyTransaction.js';
10
8
  import * as CliAuth from '../server/CliAuth.js';
11
- import * as Keyring from './keyring.js';
12
9
  /**
13
10
  * Creates a CLI bootstrap adapter backed by the device-code protocol.
14
11
  */
15
12
  export function cli(options) {
16
13
  const { name = 'Tempo CLI', rdns = 'xyz.tempo.cli' } = options;
17
- return Adapter.define({ name, rdns }, ({ getAccount, getClient, store }) => {
18
- async function loadManagedKey(address, parameters = {}) {
19
- const { keyType } = parameters;
20
- const { chainId } = store.getState();
21
- const entry = await Keyring.find({
22
- chainId,
23
- ...(keyType ? { keyType } : {}),
24
- ...(options.keysPath ? { path: options.keysPath } : {}),
25
- walletAddress: address,
26
- });
27
- if (!entry)
28
- return;
29
- const deserialized = KeyAuthorization.deserialize(entry.keyAuthorization);
30
- if (!deserialized.signature)
31
- throw new Error('Managed access key is missing a signature.');
32
- const keyAuthorization = deserialized;
33
- AccessKey.add({
34
- account: address,
35
- authorization: keyAuthorization,
36
- privateKey: entry.key,
37
- store,
38
- });
39
- return entry;
40
- }
41
- async function resolveManagedKey(options = {}) {
42
- const { address, keyType } = options;
43
- const requestedKeyType = keyType === 'p256' || keyType === 'secp256k1' ? keyType : undefined;
44
- const entry = address
45
- ? await loadManagedKey(address, requestedKeyType ? { keyType: requestedKeyType } : {})
46
- : undefined;
47
- if (entry) {
48
- const account = entry.keyType === 'p256'
49
- ? TempoAccount.fromP256(entry.key, { access: address })
50
- : TempoAccount.fromSecp256k1(entry.key, { access: address });
51
- return {
52
- account,
53
- key: entry.key,
54
- keyAddress: entry.keyAddress,
55
- keyType: entry.keyType,
56
- publicKey: account.publicKey,
57
- };
58
- }
59
- const nextKeyType = requestedKeyType === 'p256' ? 'p256' : 'secp256k1';
60
- const key = nextKeyType === 'p256' ? P256.randomPrivateKey() : Secp256k1.randomPrivateKey();
61
- const account = nextKeyType === 'p256'
62
- ? TempoAccount.fromP256(key, address ? { access: address } : undefined)
63
- : TempoAccount.fromSecp256k1(key, address ? { access: address } : undefined);
64
- return {
65
- account,
66
- key,
67
- keyAddress: Address.fromPublicKey(PublicKey.from(account.publicKey)),
68
- keyType: nextKeyType,
69
- publicKey: account.publicKey,
70
- };
71
- }
72
- async function saveManagedKey(address, managedKey, keyAuthorization) {
73
- if (!managedKey)
74
- return;
14
+ return Adapter.define({ name, rdns }, ({ store }) => {
15
+ async function saveGeneratedAccessKey(address, accessKey, keyAuthorization) {
75
16
  const signed = KeyAuthorization.fromRpc(z.encode(CliAuth.keyAuthorization, keyAuthorization));
76
- AccessKey.add({
17
+ store.accessKeys.add({
77
18
  account: address,
78
19
  authorization: signed,
79
- privateKey: managedKey.key,
80
- store,
81
- });
82
- await Keyring.upsert({
83
- chainId: Number(keyAuthorization.chainId),
84
- expiry: keyAuthorization.expiry ?? 0,
85
- key: managedKey.key,
86
- keyAddress: managedKey.keyAddress,
87
- keyAuthorization: KeyAuthorization.serialize(signed),
88
- keyType: managedKey.keyType,
89
- ...(keyAuthorization.limits
90
- ? { limits: keyAuthorization.limits.map((limit) => ({ ...limit })) }
91
- : {}),
92
- walletAddress: address,
93
- walletType: 'passkey',
94
- }, options.keysPath ? { path: options.keysPath } : {});
95
- }
96
- async function prepareManagedTransaction(client, parameters, options = {}) {
97
- const state = store.getState();
98
- const address = parameters.from ?? state.accounts[state.activeAccount]?.address;
99
- if (!address)
100
- throw new core_Provider.DisconnectedError({ message: 'No active account.' });
101
- await loadManagedKey(address);
102
- const transaction = await AccessKeyTransaction.create({
103
- address,
104
- calls: options.calls,
105
- chainId: options.chainId ?? state.chainId,
106
- client,
107
- store,
20
+ privateKey: accessKey.privateKey,
108
21
  });
109
- if (!transaction)
110
- throw new core_Provider.UnauthorizedError({
111
- message: `Account "${address}" cannot sign with an access key.`,
112
- });
113
- return await transaction.prepare(parameters);
114
- }
115
- async function loadManagedAccount(address) {
116
- await loadManagedKey(address);
117
- return getAccount({ address, signable: true });
118
22
  }
119
23
  async function authorize(request) {
120
24
  const { host, open = defaultOpen, pollIntervalMs = 2_000, timeoutMs = 5 * 60 * 1_000, } = options;
121
25
  const { account, authorizeAccessKey, method } = request;
122
- const managedKey = authorizeAccessKey && !authorizeAccessKey.publicKey && !authorizeAccessKey.address
123
- ? await resolveManagedKey({
124
- ...(account ? { address: account } : {}),
125
- ...(authorizeAccessKey.keyType ? { keyType: authorizeAccessKey.keyType } : {}),
126
- })
26
+ const generatedAccessKey = authorizeAccessKey && !authorizeAccessKey.publicKey && !authorizeAccessKey.address
27
+ ? createAccessKey({ keyType: authorizeAccessKey.keyType })
127
28
  : undefined;
128
- const publicKey = authorizeAccessKey?.publicKey ?? managedKey?.publicKey;
129
- const keyType = authorizeAccessKey?.keyType ?? managedKey?.keyType;
29
+ const publicKey = authorizeAccessKey?.publicKey ?? generatedAccessKey?.publicKey;
30
+ const keyType = authorizeAccessKey?.keyType ?? generatedAccessKey?.keyType;
130
31
  if (!publicKey)
131
32
  throw new RpcResponse.InvalidParamsError({
132
33
  message: method === 'wallet_connect'
@@ -176,8 +77,8 @@ export function cli(options) {
176
77
  }
177
78
  if (result.status === 'expired')
178
79
  throw new Error('Device code expired before authorization completed.');
179
- if (managedKey)
180
- await saveManagedKey(result.accountAddress, managedKey, result.keyAuthorization);
80
+ if (generatedAccessKey)
81
+ await saveGeneratedAccessKey(result.accountAddress, generatedAccessKey, result.keyAuthorization);
181
82
  return result;
182
83
  }
183
84
  throw new TimeoutError(url, created.code);
@@ -248,50 +149,21 @@ export function cli(options) {
248
149
  async revokeAccessKey() {
249
150
  throw unsupported('`wallet_revokeAccessKey` not supported by CLI adapter.');
250
151
  },
251
- async sendTransaction(parameters) {
252
- const { feePayer, ...rest } = parameters;
253
- const client = getClient(typeof feePayer === 'string' ? { feePayer } : {});
254
- const prepared = await prepareManagedTransaction(client, {
255
- ...rest,
256
- ...(feePayer ? { feePayer: true } : {}),
257
- }, {
258
- calls: parameters.calls,
259
- chainId: parameters.chainId,
260
- });
261
- return await prepared.send();
262
- },
263
- async sendTransactionSync(parameters) {
264
- const { feePayer, ...rest } = parameters;
265
- const client = getClient(typeof feePayer === 'string' ? { feePayer } : {});
266
- const prepared = await prepareManagedTransaction(client, {
267
- ...rest,
268
- ...(feePayer ? { feePayer: true } : {}),
269
- }, {
270
- calls: parameters.calls,
271
- chainId: parameters.chainId,
272
- });
273
- return await prepared.sendSync();
274
- },
275
- async signPersonalMessage({ address, data }) {
276
- const account = await loadManagedAccount(address);
277
- return await account.signMessage({ message: { raw: data } });
278
- },
279
- async signTransaction(parameters) {
280
- const { feePayer, ...rest } = parameters;
281
- const client = getClient(typeof feePayer === 'string' ? { feePayer } : {});
282
- const prepared = await prepareManagedTransaction(client, {
283
- ...rest,
284
- ...(feePayer ? { feePayer: true } : {}),
285
- }, {
286
- calls: parameters.calls,
287
- chainId: parameters.chainId,
152
+ },
153
+ async getAccount(options = {}) {
154
+ const { accounts, activeAccount, chainId } = store.getState();
155
+ const address = options.address ?? accounts[activeAccount]?.address;
156
+ if (!address)
157
+ throw new core_Provider.DisconnectedError({ message: 'No active account.' });
158
+ const account = await store.accessKeys.select({ account: address, chainId });
159
+ if (!account)
160
+ throw new core_Provider.UnauthorizedError({
161
+ message: `Account "${address}" cannot sign with an access key.`,
288
162
  });
289
- return await prepared.sign();
290
- },
291
- async signTypedData({ address, data }) {
292
- const account = await loadManagedAccount(address);
293
- return await account.signTypedData(JSON.parse(data));
294
- },
163
+ return { account };
164
+ },
165
+ generateAccessKey(options) {
166
+ return createAccessKey(options);
295
167
  },
296
168
  };
297
169
  });
@@ -369,4 +241,14 @@ async function post(options) {
369
241
  function unsupported(message) {
370
242
  return new core_Provider.UnsupportedMethodError({ message });
371
243
  }
244
+ function createAccessKey(options = {}) {
245
+ const keyType = options.keyType === 'p256' ? 'p256' : 'secp256k1';
246
+ const privateKey = keyType === 'p256' ? P256.randomPrivateKey() : Secp256k1.randomPrivateKey();
247
+ const account = keyType === 'p256' ? TempoAccount.fromP256(privateKey) : TempoAccount.fromSecp256k1(privateKey);
248
+ return {
249
+ keyType,
250
+ privateKey,
251
+ publicKey: account.publicKey,
252
+ };
253
+ }
372
254
  //# sourceMappingURL=adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/cli/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/cli/adapter.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * as Provider from './Provider.js';
2
2
  export { cli } from './adapter.js';
3
+ export * as Storage from './storage.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
package/dist/cli/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export * as Provider from './Provider.js';
2
2
  export { cli } from './adapter.js';
3
+ export * as Storage from './storage.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
@@ -0,0 +1,15 @@
1
+ import * as Storage from '../core/Storage.js';
2
+ /** Returns the default CLI provider storage path. */
3
+ export declare function defaultPath(): string;
4
+ /** Creates a filesystem-backed storage adapter for CLI provider state. */
5
+ export declare function filesystem(options?: filesystem.Options): Storage.Storage;
6
+ export declare namespace filesystem {
7
+ /** Options for {@link filesystem}. */
8
+ type Options = {
9
+ /** Storage key prefix. @default "tempo-cli" */
10
+ key?: string | undefined;
11
+ /** JSON file path. @default "~/.tempo/wallet/store.json" */
12
+ path?: string | undefined;
13
+ };
14
+ }
15
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/cli/storage.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAM7C,qDAAqD;AACrD,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,OAAO,GAAE,UAAU,CAAC,OAAY,GAAG,OAAO,CAAC,OAAO,CA0C5E;AAED,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC,sCAAsC;IACtC,KAAK,OAAO,GAAG;QACb,+CAA+C;QAC/C,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACxB,4DAA4D;QAC5D,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC1B,CAAA;CACF"}
@@ -0,0 +1,127 @@
1
+ import { chmod, mkdir, open, readFile, rename, unlink } from 'node:fs/promises';
2
+ import { homedir } from 'node:os';
3
+ import { dirname, join } from 'node:path';
4
+ import { Json } from 'ox';
5
+ import * as Storage from '../core/Storage.js';
6
+ const mode_directory = 0o700;
7
+ const mode_file = 0o600;
8
+ const operations = new Map();
9
+ /** Returns the default CLI provider storage path. */
10
+ export function defaultPath() {
11
+ return join(homedir(), '.tempo', 'wallet', 'store.json');
12
+ }
13
+ /** Creates a filesystem-backed storage adapter for CLI provider state. */
14
+ export function filesystem(options = {}) {
15
+ const path = expandPath(options.path ?? defaultPath());
16
+ function enqueue(fn) {
17
+ const operation = operations.get(path) ?? Promise.resolve();
18
+ const next = operation.then(fn, fn);
19
+ const done = next.then(() => undefined, () => undefined);
20
+ operations.set(path, done);
21
+ void done.then(() => {
22
+ if (operations.get(path) === done)
23
+ operations.delete(path);
24
+ });
25
+ return next;
26
+ }
27
+ return Storage.from({
28
+ async getItem(name) {
29
+ return await enqueue(async () => {
30
+ const value = await read(path);
31
+ return value[name] ?? null;
32
+ });
33
+ },
34
+ async removeItem(name) {
35
+ await enqueue(async () => {
36
+ const value = await read(path);
37
+ delete value[name];
38
+ await write(path, value);
39
+ });
40
+ },
41
+ async setItem(name, item) {
42
+ await enqueue(async () => {
43
+ const value = await read(path);
44
+ value[name] = item;
45
+ await write(path, value);
46
+ });
47
+ },
48
+ }, { key: options.key ?? 'tempo-cli' });
49
+ }
50
+ class FilesystemStorageError extends Error {
51
+ cause;
52
+ path;
53
+ constructor(path, message, cause) {
54
+ super(message);
55
+ this.name = 'FilesystemStorageError';
56
+ this.cause = cause;
57
+ this.path = path;
58
+ }
59
+ }
60
+ async function ensureDirectory(path) {
61
+ const dir = dirname(path);
62
+ await mkdir(dir, { mode: mode_directory, recursive: true });
63
+ await chmod(dir, mode_directory);
64
+ }
65
+ async function read(path) {
66
+ let text;
67
+ try {
68
+ text = await readFile(path, 'utf8');
69
+ }
70
+ catch (error) {
71
+ if (error.code === 'ENOENT')
72
+ return {};
73
+ throw new FilesystemStorageError(path, `Failed to read CLI storage file at ${path}.`, error);
74
+ }
75
+ const value = (() => {
76
+ try {
77
+ return Json.parse(text);
78
+ }
79
+ catch (error) {
80
+ throw new FilesystemStorageError(path, `Failed to parse CLI storage file at ${path}. The file is not valid JSON.`, error);
81
+ }
82
+ })();
83
+ if (!value || typeof value !== 'object' || Array.isArray(value))
84
+ throw new FilesystemStorageError(path, `Failed to parse CLI storage file at ${path}. The file is not a JSON object.`);
85
+ try {
86
+ await chmod(path, mode_file);
87
+ }
88
+ catch (error) {
89
+ throw new FilesystemStorageError(path, `Failed to secure CLI storage file at ${path}.`, error);
90
+ }
91
+ return value;
92
+ }
93
+ async function write(path, value) {
94
+ await ensureDirectory(path);
95
+ const path_temp = tempPath(path);
96
+ const handle = await open(path_temp, 'wx', mode_file);
97
+ try {
98
+ await handle.writeFile(Json.stringify(value), 'utf8');
99
+ await handle.sync();
100
+ }
101
+ catch (error) {
102
+ await handle.close().catch(() => undefined);
103
+ await unlink(path_temp).catch(() => undefined);
104
+ throw error;
105
+ }
106
+ await handle.close();
107
+ try {
108
+ await chmod(path_temp, mode_file);
109
+ await rename(path_temp, path);
110
+ await chmod(path, mode_file);
111
+ }
112
+ catch (error) {
113
+ await unlink(path_temp).catch(() => undefined);
114
+ throw error;
115
+ }
116
+ }
117
+ function expandPath(path) {
118
+ if (path === '~')
119
+ return homedir();
120
+ if (path.startsWith('~/'))
121
+ return join(homedir(), path.slice(2));
122
+ return path;
123
+ }
124
+ function tempPath(path) {
125
+ return `${path}.${process.pid}.${Date.now()}.${Math.random().toString(16).slice(2)}.tmp`;
126
+ }
127
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/cli/storage.ts"],"names":[],"mappings":"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"}