tempo.ts 0.7.5 → 0.8.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 (147) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/chains.d.ts +6 -20
  3. package/dist/chains.d.ts.map +1 -1
  4. package/dist/chains.js +14 -15
  5. package/dist/chains.js.map +1 -1
  6. package/dist/ox/KeyAuthorization.d.ts +356 -0
  7. package/dist/ox/KeyAuthorization.d.ts.map +1 -0
  8. package/dist/ox/KeyAuthorization.js +360 -0
  9. package/dist/ox/KeyAuthorization.js.map +1 -0
  10. package/dist/ox/SignatureEnvelope.d.ts +21 -6
  11. package/dist/ox/SignatureEnvelope.d.ts.map +1 -1
  12. package/dist/ox/SignatureEnvelope.js +43 -3
  13. package/dist/ox/SignatureEnvelope.js.map +1 -1
  14. package/dist/ox/Transaction.d.ts +5 -1
  15. package/dist/ox/Transaction.d.ts.map +1 -1
  16. package/dist/ox/Transaction.js +5 -0
  17. package/dist/ox/Transaction.js.map +1 -1
  18. package/dist/ox/TransactionEnvelopeAA.d.ts +9 -0
  19. package/dist/ox/TransactionEnvelopeAA.d.ts.map +1 -1
  20. package/dist/ox/TransactionEnvelopeAA.js +17 -4
  21. package/dist/ox/TransactionEnvelopeAA.js.map +1 -1
  22. package/dist/ox/TransactionRequest.d.ts +7 -1
  23. package/dist/ox/TransactionRequest.d.ts.map +1 -1
  24. package/dist/ox/TransactionRequest.js +12 -0
  25. package/dist/ox/TransactionRequest.js.map +1 -1
  26. package/dist/ox/index.d.ts +1 -0
  27. package/dist/ox/index.d.ts.map +1 -1
  28. package/dist/ox/index.js +1 -0
  29. package/dist/ox/index.js.map +1 -1
  30. package/dist/prool/Instance.js +1 -1
  31. package/dist/prool/Instance.js.map +1 -1
  32. package/{src/prool/internal → dist/prool}/chain.json +4 -2
  33. package/dist/viem/Abis.d.ts +319 -6
  34. package/dist/viem/Abis.d.ts.map +1 -1
  35. package/dist/viem/Abis.js +199 -7
  36. package/dist/viem/Abis.js.map +1 -1
  37. package/dist/viem/Account.d.ts +103 -14
  38. package/dist/viem/Account.d.ts.map +1 -1
  39. package/dist/viem/Account.js +177 -23
  40. package/dist/viem/Account.js.map +1 -1
  41. package/dist/viem/Actions/account.d.ts.map +1 -1
  42. package/dist/viem/Actions/account.js +4 -5
  43. package/dist/viem/Actions/account.js.map +1 -1
  44. package/dist/viem/Actions/amm.d.ts +84 -32
  45. package/dist/viem/Actions/amm.d.ts.map +1 -1
  46. package/dist/viem/Actions/amm.js +12 -32
  47. package/dist/viem/Actions/amm.js.map +1 -1
  48. package/dist/viem/Actions/dex.d.ts +156 -4
  49. package/dist/viem/Actions/dex.d.ts.map +1 -1
  50. package/dist/viem/Actions/fee.d.ts +4 -0
  51. package/dist/viem/Actions/fee.d.ts.map +1 -1
  52. package/dist/viem/Actions/reward.d.ts +78 -0
  53. package/dist/viem/Actions/reward.d.ts.map +1 -1
  54. package/dist/viem/Actions/token.d.ts +585 -0
  55. package/dist/viem/Actions/token.d.ts.map +1 -1
  56. package/dist/viem/Actions/token.js +2 -2
  57. package/dist/viem/Actions/token.js.map +1 -1
  58. package/dist/viem/Addresses.d.ts +1 -1
  59. package/dist/viem/Addresses.d.ts.map +1 -1
  60. package/dist/viem/Addresses.js +1 -1
  61. package/dist/viem/Addresses.js.map +1 -1
  62. package/dist/viem/Chain.d.ts +35 -0
  63. package/dist/viem/Chain.d.ts.map +1 -1
  64. package/dist/viem/Chain.js +37 -0
  65. package/dist/viem/Chain.js.map +1 -1
  66. package/dist/viem/Decorator.d.ts +193 -16
  67. package/dist/viem/Decorator.d.ts.map +1 -1
  68. package/dist/viem/Decorator.js +7 -0
  69. package/dist/viem/Decorator.js.map +1 -1
  70. package/dist/viem/Formatters.d.ts.map +1 -1
  71. package/dist/viem/Formatters.js +8 -7
  72. package/dist/viem/Formatters.js.map +1 -1
  73. package/dist/viem/Storage.d.ts +1 -0
  74. package/dist/viem/Storage.d.ts.map +1 -1
  75. package/dist/viem/Storage.js +21 -0
  76. package/dist/viem/Storage.js.map +1 -1
  77. package/dist/viem/TokenIds.d.ts +1 -1
  78. package/dist/viem/TokenIds.d.ts.map +1 -1
  79. package/dist/viem/TokenIds.js +1 -1
  80. package/dist/viem/TokenIds.js.map +1 -1
  81. package/dist/viem/Transaction.d.ts +9 -1
  82. package/dist/viem/Transaction.d.ts.map +1 -1
  83. package/dist/viem/Transaction.js +2 -1
  84. package/dist/viem/Transaction.js.map +1 -1
  85. package/dist/viem/WebAuthnP256.d.ts +4 -1
  86. package/dist/viem/WebAuthnP256.d.ts.map +1 -1
  87. package/dist/viem/WebAuthnP256.js +3 -1
  88. package/dist/viem/WebAuthnP256.js.map +1 -1
  89. package/dist/wagmi/Actions/amm.d.ts +6 -16
  90. package/dist/wagmi/Actions/amm.d.ts.map +1 -1
  91. package/dist/wagmi/Actions/amm.js +6 -16
  92. package/dist/wagmi/Actions/amm.js.map +1 -1
  93. package/dist/wagmi/Connector.d.ts +25 -8
  94. package/dist/wagmi/Connector.d.ts.map +1 -1
  95. package/dist/wagmi/Connector.js +120 -27
  96. package/dist/wagmi/Connector.js.map +1 -1
  97. package/dist/wagmi/Hooks/amm.d.ts +6 -16
  98. package/dist/wagmi/Hooks/amm.d.ts.map +1 -1
  99. package/dist/wagmi/Hooks/amm.js +6 -16
  100. package/dist/wagmi/Hooks/amm.js.map +1 -1
  101. package/package.json +3 -2
  102. package/src/chains.ts +14 -15
  103. package/src/ox/KeyAuthorization.test.ts +1332 -0
  104. package/src/ox/KeyAuthorization.ts +542 -0
  105. package/src/ox/SignatureEnvelope.test.ts +624 -0
  106. package/src/ox/SignatureEnvelope.ts +89 -9
  107. package/src/ox/Transaction.test.ts +214 -0
  108. package/src/ox/Transaction.ts +13 -1
  109. package/src/ox/TransactionEnvelopeAA.test.ts +164 -4
  110. package/src/ox/TransactionEnvelopeAA.ts +36 -3
  111. package/src/ox/TransactionRequest.ts +22 -1
  112. package/src/ox/e2e.test.ts +612 -5
  113. package/src/ox/index.ts +1 -0
  114. package/src/prool/Instance.ts +1 -1
  115. package/src/prool/chain.json +238 -0
  116. package/src/server/Handler.test.ts +20 -36
  117. package/src/viem/Abis.ts +200 -7
  118. package/src/viem/Account.test.ts +444 -0
  119. package/src/viem/Account.ts +355 -42
  120. package/src/viem/Actions/account.ts +3 -5
  121. package/src/viem/Actions/amm.test.ts +220 -1
  122. package/src/viem/Actions/amm.ts +12 -32
  123. package/src/viem/Actions/token.test.ts +8 -8
  124. package/src/viem/Actions/token.ts +2 -2
  125. package/src/viem/Addresses.ts +1 -1
  126. package/src/viem/Chain.test.ts +168 -0
  127. package/src/viem/Chain.ts +37 -1
  128. package/src/viem/Decorator.ts +214 -16
  129. package/src/viem/Formatters.ts +8 -7
  130. package/src/viem/Storage.ts +22 -0
  131. package/src/viem/TokenIds.ts +1 -1
  132. package/src/viem/Transaction.ts +14 -2
  133. package/src/viem/WebAuthnP256.ts +8 -2
  134. package/src/viem/e2e.test.ts +299 -96
  135. package/src/wagmi/Actions/amm.test.ts +93 -2
  136. package/src/wagmi/Actions/amm.ts +6 -16
  137. package/src/wagmi/Connector.test.ts +1 -1
  138. package/src/wagmi/Connector.ts +184 -54
  139. package/src/wagmi/Hooks/amm.test.ts +335 -0
  140. package/src/wagmi/Hooks/amm.ts +6 -16
  141. package/src/wagmi/Hooks/fee.test.ts +10 -4
  142. package/src/wagmi/Hooks/token.test.ts +0 -488
  143. package/dist/viem/internal/account.d.ts +0 -21
  144. package/dist/viem/internal/account.d.ts.map +0 -1
  145. package/dist/viem/internal/account.js +0 -61
  146. package/dist/viem/internal/account.js.map +0 -1
  147. package/src/viem/internal/account.ts +0 -89
@@ -1,8 +1,33 @@
1
- import { WebCryptoP256 } from 'ox';
2
- import type * as Hex from 'ox/Hex';
1
+ import * as Address from 'ox/Address';
2
+ import * as Hex from 'ox/Hex';
3
+ import * as PublicKey from 'ox/PublicKey';
3
4
  import * as WebAuthnP256 from 'ox/WebAuthnP256';
4
- import * as internal from './internal/account.js';
5
- export type { Account } from './internal/account.js';
5
+ import * as WebCryptoP256 from 'ox/WebCryptoP256';
6
+ import type { LocalAccount, RequiredBy, Account as viem_Account } from 'viem';
7
+ import type { OneOf } from '../internal/types.js';
8
+ import * as KeyAuthorization from '../ox/KeyAuthorization.js';
9
+ import * as SignatureEnvelope from '../ox/SignatureEnvelope.js';
10
+ import * as Storage from './Storage.js';
11
+ type StorageSchema = {
12
+ pendingKeyAuthorization?: KeyAuthorization.Signed | undefined;
13
+ };
14
+ export type Account_base<source extends string = string> = RequiredBy<LocalAccount<source>, 'sign' | 'signAuthorization'> & {
15
+ /** Key type. */
16
+ keyType: SignatureEnvelope.Type;
17
+ /** Account storage. */
18
+ storage: Storage.Storage<StorageSchema>;
19
+ };
20
+ export type RootAccount = Account_base<'root'> & {
21
+ /** Assign key authorization to the next transaction. */
22
+ assignKeyAuthorization: (keyAuthorization: KeyAuthorization.Signed) => Promise<void>;
23
+ /** Sign key authorization. */
24
+ signKeyAuthorization: (key: Pick<AccessKeyAccount, 'accessKeyAddress' | 'keyType'>, parameters?: Pick<KeyAuthorization.KeyAuthorization, 'expiry' | 'limits'>) => Promise<KeyAuthorization.Signed>;
25
+ };
26
+ export type AccessKeyAccount = Account_base<'accessKey'> & {
27
+ /** Access key ID. */
28
+ accessKeyAddress: Address.Address;
29
+ };
30
+ export type Account = OneOf<RootAccount | AccessKeyAccount>;
6
31
  /**
7
32
  * Instantiates an Account from a headless WebAuthn credential (P256 private key).
8
33
  *
@@ -16,13 +41,13 @@ export type { Account } from './internal/account.js';
16
41
  * @param privateKey P256 private key.
17
42
  * @returns Account.
18
43
  */
19
- export declare function fromHeadlessWebAuthn(privateKey: Hex.Hex, options: fromHeadlessWebAuthn.Options): fromP256.ReturnValue;
44
+ export declare function fromHeadlessWebAuthn<const options extends fromHeadlessWebAuthn.Options>(privateKey: Hex.Hex, options: options | fromHeadlessWebAuthn.Options): fromHeadlessWebAuthn.ReturnValue<options>;
20
45
  export declare namespace fromHeadlessWebAuthn {
21
- type Options = Omit<WebAuthnP256.getSignPayload.Options, 'challenge' | 'rpId' | 'origin'> & {
46
+ type Options = Omit<WebAuthnP256.getSignPayload.Options, 'challenge' | 'rpId' | 'origin'> & Pick<from.Parameters, 'access' | 'storage'> & {
22
47
  rpId: string;
23
48
  origin: string;
24
49
  };
25
- type ReturnValue = internal.toPrivateKeyAccount.ReturnValue;
50
+ type ReturnValue<options extends Options = Options> = from.ReturnValue<options>;
26
51
  }
27
52
  /**
28
53
  * Instantiates an Account from a P256 private key.
@@ -37,9 +62,10 @@ export declare namespace fromHeadlessWebAuthn {
37
62
  * @param privateKey P256 private key.
38
63
  * @returns Account.
39
64
  */
40
- export declare function fromP256(privateKey: Hex.Hex): fromP256.ReturnValue;
65
+ export declare function fromP256<const options extends fromP256.Options>(privateKey: Hex.Hex, options?: options | fromP256.Options): fromP256.ReturnValue<options>;
41
66
  export declare namespace fromP256 {
42
- type ReturnValue = internal.toPrivateKeyAccount.ReturnValue;
67
+ type Options = Pick<from.Parameters, 'access' | 'storage'>;
68
+ type ReturnValue<options extends Options = Options> = from.ReturnValue<options>;
43
69
  }
44
70
  /**
45
71
  * Instantiates an Account from a Secp256k1 private key.
@@ -54,9 +80,10 @@ export declare namespace fromP256 {
54
80
  * @param privateKey Secp256k1 private key.
55
81
  * @returns Account.
56
82
  */
57
- export declare function fromSecp256k1(privateKey: Hex.Hex): fromSecp256k1.ReturnValue;
83
+ export declare function fromSecp256k1<const options extends fromSecp256k1.Options>(privateKey: Hex.Hex, options?: options | fromSecp256k1.Options): fromSecp256k1.ReturnValue<options>;
58
84
  export declare namespace fromSecp256k1 {
59
- type ReturnValue = internal.toPrivateKeyAccount.ReturnValue;
85
+ type Options = Pick<from.Parameters, 'access' | 'storage'>;
86
+ type ReturnValue<options extends Options = Options> = from.ReturnValue<options>;
60
87
  }
61
88
  /**
62
89
  * Instantiates an Account from a WebAuthn credential.
@@ -124,8 +151,9 @@ export declare namespace fromWebAuthnP256 {
124
151
  type Options = {
125
152
  getFn?: WebAuthnP256.sign.Options['getFn'] | undefined;
126
153
  rpId?: WebAuthnP256.sign.Options['rpId'] | undefined;
154
+ storage?: from.Parameters['storage'] | undefined;
127
155
  };
128
- type ReturnValue = internal.toPrivateKeyAccount.ReturnValue;
156
+ type ReturnValue = from.ReturnValue;
129
157
  }
130
158
  /**
131
159
  * Instantiates an Account from a P256 private key.
@@ -143,8 +171,69 @@ export declare namespace fromWebAuthnP256 {
143
171
  * @param keyPair WebCryptoP256 key pair.
144
172
  * @returns Account.
145
173
  */
146
- export declare function fromWebCryptoP256(keyPair: Awaited<ReturnType<typeof WebCryptoP256.createKeyPair>>): fromWebCryptoP256.ReturnValue;
174
+ export declare function fromWebCryptoP256<const options extends fromWebCryptoP256.Options>(keyPair: Awaited<ReturnType<typeof WebCryptoP256.createKeyPair>>, options?: options | fromWebCryptoP256.Options): fromWebCryptoP256.ReturnValue<options>;
147
175
  export declare namespace fromWebCryptoP256 {
148
- type ReturnValue = internal.toPrivateKeyAccount.ReturnValue;
176
+ type Options = Pick<from.Parameters, 'access' | 'storage'>;
177
+ type ReturnValue<options extends Options = Options> = from.ReturnValue<options>;
149
178
  }
179
+ export declare function signKeyAuthorization(account: LocalAccount, parameters: signKeyAuthorization.Parameters): Promise<signKeyAuthorization.ReturnValue>;
180
+ export declare namespace signKeyAuthorization {
181
+ type Parameters = Pick<KeyAuthorization.KeyAuthorization, 'expiry' | 'limits'> & {
182
+ key: Pick<AccessKeyAccount, 'accessKeyAddress' | 'keyType'>;
183
+ };
184
+ type ReturnValue = KeyAuthorization.Signed;
185
+ }
186
+ /** @internal */
187
+ declare function fromBase(parameters: fromBase.Parameters): Account_base;
188
+ declare namespace fromBase {
189
+ type Parameters = {
190
+ /** Parent address. */
191
+ parentAddress?: Address.Address | undefined;
192
+ /** Public key. */
193
+ publicKey: PublicKey.PublicKey;
194
+ /** Key type. */
195
+ keyType?: SignatureEnvelope.Type | undefined;
196
+ /** Sign function. */
197
+ sign: NonNullable<LocalAccount['sign']>;
198
+ /** Source. */
199
+ source?: string | undefined;
200
+ /**
201
+ * Account storage.
202
+ * Used for access key management, and pending key authorizations.
203
+ * @default `Storage.memory()`
204
+ */
205
+ storage?: Storage.Storage | undefined;
206
+ };
207
+ type ReturnValue = Account_base;
208
+ }
209
+ /** @internal */
210
+ declare function fromRoot(parameters: fromRoot.Parameters): RootAccount;
211
+ declare namespace fromRoot {
212
+ type Parameters = fromBase.Parameters;
213
+ type ReturnValue = RootAccount;
214
+ }
215
+ declare function fromAccessKey(parameters: fromAccessKey.Parameters): AccessKeyAccount;
216
+ declare namespace fromAccessKey {
217
+ type Parameters = fromBase.Parameters & {
218
+ /**
219
+ * Parent account to access.
220
+ * If defined, this account will act as an "access key", and use
221
+ * the parent account's address as the keychain address.
222
+ */
223
+ access: viem_Account | Address.Address;
224
+ };
225
+ type ReturnValue = AccessKeyAccount;
226
+ }
227
+ declare function from<const parameters extends from.Parameters>(parameters: parameters | from.Parameters): from.ReturnValue<parameters>;
228
+ declare namespace from {
229
+ type Parameters = OneOf<fromRoot.Parameters | fromAccessKey.Parameters>;
230
+ type ReturnValue<parameters extends {
231
+ access?: fromAccessKey.Parameters['access'] | undefined;
232
+ } = {
233
+ access?: fromAccessKey.Parameters['access'] | undefined;
234
+ }> = parameters extends {
235
+ access: fromAccessKey.Parameters['access'];
236
+ } ? AccessKeyAccount : RootAccount;
237
+ }
238
+ export {};
150
239
  //# sourceMappingURL=Account.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../../src/viem/Account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAElC,OAAO,KAAK,KAAK,GAAG,MAAM,QAAQ,CAAA;AAKlC,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAA;AAE/C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AAEjD,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAEpD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,GAAG,CAAC,GAAG,EACnB,OAAO,EAAE,oBAAoB,CAAC,OAAO,GACpC,QAAQ,CAAC,WAAW,CA8BtB;AAED,MAAM,CAAC,OAAO,WAAW,oBAAoB,CAAC;IAC5C,KAAY,OAAO,GAAG,IAAI,CACxB,YAAY,CAAC,cAAc,CAAC,OAAO,EACnC,WAAW,GAAG,MAAM,GAAG,QAAQ,CAChC,GAAG;QACF,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IAED,KAAY,WAAW,GAAG,QAAQ,CAAC,mBAAmB,CAAC,WAAW,CAAA;CACnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,WAAW,CAiBlE;AAED,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,KAAY,WAAW,GAAG,QAAQ,CAAC,mBAAmB,CAAC,WAAW,CAAA;CACnE;AAED;;;;;;;;;;;;GAYG;AAEH,wBAAgB,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,GAAG,aAAa,CAAC,WAAW,CAY5E;AAED,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC;IACrC,KAAY,WAAW,GAAG,QAAQ,CAAC,mBAAmB,CAAC,WAAW,CAAA;CACnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,gBAAgB,CAAC,UAAU,EACvC,OAAO,GAAE,gBAAgB,CAAC,OAAY,GACrC,gBAAgB,CAAC,WAAW,CAqB9B;AAED,MAAM,CAAC,OAAO,WAAW,gBAAgB,CAAC;IACxC,KAAY,UAAU,GAAG;QACvB,EAAE,EAAE,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACrC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAA;KACnB,CAAA;IAED,KAAY,OAAO,GAAG;QACpB,KAAK,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;QACtD,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;KACrD,CAAA;IAED,KAAY,WAAW,GAAG,QAAQ,CAAC,mBAAmB,CAAC,WAAW,CAAA;CACnE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC,GAC/D,iBAAiB,CAAC,WAAW,CAkB/B;AAED,MAAM,CAAC,OAAO,WAAW,iBAAiB,CAAC;IACzC,KAAY,WAAW,GAAG,QAAQ,CAAC,mBAAmB,CAAC,WAAW,CAAA;CACnE"}
1
+ {"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../../src/viem/Account.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,16 @@
1
- import { WebCryptoP256 } from 'ox';
2
1
  import * as Address from 'ox/Address';
2
+ import * as Hex from 'ox/Hex';
3
3
  import * as P256 from 'ox/P256';
4
4
  import * as PublicKey from 'ox/PublicKey';
5
5
  import * as Secp256k1 from 'ox/Secp256k1';
6
6
  import * as Signature from 'ox/Signature';
7
7
  import * as WebAuthnP256 from 'ox/WebAuthnP256';
8
+ import * as WebCryptoP256 from 'ox/WebCryptoP256';
9
+ import { hashAuthorization, hashMessage, hashTypedData, keccak256, parseAccount, } from 'viem/utils';
10
+ import * as KeyAuthorization from '../ox/KeyAuthorization.js';
8
11
  import * as SignatureEnvelope from '../ox/SignatureEnvelope.js';
9
- import * as internal from './internal/account.js';
12
+ import * as Storage from './Storage.js';
13
+ import * as Transaction from './Transaction.js';
10
14
  /**
11
15
  * Instantiates an Account from a headless WebAuthn credential (P256 private key).
12
16
  *
@@ -21,11 +25,11 @@ import * as internal from './internal/account.js';
21
25
  * @returns Account.
22
26
  */
23
27
  export function fromHeadlessWebAuthn(privateKey, options) {
24
- const { rpId, origin } = options;
28
+ const { access, rpId, origin, storage } = options;
25
29
  const publicKey = P256.getPublicKey({ privateKey });
26
- const address = Address.fromPublicKey(publicKey);
27
- return internal.toPrivateKeyAccount({
28
- address,
30
+ return from({
31
+ access,
32
+ keyType: 'webAuthn',
29
33
  publicKey,
30
34
  async sign({ hash }) {
31
35
  const { metadata, payload } = WebAuthnP256.getSignPayload({
@@ -46,7 +50,7 @@ export function fromHeadlessWebAuthn(privateKey, options) {
46
50
  type: 'webAuthn',
47
51
  });
48
52
  },
49
- source: 'webAuthn',
53
+ storage,
50
54
  });
51
55
  }
52
56
  /**
@@ -62,11 +66,12 @@ export function fromHeadlessWebAuthn(privateKey, options) {
62
66
  * @param privateKey P256 private key.
63
67
  * @returns Account.
64
68
  */
65
- export function fromP256(privateKey) {
69
+ export function fromP256(privateKey, options = {}) {
70
+ const { access, storage } = options;
66
71
  const publicKey = P256.getPublicKey({ privateKey });
67
- const address = Address.fromPublicKey(publicKey);
68
- return internal.toPrivateKeyAccount({
69
- address,
72
+ return from({
73
+ access,
74
+ keyType: 'p256',
70
75
  publicKey,
71
76
  async sign({ hash }) {
72
77
  const signature = P256.sign({ payload: hash, privateKey });
@@ -76,7 +81,7 @@ export function fromP256(privateKey) {
76
81
  type: 'p256',
77
82
  });
78
83
  },
79
- source: 'p256',
84
+ storage,
80
85
  });
81
86
  }
82
87
  /**
@@ -93,16 +98,19 @@ export function fromP256(privateKey) {
93
98
  * @returns Account.
94
99
  */
95
100
  // TODO: this function will be redundant when Viem migrates to Ox.
96
- export function fromSecp256k1(privateKey) {
101
+ export function fromSecp256k1(privateKey, options = {}) {
102
+ const { access, storage } = options;
97
103
  const publicKey = Secp256k1.getPublicKey({ privateKey });
98
- return internal.toPrivateKeyAccount({
99
- address: Address.fromPublicKey(publicKey),
104
+ return from({
105
+ access,
106
+ keyType: 'secp256k1',
100
107
  publicKey,
101
108
  async sign(parameters) {
102
109
  const { hash } = parameters;
103
110
  const signature = Secp256k1.sign({ payload: hash, privateKey });
104
111
  return Signature.toHex(signature);
105
112
  },
113
+ storage,
106
114
  });
107
115
  }
108
116
  /**
@@ -164,9 +172,10 @@ export function fromSecp256k1(privateKey) {
164
172
  */
165
173
  export function fromWebAuthnP256(credential, options = {}) {
166
174
  const { id } = credential;
175
+ const { storage } = options;
167
176
  const publicKey = PublicKey.fromHex(credential.publicKey);
168
- return internal.toPrivateKeyAccount({
169
- address: Address.fromPublicKey(publicKey),
177
+ return from({
178
+ keyType: 'webAuthn',
170
179
  publicKey,
171
180
  async sign({ hash }) {
172
181
  const { metadata, signature } = await WebAuthnP256.sign({
@@ -181,7 +190,7 @@ export function fromWebAuthnP256(credential, options = {}) {
181
190
  type: 'webAuthn',
182
191
  });
183
192
  },
184
- source: 'webAuthn',
193
+ storage,
185
194
  });
186
195
  }
187
196
  /**
@@ -200,11 +209,12 @@ export function fromWebAuthnP256(credential, options = {}) {
200
209
  * @param keyPair WebCryptoP256 key pair.
201
210
  * @returns Account.
202
211
  */
203
- export function fromWebCryptoP256(keyPair) {
212
+ export function fromWebCryptoP256(keyPair, options = {}) {
213
+ const { access, storage } = options;
204
214
  const { publicKey, privateKey } = keyPair;
205
- const address = Address.fromPublicKey(publicKey);
206
- return internal.toPrivateKeyAccount({
207
- address,
215
+ return from({
216
+ access,
217
+ keyType: 'p256',
208
218
  publicKey,
209
219
  async sign({ hash }) {
210
220
  const signature = await WebCryptoP256.sign({ payload: hash, privateKey });
@@ -215,7 +225,151 @@ export function fromWebCryptoP256(keyPair) {
215
225
  type: 'p256',
216
226
  });
217
227
  },
218
- source: 'p256',
228
+ storage,
219
229
  });
220
230
  }
231
+ export async function signKeyAuthorization(account, parameters) {
232
+ const { key, expiry, limits } = parameters;
233
+ const { accessKeyAddress, keyType: type } = key;
234
+ const signature = await account.sign({
235
+ hash: KeyAuthorization.getSignPayload({
236
+ address: accessKeyAddress,
237
+ expiry,
238
+ limits,
239
+ type,
240
+ }),
241
+ });
242
+ return KeyAuthorization.from({
243
+ address: accessKeyAddress,
244
+ expiry,
245
+ limits,
246
+ signature: SignatureEnvelope.from(signature),
247
+ type,
248
+ });
249
+ }
250
+ /** @internal */
251
+ // biome-ignore lint/correctness/noUnusedVariables: _
252
+ function fromBase(parameters) {
253
+ const { keyType = 'secp256k1', parentAddress, source = 'privateKey', } = parameters;
254
+ const address = parentAddress ?? Address.fromPublicKey(parameters.publicKey);
255
+ const publicKey = PublicKey.toHex(parameters.publicKey, {
256
+ includePrefix: false,
257
+ });
258
+ const storage = Storage.from(parameters.storage ?? Storage.memory(), { key: `tempo.ts:${address.toLowerCase()}` });
259
+ async function sign({ hash }) {
260
+ const signature = await parameters.sign({ hash });
261
+ if (parentAddress)
262
+ return SignatureEnvelope.serialize(SignatureEnvelope.from({
263
+ userAddress: parentAddress,
264
+ inner: SignatureEnvelope.from(signature),
265
+ type: 'keychain',
266
+ }));
267
+ return signature;
268
+ }
269
+ return {
270
+ address: Address.checksum(address),
271
+ keyType,
272
+ sign,
273
+ async signAuthorization(parameters) {
274
+ const { chainId, nonce } = parameters;
275
+ const address = parameters.contractAddress ?? parameters.address;
276
+ const signature = await sign({
277
+ hash: hashAuthorization({ address, chainId, nonce }),
278
+ });
279
+ const envelope = SignatureEnvelope.from(signature);
280
+ if (envelope.type !== 'secp256k1')
281
+ throw new Error('Unsupported signature type. Expected `secp256k1` but got `' +
282
+ envelope.type +
283
+ '`.');
284
+ const { r, s, yParity } = envelope.signature;
285
+ return {
286
+ address,
287
+ chainId,
288
+ nonce,
289
+ r: Hex.fromNumber(r, { size: 32 }),
290
+ s: Hex.fromNumber(s, { size: 32 }),
291
+ yParity,
292
+ };
293
+ },
294
+ async signMessage(parameters) {
295
+ const { message } = parameters;
296
+ const signature = await sign({ hash: hashMessage(message) });
297
+ const envelope = SignatureEnvelope.from(signature);
298
+ return SignatureEnvelope.serialize(envelope);
299
+ },
300
+ async signTransaction(transaction, options) {
301
+ const { serializer = Transaction.serialize } = options ?? {};
302
+ const keyAuthorization = (await storage?.getItem('pendingKeyAuthorization')) ?? undefined;
303
+ if (keyAuthorization && !transaction.keyAuthorization) {
304
+ ;
305
+ transaction.keyAuthorization = keyAuthorization;
306
+ await storage.removeItem('pendingKeyAuthorization');
307
+ }
308
+ const signature = await sign({
309
+ hash: keccak256(await serializer(transaction)),
310
+ });
311
+ const envelope = SignatureEnvelope.from(signature);
312
+ return await serializer(transaction, envelope);
313
+ },
314
+ async signTypedData(typedData) {
315
+ const signature = await sign({ hash: hashTypedData(typedData) });
316
+ const envelope = SignatureEnvelope.from(signature);
317
+ return SignatureEnvelope.serialize(envelope);
318
+ },
319
+ publicKey,
320
+ source,
321
+ storage,
322
+ type: 'local',
323
+ };
324
+ }
325
+ /** @internal */
326
+ // biome-ignore lint/correctness/noUnusedVariables: _
327
+ function fromRoot(parameters) {
328
+ const account = fromBase(parameters);
329
+ return {
330
+ ...account,
331
+ source: 'root',
332
+ async assignKeyAuthorization(keyAuthorization) {
333
+ account.storage.setItem('pendingKeyAuthorization', keyAuthorization);
334
+ },
335
+ async signKeyAuthorization(key, parameters = {}) {
336
+ const { expiry, limits } = parameters;
337
+ const { accessKeyAddress, keyType: type } = key;
338
+ const signature = await account.sign({
339
+ hash: KeyAuthorization.getSignPayload({
340
+ address: accessKeyAddress,
341
+ expiry,
342
+ limits,
343
+ type,
344
+ }),
345
+ });
346
+ const keyAuthorization = KeyAuthorization.from({
347
+ address: accessKeyAddress,
348
+ expiry,
349
+ limits,
350
+ signature: SignatureEnvelope.from(signature),
351
+ type,
352
+ });
353
+ return keyAuthorization;
354
+ },
355
+ };
356
+ }
357
+ // biome-ignore lint/correctness/noUnusedVariables: _
358
+ function fromAccessKey(parameters) {
359
+ const { access } = parameters;
360
+ const { address: parentAddress } = parseAccount(access);
361
+ const account = fromBase({ ...parameters, parentAddress });
362
+ return {
363
+ ...account,
364
+ accessKeyAddress: Address.fromPublicKey(parameters.publicKey),
365
+ source: 'accessKey',
366
+ };
367
+ }
368
+ // biome-ignore lint/correctness/noUnusedVariables: _
369
+ function from(parameters) {
370
+ const { access } = parameters;
371
+ if (access)
372
+ return fromAccessKey(parameters);
373
+ return fromRoot(parameters);
374
+ }
221
375
  //# sourceMappingURL=Account.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Account.js","sourceRoot":"","sources":["../../src/viem/Account.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Account.js","sourceRoot":"","sources":["../../src/viem/Account.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/viem/Actions/account.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAG9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,UAAU,CAAC,KAAK,SAAS,KAAK,GAAG,SAAS,EAC9D,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,EAChC,UAAU,EAAE,UAAU,CAAC,UAAU,GAChC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAwDjC;AAED,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC,KAAY,UAAU,GAAG,SAAS,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAA;IAEnE,KAAY,WAAW,GAAG,oBAAoB,CAAA;CAC/C"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/viem/Actions/account.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAG9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,UAAU,CAAC,KAAK,SAAS,KAAK,GAAG,SAAS,EAC9D,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,EAChC,UAAU,EAAE,UAAU,CAAC,UAAU,GAChC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAsDjC;AAED,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC,KAAY,UAAU,GAAG,SAAS,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAA;IAEnE,KAAY,WAAW,GAAG,oBAAoB,CAAA;CAC/C"}
@@ -55,9 +55,8 @@ export async function verifyHash(client, parameters) {
55
55
  })();
56
56
  const [envelope, userAddress] = (() => {
57
57
  const envelope = SignatureEnvelope.from(signature);
58
- // TODO: add once we have key auth
59
- // if (envelope.type === 'keychain')
60
- // return [envelope.inner, envelope.userAddress]
58
+ if (envelope.type === 'keychain')
59
+ return [envelope.inner, envelope.userAddress];
61
60
  return [envelope, undefined];
62
61
  })();
63
62
  if (envelope.type === 'p256')
@@ -74,8 +73,8 @@ export async function verifyHash(client, parameters) {
74
73
  publicKey: envelope.publicKey,
75
74
  signature: envelope.signature,
76
75
  });
77
- // TODO: add once we have key auth
78
- // if (envelope.type === 'keychain') throw new Error('not supported')
76
+ if (envelope.type === 'keychain')
77
+ throw new Error('not supported');
79
78
  const address = parameters.address ??
80
79
  userAddress ??
81
80
  Secp256k1.recoverAddress({
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/viem/Actions/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAC9B,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,SAAS,CAAA;AAC/B,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAA;AAG/C,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,cAAc,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,KAAK,iBAAiB,MAAM,+BAA+B,CAAA;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAgC,EAChC,UAAiC;IAEjC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAA;IAE3B,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;QACtB,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;QACtC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAA;QAC7C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS;YACvE,OAAO,iBAAiB,CAAC,SAAS,CAAC;gBACjC,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE;oBACT,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;oBACtB,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;oBACtB,OAAO,EAAE,SAAS,CAAC,OAAQ;iBAC5B;aACF,CAAC,CAAA;QACJ,OAAO,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IACjC,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE;QACpC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAClD,kCAAkC;QAClC,oCAAoC;QACpC,kDAAkD;QAClD,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC9B,CAAC,CAAC,EAAE,CAAA;IAEJ,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,IAAI,EAAE,QAAQ,CAAC,OAAO;SACvB,CAAC,CAAA;IACJ,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU;QAC9B,OAAO,YAAY,CAAC,MAAM,CAAC;YACzB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC,CAAA;IACJ,kCAAkC;IAClC,qEAAqE;IAErE,MAAM,OAAO,GACX,UAAU,CAAC,OAAO;QAClB,WAAW;QACX,SAAS,CAAC,cAAc,CAAC;YACvB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC,CAAA;IAEJ,OAAO,MAAM,SAAS,CACpB,MAAM,EACN,eAAe,EACf,YAAY,CACb,CAAC,EAAE,GAAG,UAAU,EAAE,OAAO,EAAW,CAAC,CAAA;AACxC,CAAC"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/viem/Actions/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAC9B,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,SAAS,CAAA;AAC/B,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAA;AAG/C,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,cAAc,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,KAAK,iBAAiB,MAAM,+BAA+B,CAAA;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAgC,EAChC,UAAiC;IAEjC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAA;IAE3B,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;QACtB,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;QACtC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAA;QAC7C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS;YACvE,OAAO,iBAAiB,CAAC,SAAS,CAAC;gBACjC,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE;oBACT,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;oBACtB,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;oBACtB,OAAO,EAAE,SAAS,CAAC,OAAQ;iBAC5B;aACF,CAAC,CAAA;QACJ,OAAO,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IACjC,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE;QACpC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAClD,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU;YAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;QAC/C,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC9B,CAAC,CAAC,EAAE,CAAA;IAEJ,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,IAAI,EAAE,QAAQ,CAAC,OAAO;SACvB,CAAC,CAAA;IACJ,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU;QAC9B,OAAO,YAAY,CAAC,MAAM,CAAC;YACzB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC,CAAA;IACJ,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;IAElE,MAAM,OAAO,GACX,UAAU,CAAC,OAAO;QAClB,WAAW;QACX,SAAS,CAAC,cAAc,CAAC;YACvB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC,CAAA;IAEJ,OAAO,MAAM,SAAS,CACpB,MAAM,EACN,eAAe,EACf,YAAY,CACb,CAAC,EAAE,GAAG,UAAU,EAAE,OAAO,EAAW,CAAC,CAAA;AACxC,CAAC"}