viem 0.3.18 → 0.3.20

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 (71) hide show
  1. package/README.md +6 -0
  2. package/dist/cjs/actions/public/verifyHash.js +31 -0
  3. package/dist/cjs/actions/public/verifyHash.js.map +1 -0
  4. package/dist/cjs/actions/public/verifyMessage.js +16 -0
  5. package/dist/cjs/actions/public/verifyMessage.js.map +1 -0
  6. package/dist/cjs/actions/public/verifyTypedData.js +16 -0
  7. package/dist/cjs/actions/public/verifyTypedData.js.map +1 -0
  8. package/dist/cjs/actions/public/waitForTransactionReceipt.js +4 -1
  9. package/dist/cjs/actions/public/waitForTransactionReceipt.js.map +1 -1
  10. package/dist/cjs/clients/decorators/public.js +4 -0
  11. package/dist/cjs/clients/decorators/public.js.map +1 -1
  12. package/dist/cjs/constants/abis.js +36 -1
  13. package/dist/cjs/constants/abis.js.map +1 -1
  14. package/dist/cjs/constants/contracts.js +5 -0
  15. package/dist/cjs/constants/contracts.js.map +1 -0
  16. package/dist/cjs/errors/version.js +1 -1
  17. package/dist/cjs/utils/data/isBytesEqual.js +12 -0
  18. package/dist/cjs/utils/data/isBytesEqual.js.map +1 -0
  19. package/dist/cjs/utils/signature/verifyMessage.js.map +1 -1
  20. package/dist/cjs/utils/signature/verifyTypedData.js.map +1 -1
  21. package/dist/esm/actions/public/verifyHash.js +27 -0
  22. package/dist/esm/actions/public/verifyHash.js.map +1 -0
  23. package/dist/esm/actions/public/verifyMessage.js +12 -0
  24. package/dist/esm/actions/public/verifyMessage.js.map +1 -0
  25. package/dist/esm/actions/public/verifyTypedData.js +12 -0
  26. package/dist/esm/actions/public/verifyTypedData.js.map +1 -0
  27. package/dist/esm/actions/public/waitForTransactionReceipt.js +4 -1
  28. package/dist/esm/actions/public/waitForTransactionReceipt.js.map +1 -1
  29. package/dist/esm/clients/decorators/public.js +4 -0
  30. package/dist/esm/clients/decorators/public.js.map +1 -1
  31. package/dist/esm/constants/abis.js +35 -0
  32. package/dist/esm/constants/abis.js.map +1 -1
  33. package/dist/esm/constants/contracts.js +2 -0
  34. package/dist/esm/constants/contracts.js.map +1 -0
  35. package/dist/esm/errors/version.js +1 -1
  36. package/dist/esm/utils/data/isBytesEqual.js +8 -0
  37. package/dist/esm/utils/data/isBytesEqual.js.map +1 -0
  38. package/dist/esm/utils/signature/verifyMessage.js.map +1 -1
  39. package/dist/esm/utils/signature/verifyTypedData.js.map +1 -1
  40. package/dist/types/actions/public/verifyHash.d.ts +24 -0
  41. package/dist/types/actions/public/verifyHash.d.ts.map +1 -0
  42. package/dist/types/actions/public/verifyMessage.d.ts +28 -0
  43. package/dist/types/actions/public/verifyMessage.d.ts.map +1 -0
  44. package/dist/types/actions/public/verifyTypedData.d.ts +27 -0
  45. package/dist/types/actions/public/verifyTypedData.d.ts.map +1 -0
  46. package/dist/types/actions/public/waitForTransactionReceipt.d.ts.map +1 -1
  47. package/dist/types/clients/decorators/public.d.ts +4 -0
  48. package/dist/types/clients/decorators/public.d.ts.map +1 -1
  49. package/dist/types/constants/abis.d.ts +33 -0
  50. package/dist/types/constants/abis.d.ts.map +1 -1
  51. package/dist/types/constants/contracts.d.ts +2 -0
  52. package/dist/types/constants/contracts.d.ts.map +1 -0
  53. package/dist/types/errors/version.d.ts +1 -1
  54. package/dist/types/utils/data/isBytesEqual.d.ts +3 -0
  55. package/dist/types/utils/data/isBytesEqual.d.ts.map +1 -0
  56. package/dist/types/utils/signature/verifyMessage.d.ts +15 -0
  57. package/dist/types/utils/signature/verifyMessage.d.ts.map +1 -1
  58. package/dist/types/utils/signature/verifyTypedData.d.ts +14 -0
  59. package/dist/types/utils/signature/verifyTypedData.d.ts.map +1 -1
  60. package/package.json +1 -1
  61. package/src/actions/public/verifyHash.ts +62 -0
  62. package/src/actions/public/verifyMessage.ts +42 -0
  63. package/src/actions/public/verifyTypedData.ts +51 -0
  64. package/src/actions/public/waitForTransactionReceipt.ts +3 -1
  65. package/src/clients/decorators/public.ts +18 -0
  66. package/src/constants/abis.ts +42 -0
  67. package/src/constants/contracts.ts +2 -0
  68. package/src/errors/version.ts +1 -1
  69. package/src/utils/data/isBytesEqual.ts +8 -0
  70. package/src/utils/signature/verifyMessage.ts +15 -0
  71. package/src/utils/signature/verifyTypedData.ts +14 -0
@@ -0,0 +1,27 @@
1
+ import type { Chain } from '../../chains.js';
2
+ import type { PublicClient } from '../../clients/createPublicClient.js';
3
+ import type { Transport } from '../../clients/transports/createTransport.js';
4
+ import type { ByteArray, Hex } from '../../types/misc.js';
5
+ import type { TypedDataDefinition } from '../../types/typedData.js';
6
+ import { type VerifyHashParameters } from './verifyHash.js';
7
+ import type { Address, TypedData } from 'abitype';
8
+ export type VerifyTypedDataParameters<TTypedData extends TypedData | {
9
+ [key: string]: unknown;
10
+ } = TypedData, TPrimaryType extends string = string> = Omit<VerifyHashParameters, 'hash'> & TypedDataDefinition<TTypedData, TPrimaryType> & {
11
+ /** The address to verify the typed data for. */
12
+ address: Address;
13
+ /** The signature to verify */
14
+ signature: Hex | ByteArray;
15
+ };
16
+ export type VerifyTypedDataReturnType = boolean;
17
+ /**
18
+ * Verify that typed data was signed by the provided address.
19
+ *
20
+ * - Docs {@link https://viem.sh/docs/actions/public/verifyTypedData.html}
21
+ *
22
+ * @param client - Client to use.
23
+ * @param parameters - {@link VerifyTypedDataParameters}
24
+ * @returns Whether or not the signature is valid. {@link VerifyTypedDataReturnType}
25
+ */
26
+ export declare function verifyTypedData<TChain extends Chain | undefined>(client: PublicClient<Transport, TChain>, { address, signature, message, primaryType, types, domain, ...callRequest }: VerifyTypedDataParameters): Promise<VerifyTypedDataReturnType>;
27
+ //# sourceMappingURL=verifyTypedData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyTypedData.d.ts","sourceRoot":"","sources":["../../../../src/actions/public/verifyTypedData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,EAAE,KAAK,oBAAoB,EAAc,MAAM,iBAAiB,CAAA;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEjD,MAAM,MAAM,yBAAyB,CACnC,UAAU,SAAS,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,SAAS,EACrE,YAAY,SAAS,MAAM,GAAG,MAAM,IAClC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,GACpC,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG;IAC9C,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAA;IAChB,8BAA8B;IAC9B,SAAS,EAAE,GAAG,GAAG,SAAS,CAAA;CAC3B,CAAA;AAEH,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAA;AAE/C;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EACpE,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EACvC,EACE,OAAO,EACP,SAAS,EACT,OAAO,EACP,WAAW,EACX,KAAK,EACL,MAAM,EACN,GAAG,WAAW,EACf,EAAE,yBAAyB,GAC3B,OAAO,CAAC,yBAAyB,CAAC,CAQpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"waitForTransactionReceipt.d.ts","sourceRoot":"","sources":["../../../../src/actions/public/waitForTransactionReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AAM5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAQ7D,OAAO,EACL,KAAK,+BAA+B,EAErC,MAAM,4BAA4B,CAAA;AAGnC,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAA;AACrE,MAAM,MAAM,qBAAqB,CAC/B,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD;IACF,MAAM,EAAE,iBAAiB,CAAA;IACzB,mBAAmB,EAAE,WAAW,CAAA;IAChC,WAAW,EAAE,WAAW,CAAA;IACxB,kBAAkB,EAAE,+BAA+B,CAAC,MAAM,CAAC,CAAA;CAC5D,CAAA;AAED,MAAM,MAAM,mCAAmC,CAC7C,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD,+BAA+B,CAAC,MAAM,CAAC,CAAA;AAE3C,MAAM,MAAM,mCAAmC,CAC7C,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD;IACF;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mCAAmC;IACnC,IAAI,EAAE,IAAI,CAAA;IACV,sEAAsE;IACtE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,qBAAqB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IAC9D;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,SAAS,KAAK,GAAG,SAAS,EAEhC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EACvC,EACE,aAAiB,EACjB,IAAI,EACJ,UAAU,EACV,eAAwC,EACxC,OAAO,GACR,EAAE,mCAAmC,CAAC,MAAM,CAAC,GAC7C,OAAO,CAAC,mCAAmC,CAAC,MAAM,CAAC,CAAC,CA2HtD"}
1
+ {"version":3,"file":"waitForTransactionReceipt.d.ts","sourceRoot":"","sources":["../../../../src/actions/public/waitForTransactionReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AAM5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAQ7D,OAAO,EACL,KAAK,+BAA+B,EAErC,MAAM,4BAA4B,CAAA;AAGnC,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAA;AACrE,MAAM,MAAM,qBAAqB,CAC/B,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD;IACF,MAAM,EAAE,iBAAiB,CAAA;IACzB,mBAAmB,EAAE,WAAW,CAAA;IAChC,WAAW,EAAE,WAAW,CAAA;IACxB,kBAAkB,EAAE,+BAA+B,CAAC,MAAM,CAAC,CAAA;CAC5D,CAAA;AAED,MAAM,MAAM,mCAAmC,CAC7C,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD,+BAA+B,CAAC,MAAM,CAAC,CAAA;AAE3C,MAAM,MAAM,mCAAmC,CAC7C,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD;IACF;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mCAAmC;IACnC,IAAI,EAAE,IAAI,CAAA;IACV,sEAAsE;IACtE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,qBAAqB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IAC9D;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,SAAS,KAAK,GAAG,SAAS,EAEhC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EACvC,EACE,aAAiB,EACjB,IAAI,EACJ,UAAU,EACV,eAAwC,EACxC,OAAO,GACR,EAAE,mCAAmC,CAAC,MAAM,CAAC,GAC7C,OAAO,CAAC,mCAAmC,CAAC,MAAM,CAAC,CAAC,CA6HtD"}
@@ -31,6 +31,8 @@ import { type MulticallParameters, type MulticallReturnType } from '../../action
31
31
  import { type ReadContractParameters, type ReadContractReturnType } from '../../actions/public/readContract.js';
32
32
  import { type SimulateContractParameters, type SimulateContractReturnType } from '../../actions/public/simulateContract.js';
33
33
  import { type UninstallFilterParameters, type UninstallFilterReturnType } from '../../actions/public/uninstallFilter.js';
34
+ import { type VerifyMessageParameters, type VerifyMessageReturnType } from '../../actions/public/verifyMessage.js';
35
+ import { type VerifyTypedDataParameters, type VerifyTypedDataReturnType } from '../../actions/public/verifyTypedData.js';
34
36
  import { type WaitForTransactionReceiptParameters, type WaitForTransactionReceiptReturnType } from '../../actions/public/waitForTransactionReceipt.js';
35
37
  import { type WatchBlockNumberParameters, type WatchBlockNumberReturnType } from '../../actions/public/watchBlockNumber.js';
36
38
  import { type WatchBlocksParameters, type WatchBlocksReturnType } from '../../actions/public/watchBlocks.js';
@@ -873,6 +875,8 @@ export type PublicActions<TTransport extends Transport = Transport, TChain exten
873
875
  * })
874
876
  */
875
877
  simulateContract: <TAbi extends Abi | readonly unknown[] = Abi, TFunctionName extends string = any, TChainOverride extends Chain | undefined = undefined>(args: SimulateContractParameters<TAbi, TFunctionName, TChain, TChainOverride>) => Promise<SimulateContractReturnType<TAbi, TFunctionName, TChain, TChainOverride>>;
878
+ verifyMessage: (args: VerifyMessageParameters) => Promise<VerifyMessageReturnType>;
879
+ verifyTypedData: (args: VerifyTypedDataParameters) => Promise<VerifyTypedDataReturnType>;
876
880
  /**
877
881
  * Destroys a Filter that was created from one of the following Actions:
878
882
  *
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../../src/clients/decorators/public.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../../src/clients/decorators/public.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAE7B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAE5B,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAE1B,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAE9B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAE1B,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,KAAK,2BAA2B,EAEjC,MAAM,2CAA2C,CAAA;AAClD,OAAO,EACL,KAAK,mCAAmC,EACxC,KAAK,mCAAmC,EAEzC,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAEjC,MAAM,2CAA2C,CAAA;AAClD,OAAO,EACL,KAAK,wCAAwC,EAE9C,MAAM,wDAAwD,CAAA;AAC/D,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAEnC,MAAM,6CAA6C,CAAA;AACpD,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAE3B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAE1B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAExB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAE9B,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,kCAAkC,EAExC,MAAM,kDAAkD,CAAA;AACzD,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAE3B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAE7B,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAEhC,MAAM,0CAA0C,CAAA;AACjD,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAE7B,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EACL,KAAK,qBAAqB,EAE3B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAEvB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAE5B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAE9B,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EACL,KAAK,qCAAqC,EAC1C,KAAK,qCAAqC,EAE3C,MAAM,qDAAqD,CAAA;AAC5D,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAEnC,MAAM,6CAA6C,CAAA;AACpD,OAAO,EACL,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EAErC,MAAM,+CAA+C,CAAA;AACtD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAEzB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAE5B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAEhC,MAAM,0CAA0C,CAAA;AACjD,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAE/B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAE7B,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAE/B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EACL,KAAK,mCAAmC,EACxC,KAAK,mCAAmC,EAEzC,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAEhC,MAAM,0CAA0C,CAAA;AACjD,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAE3B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EAElC,MAAM,4CAA4C,CAAA;AACnD,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAE1B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,kCAAkC,EAExC,MAAM,kDAAkD,CAAA;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAEjE,MAAM,MAAM,aAAa,CACvB,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD;IACF;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,cAAc,CAAC,CAAA;IACrE;;;;;;;;;;;;;;;;;;OAkBG;IACH,iBAAiB,EAAE,MAAM,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAC7D;;;;;;;;;;;;;;;;;;;OAmBG;IACH,yBAAyB,EAAE,CACzB,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EACrC,UAAU,SAAS,MAAM,GAAG,SAAS,EACrC,KAAK,SAAS,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,SAAS,EAExE,IAAI,EAAE,mCAAmC,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,KAC/D,OAAO,CAAC,mCAAmC,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;IAC1E;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,iBAAiB,EAAE,CACjB,SAAS,SAAS,QAAQ,GAAG,SAAS,EACtC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EACrC,UAAU,SAAS,MAAM,GAAG,SAAS,EACrC,KAAK,SAAS,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,SAAS,EAExE,IAAI,CAAC,EAAE,2BAA2B,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,KACnE,OAAO,CAAC,2BAA2B,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;IAC7E;;;;;;;;;;;;;;;;;;OAkBG;IACH,8BAA8B,EAAE,MAAM,OAAO,CAAC,wCAAwC,CAAC,CAAA;IACvF;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,mBAAmB,EAAE,CACnB,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EACrC,aAAa,SAAS,MAAM,EAE5B,IAAI,EAAE,6BAA6B,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,KAC7D,OAAO,CAAC,6BAA6B,CAAC,CAAA;IAC3C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,WAAW,EAAE,CACX,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,KAChC,OAAO,CAAC,qBAAqB,CAAC,CAAA;IACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,UAAU,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IACzE;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5E;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,cAAc,EAAE,CACd,IAAI,CAAC,EAAE,wBAAwB,KAC5B,OAAO,CAAC,wBAAwB,CAAC,CAAA;IACtC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,wBAAwB,EAAE,CACxB,IAAI,CAAC,EAAE,kCAAkC,KACtC,OAAO,CAAC,kCAAkC,CAAC,CAAA;IAChD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAC5E;;;;;;;;;;;;;;;;;;OAkBG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,aAAa,EAAE,CACb,IAAI,EAAE,uBAAuB,KAC1B,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,YAAY,EAAE,CACZ,IAAI,EAAE,sBAAsB,KACzB,OAAO,CAAC,sBAAsB,CAAC,CAAA;IACpC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,UAAU,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IACzE;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,cAAc,EAAE,CACd,IAAI,EAAE,wBAAwB,KAC3B,OAAO,CAAC,wBAAwB,CAAC,CAAA;IACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,UAAU,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IACzE;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,aAAa,EAAE,CACb,IAAI,EAAE,uBAAuB,KAC1B,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6EG;IACH,gBAAgB,EAAE,CAChB,WAAW,SAAS,UAAU,EAC9B,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EACrC,UAAU,SAAS,MAAM,GAAG,SAAS,EAErC,IAAI,EAAE,0BAA0B,CAAC,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,KAC5D,OAAO,CAAC,0BAA0B,CAAC,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAA;IACvE;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,aAAa,EAAE,CACb,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EACrC,UAAU,SAAS,MAAM,GAAG,SAAS,EAErC,IAAI,EAAE,uBAAuB,CAAC,IAAI,EAAE,UAAU,CAAC,KAC5C,OAAO,CAAC,uBAAuB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAA;IACvD;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAA;IACjD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,EAAE,CAAC,SAAS,SAAS,QAAQ,GAAG,SAAS,EAC9C,IAAI,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,KAChC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAA;IAC1C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,YAAY,EAAE,CACZ,IAAI,EAAE,sBAAsB,KACzB,OAAO,CAAC,sBAAsB,CAAC,CAAA;IACpC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,cAAc,EAAE,CACd,IAAI,EAAE,wBAAwB,KAC3B,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,2BAA2B,EAAE,CAC3B,IAAI,EAAE,qCAAqC,CAAC,MAAM,CAAC,KAChD,OAAO,CAAC,qCAAqC,CAAC,CAAA;IACnD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,mBAAmB,EAAE,CACnB,IAAI,EAAE,6BAA6B,KAChC,OAAO,CAAC,6BAA6B,CAAC,CAAA;IAC3C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,qBAAqB,EAAE,CACrB,IAAI,EAAE,+BAA+B,KAClC,OAAO,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC,CAAA;IACrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,SAAS,EAAE,CACT,UAAU,SAAS,sBAAsB,EAAE,EAC3C,aAAa,SAAS,OAAO,GAAG,IAAI,EAEpC,IAAI,EAAE,mBAAmB,CAAC,UAAU,EAAE,aAAa,CAAC,KACjD,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAA;IAC5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,YAAY,EAAE,CACZ,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EACrC,aAAa,SAAS,MAAM,EAE5B,IAAI,EAAE,sBAAsB,CAAC,IAAI,EAAE,aAAa,CAAC,KAC9C,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAA;IACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,gBAAgB,EAAE,CAChB,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,GAAG,EAC3C,aAAa,SAAS,MAAM,GAAG,GAAG,EAClC,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAEpD,IAAI,EAAE,0BAA0B,CAC9B,IAAI,EACJ,aAAa,EACb,MAAM,EACN,cAAc,CACf,KACE,OAAO,CACV,0BAA0B,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,CAAC,CACxE,CAAA;IACD,aAAa,EAAE,CACb,IAAI,EAAE,uBAAuB,KAC1B,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACrC,eAAe,EAAE,CACf,IAAI,EAAE,yBAAyB,KAC5B,OAAO,CAAC,yBAAyB,CAAC,CAAA;IACvC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,eAAe,EAAE,CACf,IAAI,EAAE,yBAAyB,KAC5B,OAAO,CAAC,yBAAyB,CAAC,CAAA;IACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,yBAAyB,EAAE,CACzB,IAAI,EAAE,mCAAmC,CAAC,MAAM,CAAC,KAC9C,OAAO,CAAC,mCAAmC,CAAC,MAAM,CAAC,CAAC,CAAA;IACzD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,gBAAgB,EAAE,CAChB,IAAI,EAAE,0BAA0B,KAC7B,0BAA0B,CAAA;IAC/B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,WAAW,EAAE,CACX,IAAI,EAAE,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,KAC5C,qBAAqB,CAAA;IAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,kBAAkB,EAAE,CAClB,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EACrC,UAAU,SAAS,MAAM,EAEzB,IAAI,EAAE,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,KACjD,4BAA4B,CAAA;IACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,UAAU,EAAE,CAAC,SAAS,SAAS,QAAQ,GAAG,SAAS,EACjD,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,KAClC,oBAAoB,CAAA;IACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,wBAAwB,EAAE,CACxB,IAAI,EAAE,kCAAkC,CAAC,UAAU,CAAC,KACjD,kCAAkC,CAAA;CACxC,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,CAC1B,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAEpD,MAAM,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,KACrC,aAAa,CAAC,UAAU,EAAE,MAAM,CA+CnC,CAAA"}
@@ -76,4 +76,37 @@ export declare const singleAddressResolverAbi: readonly [{
76
76
  readonly type: "address";
77
77
  }];
78
78
  }];
79
+ export declare const smartAccountAbi: readonly [{
80
+ readonly name: "isValidSignature";
81
+ readonly type: "function";
82
+ readonly stateMutability: "view";
83
+ readonly inputs: readonly [{
84
+ readonly name: "hash";
85
+ readonly type: "bytes32";
86
+ }, {
87
+ readonly name: "signature";
88
+ readonly type: "bytes";
89
+ }];
90
+ readonly outputs: readonly [{
91
+ readonly name: "";
92
+ readonly type: "bytes4";
93
+ }];
94
+ }];
95
+ export declare const universalSignatureValidatorAbi: readonly [{
96
+ readonly inputs: readonly [{
97
+ readonly internalType: "address";
98
+ readonly name: "_signer";
99
+ readonly type: "address";
100
+ }, {
101
+ readonly internalType: "bytes32";
102
+ readonly name: "_hash";
103
+ readonly type: "bytes32";
104
+ }, {
105
+ readonly internalType: "bytes";
106
+ readonly name: "_signature";
107
+ readonly type: "bytes";
108
+ }];
109
+ readonly stateMutability: "nonpayable";
110
+ readonly type: "constructor";
111
+ }];
79
112
  //# sourceMappingURL=abis.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../../src/constants/abis.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0ChB,CAAA;AAEV,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAcvB,CAAA;AAEV,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAWlB,CAAA;AAEV,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAQ3B,CAAA"}
1
+ {"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../../src/constants/abis.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0ChB,CAAA;AAEV,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAcvB,CAAA;AAEV,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAWlB,CAAA;AAEV,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAQ3B,CAAA;AAIV,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAWlB,CAAA;AAKV,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;EAsBjC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const universalSignatureValidatorByteCode = "0x60806040523480156200001157600080fd5b50604051620007003803806200070083398101604081905262000034916200056f565b6000620000438484846200004f565b9050806000526001601ff35b600080846001600160a01b0316803b806020016040519081016040528181526000908060200190933c90507f6492649264926492649264926492649264926492649264926492649264926492620000a68462000451565b036200021f57600060608085806020019051810190620000c79190620005ce565b8651929550909350915060000362000192576000836001600160a01b031683604051620000f5919062000643565b6000604051808303816000865af19150503d806000811462000134576040519150601f19603f3d011682016040523d82523d6000602084013e62000139565b606091505b5050905080620001905760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b505b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90620001c4908b90869060040162000661565b602060405180830381865afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020891906200069d565b6001600160e01b031916149450505050506200044a565b805115620002b157604051630b135d3f60e11b808252906001600160a01b03871690631626ba7e9062000259908890889060040162000661565b602060405180830381865afa15801562000277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029d91906200069d565b6001600160e01b031916149150506200044a565b8251604114620003195760405162461bcd60e51b815260206004820152603a6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e677468000000000000606482015260840162000187565b620003236200046b565b506020830151604080850151855186939260009185919081106200034b576200034b620006c9565b016020015160f81c9050601b81148015906200036b57508060ff16601c14155b15620003cf5760405162461bcd60e51b815260206004820152603b6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c75650000000000606482015260840162000187565b6040805160008152602081018083528a905260ff83169181019190915260608101849052608081018390526001600160a01b038a169060019060a0016020604051602081039080840390855afa1580156200042e573d6000803e3d6000fd5b505050602060405103516001600160a01b031614955050505050505b9392505050565b60006020825110156200046357600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b03811681146200049f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004d5578181015183820152602001620004bb565b50506000910152565b600082601f830112620004f057600080fd5b81516001600160401b03808211156200050d576200050d620004a2565b604051601f8301601f19908116603f01168101908282118183101715620005385762000538620004a2565b816040528381528660208588010111156200055257600080fd5b62000565846020830160208901620004b8565b9695505050505050565b6000806000606084860312156200058557600080fd5b8351620005928162000489565b6020850151604086015191945092506001600160401b03811115620005b657600080fd5b620005c486828701620004de565b9150509250925092565b600080600060608486031215620005e457600080fd5b8351620005f18162000489565b60208501519093506001600160401b03808211156200060f57600080fd5b6200061d87838801620004de565b935060408601519150808211156200063457600080fd5b50620005c486828701620004de565b6000825162000657818460208701620004b8565b9190910192915050565b828152604060208201526000825180604084015262000688816060850160208701620004b8565b601f01601f1916919091016060019392505050565b600060208284031215620006b057600080fd5b81516001600160e01b0319811681146200044a57600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572";
2
+ //# sourceMappingURL=contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/constants/contracts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mCAAmC,ugHACs9G,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const version = "0.3.18";
1
+ export declare const version = "0.3.20";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { type ByteArray, type Hex } from '../../index.js';
2
+ export declare function isBytesEqual(a_: ByteArray | Hex, b_: ByteArray | Hex): boolean;
3
+ //# sourceMappingURL=isBytesEqual.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isBytesEqual.d.ts","sourceRoot":"","sources":["../../../../src/utils/data/isBytesEqual.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAkB,MAAM,gBAAgB,CAAA;AAGzE,wBAAgB,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,GAAG,EAAE,EAAE,EAAE,SAAS,GAAG,GAAG,WAIpE"}
@@ -1,10 +1,25 @@
1
1
  import type { Address } from 'abitype';
2
2
  import type { ByteArray, Hex } from '../../types/misc.js';
3
3
  export type VerifyMessageParameters = {
4
+ /** The address that signed the original message. */
4
5
  address: Address;
6
+ /** The message to be verified. */
5
7
  message: string;
8
+ /** The signature that was generated by signing the message with the address's private key. */
6
9
  signature: Hex | ByteArray;
7
10
  };
8
11
  export type VerifyMessageReturnType = boolean;
12
+ /**
13
+ * Verify that a message was signed by the provided address.
14
+ *
15
+ * Note: Only supports Externally Owned Accounts. Does not support Contract Accounts.
16
+ * It is highly recommended to use `publicClient.verifyMessage` instead to ensure
17
+ * wallet interoperability.
18
+ *
19
+ * - Docs {@link https://viem.sh/docs/utilities/verifyMessage.html}
20
+ *
21
+ * @param parameters - {@link VerifyMessageParameters}
22
+ * @returns Whether or not the signature is valid. {@link VerifyMessageReturnType}
23
+ */
9
24
  export declare function verifyMessage({ address, message, signature, }: VerifyMessageParameters): Promise<VerifyMessageReturnType>;
10
25
  //# sourceMappingURL=verifyMessage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verifyMessage.d.ts","sourceRoot":"","sources":["../../../../src/utils/signature/verifyMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAMzD,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,GAAG,GAAG,SAAS,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAA;AAE7C,wBAAsB,aAAa,CAAC,EAClC,OAAO,EACP,OAAO,EACP,SAAS,GACV,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAK5D"}
1
+ {"version":3,"file":"verifyMessage.d.ts","sourceRoot":"","sources":["../../../../src/utils/signature/verifyMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAMzD,MAAM,MAAM,uBAAuB,GAAG;IACpC,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAA;IAChB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,8FAA8F;IAC9F,SAAS,EAAE,GAAG,GAAG,SAAS,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAA;AAE7C;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,EAClC,OAAO,EACP,OAAO,EACP,SAAS,GACV,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAK5D"}
@@ -4,10 +4,24 @@ import type { TypedDataDefinition } from '../../types/typedData.js';
4
4
  export type VerifyTypedDataParameters<TTypedData extends TypedData | {
5
5
  [key: string]: unknown;
6
6
  } = TypedData, TPrimaryType extends string = string> = TypedDataDefinition<TTypedData, TPrimaryType> & {
7
+ /** The address to verify the typed data for. */
7
8
  address: Address;
9
+ /** The signature to verify */
8
10
  signature: Hex | ByteArray;
9
11
  };
10
12
  export type VerifyTypedDataReturnType = boolean;
13
+ /**
14
+ * Verify that typed data was signed by the provided address.
15
+ *
16
+ * Note: Only supports Externally Owned Accounts. Does not support Contract Accounts.
17
+ * It is highly recommended to use `publicClient.verifyTypedData` instead to ensure
18
+ * wallet interoperability.
19
+ *
20
+ * - Docs {@link https://viem.sh/docs/utilities/verifyTypedData.html}
21
+ *
22
+ * @param parameters - {@link VerifyTypedDataParameters}
23
+ * @returns Whether or not the signature is valid. {@link VerifyTypedDataReturnType}
24
+ */
11
25
  export declare function verifyTypedData<TTypedData extends TypedData | {
12
26
  [key: string]: unknown;
13
27
  }, TPrimaryType extends string = string>({ address, domain, message, primaryType, signature, types, }: VerifyTypedDataParameters<TTypedData, TPrimaryType>): Promise<VerifyTypedDataReturnType>;
@@ -1 +1 @@
1
- {"version":3,"file":"verifyTypedData.d.ts","sourceRoot":"","sources":["../../../../src/utils/signature/verifyTypedData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AASnE,MAAM,MAAM,yBAAyB,CACnC,UAAU,SAAS,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,SAAS,EACrE,YAAY,SAAS,MAAM,GAAG,MAAM,IAClC,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG;IAClD,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,GAAG,GAAG,SAAS,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAA;AAE/C,wBAAsB,eAAe,CACnC,UAAU,SAAS,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EACzD,YAAY,SAAS,MAAM,GAAG,MAAM,EACpC,EACA,OAAO,EACP,MAAM,EACN,OAAO,EACP,WAAW,EACX,SAAS,EACT,KAAK,GACN,EAAE,yBAAyB,CAC1B,UAAU,EACV,YAAY,CACb,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAWrC"}
1
+ {"version":3,"file":"verifyTypedData.d.ts","sourceRoot":"","sources":["../../../../src/utils/signature/verifyTypedData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AASnE,MAAM,MAAM,yBAAyB,CACnC,UAAU,SAAS,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,SAAS,EACrE,YAAY,SAAS,MAAM,GAAG,MAAM,IAClC,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG;IAClD,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAA;IAChB,8BAA8B;IAC9B,SAAS,EAAE,GAAG,GAAG,SAAS,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAA;AAE/C;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,UAAU,SAAS,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EACzD,YAAY,SAAS,MAAM,GAAG,MAAM,EACpC,EACA,OAAO,EACP,MAAM,EACN,OAAO,EACP,WAAW,EACX,SAAS,EACT,KAAK,GACN,EAAE,yBAAyB,CAC1B,UAAU,EACV,YAAY,CACb,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAWrC"}
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "isomorphic-ws": "5.0.0",
13
13
  "ws": "8.12.0"
14
14
  },
15
- "version": "0.3.18",
15
+ "version": "0.3.20",
16
16
  "files": [
17
17
  "dist",
18
18
  "!dist/**/*.tsbuildinfo",
@@ -0,0 +1,62 @@
1
+ import type { Address } from 'abitype'
2
+
3
+ import type { Chain } from '../../chains.js'
4
+ import type { PublicClient } from '../../clients/createPublicClient.js'
5
+ import type { Transport } from '../../clients/transports/createTransport.js'
6
+ import { universalSignatureValidatorAbi } from '../../constants/abis.js'
7
+ import { universalSignatureValidatorByteCode } from '../../constants/contracts.js'
8
+ import { CallExecutionError } from '../../errors/contract.js'
9
+ import type { ByteArray, Hex } from '../../types/misc.js'
10
+ import { isBytesEqual } from '../../utils/data/isBytesEqual.js'
11
+ import { encodeDeployData, isHex, toHex } from '../../utils/index.js'
12
+ import { type CallParameters, call } from './call.js'
13
+
14
+ export type VerifyHashParameters = Pick<
15
+ CallParameters,
16
+ 'blockNumber' | 'blockTag'
17
+ > & {
18
+ /** The address that signed the original message. */
19
+ address: Address
20
+ /** The hash to be verified. */
21
+ hash: Hex
22
+ /** The signature that was generated by signing the message with the address's private key. */
23
+ signature: Hex | ByteArray
24
+ }
25
+
26
+ export type VerifyHashReturnType = boolean
27
+
28
+ /**
29
+ * Verifies a message hash on chain using ERC-6492.
30
+ *
31
+ * @param client - Client to use.
32
+ * @param parameters - {@link VerifyHashParameters}
33
+ * @returns Whether or not the signature is valid. {@link VerifyHashReturnType}
34
+ */
35
+ export async function verifyHash<TChain extends Chain | undefined,>(
36
+ client: PublicClient<Transport, TChain>,
37
+ { address, hash, signature, ...callRequest }: VerifyHashParameters,
38
+ ): Promise<VerifyHashReturnType> {
39
+ const signatureHex = isHex(signature) ? signature : toHex(signature)
40
+
41
+ try {
42
+ const { data } = await call(client, {
43
+ data: encodeDeployData({
44
+ abi: universalSignatureValidatorAbi,
45
+ args: [address, hash, signatureHex],
46
+ bytecode: universalSignatureValidatorByteCode,
47
+ }),
48
+ ...callRequest,
49
+ } as unknown as CallParameters)
50
+
51
+ return isBytesEqual(data ?? '0x0', '0x1')
52
+ } catch (error) {
53
+ if (error instanceof CallExecutionError) {
54
+ // if the execution fails, the signature was not valid and an internal method inside of the validator reverted
55
+ // this can happen for many reasons, for example if signer can not be recovered from the signature
56
+ // or if the signature has no valid format
57
+ return false
58
+ }
59
+
60
+ throw error
61
+ }
62
+ }
@@ -0,0 +1,42 @@
1
+ import type { Chain } from '../../chains.js'
2
+ import type { PublicClient } from '../../clients/createPublicClient.js'
3
+ import type { Transport } from '../../clients/transports/createTransport.js'
4
+ import type { ByteArray, Hex } from '../../types/misc.js'
5
+ import { hashMessage } from '../../utils/index.js'
6
+ import { type VerifyHashParameters, verifyHash } from './verifyHash.js'
7
+ import type { Address } from 'abitype'
8
+
9
+ export type VerifyMessageParameters = Omit<VerifyHashParameters, 'hash'> & {
10
+ /** The address that signed the original message. */
11
+ address: Address
12
+ /** The message to be verified. */
13
+ message: string
14
+ /** The signature that was generated by signing the message with the address's private key. */
15
+ signature: Hex | ByteArray
16
+ }
17
+
18
+ export type VerifyMessageReturnType = boolean
19
+
20
+ /**
21
+ * Verify that a message was signed by the provided address.
22
+ *
23
+ * Compatible with Smart Contract Accounts & Externally Owned Accounts via [ERC-6492](https://eips.ethereum.org/EIPS/eip-6492).
24
+ *
25
+ * - Docs {@link https://viem.sh/docs/actions/public/verifyMessage.html}
26
+ *
27
+ * @param client - Client to use.
28
+ * @param parameters - {@link VerifyMessageParameters}
29
+ * @returns Whether or not the signature is valid. {@link VerifyMessageReturnType}
30
+ */
31
+ export async function verifyMessage<TChain extends Chain | undefined,>(
32
+ client: PublicClient<Transport, TChain>,
33
+ { address, message, signature, ...callRequest }: VerifyMessageParameters,
34
+ ): Promise<VerifyMessageReturnType> {
35
+ const hash = hashMessage(message)
36
+ return verifyHash(client, {
37
+ address,
38
+ hash,
39
+ signature,
40
+ ...callRequest,
41
+ })
42
+ }
@@ -0,0 +1,51 @@
1
+ import type { Chain } from '../../chains.js'
2
+ import type { PublicClient } from '../../clients/createPublicClient.js'
3
+ import type { Transport } from '../../clients/transports/createTransport.js'
4
+ import type { ByteArray, Hex } from '../../types/misc.js'
5
+ import type { TypedDataDefinition } from '../../types/typedData.js'
6
+ import { hashTypedData } from '../../utils/index.js'
7
+ import { type VerifyHashParameters, verifyHash } from './verifyHash.js'
8
+ import type { Address, TypedData } from 'abitype'
9
+
10
+ export type VerifyTypedDataParameters<
11
+ TTypedData extends TypedData | { [key: string]: unknown } = TypedData,
12
+ TPrimaryType extends string = string,
13
+ > = Omit<VerifyHashParameters, 'hash'> &
14
+ TypedDataDefinition<TTypedData, TPrimaryType> & {
15
+ /** The address to verify the typed data for. */
16
+ address: Address
17
+ /** The signature to verify */
18
+ signature: Hex | ByteArray
19
+ }
20
+
21
+ export type VerifyTypedDataReturnType = boolean
22
+
23
+ /**
24
+ * Verify that typed data was signed by the provided address.
25
+ *
26
+ * - Docs {@link https://viem.sh/docs/actions/public/verifyTypedData.html}
27
+ *
28
+ * @param client - Client to use.
29
+ * @param parameters - {@link VerifyTypedDataParameters}
30
+ * @returns Whether or not the signature is valid. {@link VerifyTypedDataReturnType}
31
+ */
32
+ export async function verifyTypedData<TChain extends Chain | undefined,>(
33
+ client: PublicClient<Transport, TChain>,
34
+ {
35
+ address,
36
+ signature,
37
+ message,
38
+ primaryType,
39
+ types,
40
+ domain,
41
+ ...callRequest
42
+ }: VerifyTypedDataParameters,
43
+ ): Promise<VerifyTypedDataReturnType> {
44
+ const hash = hashTypedData({ message, primaryType, types, domain })
45
+ return verifyHash(client, {
46
+ address,
47
+ hash,
48
+ signature,
49
+ ...callRequest,
50
+ })
51
+ }
@@ -115,6 +115,7 @@ export async function waitForTransactionReceipt<
115
115
  let transaction: GetTransactionReturnType<TChain> | undefined
116
116
  let replacedTransaction: GetTransactionReturnType<TChain> | undefined
117
117
  let receipt: GetTransactionReceiptReturnType<TChain>
118
+ let retries = 0
118
119
 
119
120
  return new Promise((resolve, reject) => {
120
121
  if (timeout)
@@ -219,7 +220,8 @@ export async function waitForTransactionReceipt<
219
220
  emit.resolve(receipt)
220
221
  })
221
222
  } else {
222
- done(() => emit.reject(err))
223
+ if (retries > 2) done(() => emit.reject(err))
224
+ retries++
223
225
  }
224
226
  }
225
227
  },
@@ -156,6 +156,16 @@ import {
156
156
  type UninstallFilterReturnType,
157
157
  uninstallFilter,
158
158
  } from '../../actions/public/uninstallFilter.js'
159
+ import {
160
+ type VerifyMessageParameters,
161
+ type VerifyMessageReturnType,
162
+ verifyMessage,
163
+ } from '../../actions/public/verifyMessage.js'
164
+ import {
165
+ type VerifyTypedDataParameters,
166
+ type VerifyTypedDataReturnType,
167
+ verifyTypedData,
168
+ } from '../../actions/public/verifyTypedData.js'
159
169
  import {
160
170
  type WaitForTransactionReceiptParameters,
161
171
  type WaitForTransactionReceiptReturnType,
@@ -1108,6 +1118,12 @@ export type PublicActions<
1108
1118
  ) => Promise<
1109
1119
  SimulateContractReturnType<TAbi, TFunctionName, TChain, TChainOverride>
1110
1120
  >
1121
+ verifyMessage: (
1122
+ args: VerifyMessageParameters,
1123
+ ) => Promise<VerifyMessageReturnType>
1124
+ verifyTypedData: (
1125
+ args: VerifyTypedDataParameters,
1126
+ ) => Promise<VerifyTypedDataReturnType>
1111
1127
  /**
1112
1128
  * Destroys a Filter that was created from one of the following Actions:
1113
1129
  *
@@ -1373,6 +1389,8 @@ export const publicActions: <
1373
1389
  multicall: (args) => multicall(client, args),
1374
1390
  readContract: (args) => readContract(client, args),
1375
1391
  simulateContract: (args) => simulateContract(client, args),
1392
+ verifyMessage: (args) => verifyMessage(client, args),
1393
+ verifyTypedData: (args) => verifyTypedData(client, args),
1376
1394
  uninstallFilter: (args) => uninstallFilter(client, args),
1377
1395
  waitForTransactionReceipt: (args) => waitForTransactionReceipt(client, args),
1378
1396
  watchBlocks: (args) => watchBlocks(client, args),
@@ -81,3 +81,45 @@ export const singleAddressResolverAbi = [
81
81
  outputs: [{ name: '', type: 'address' }],
82
82
  },
83
83
  ] as const
84
+
85
+ // ERC-1271
86
+ // isValidSignature(bytes32 hash, bytes signature) → bytes4 magicValue
87
+ export const smartAccountAbi = [
88
+ {
89
+ name: 'isValidSignature',
90
+ type: 'function',
91
+ stateMutability: 'view',
92
+ inputs: [
93
+ { name: 'hash', type: 'bytes32' },
94
+ { name: 'signature', type: 'bytes' },
95
+ ],
96
+ outputs: [{ name: '', type: 'bytes4' }],
97
+ },
98
+ ] as const
99
+
100
+ // ERC-6492 - universal deployless signature validator contract
101
+ // constructor(address _signer, bytes32 _hash, bytes _signature) → bytes4 returnValue
102
+ // returnValue is either 0x1 (valid) or 0x0 (invalid)
103
+ export const universalSignatureValidatorAbi = [
104
+ {
105
+ inputs: [
106
+ {
107
+ internalType: 'address',
108
+ name: '_signer',
109
+ type: 'address',
110
+ },
111
+ {
112
+ internalType: 'bytes32',
113
+ name: '_hash',
114
+ type: 'bytes32',
115
+ },
116
+ {
117
+ internalType: 'bytes',
118
+ name: '_signature',
119
+ type: 'bytes',
120
+ },
121
+ ],
122
+ stateMutability: 'nonpayable',
123
+ type: 'constructor',
124
+ },
125
+ ] as const
@@ -0,0 +1,2 @@
1
+ export const universalSignatureValidatorByteCode =
2
+ '0x60806040523480156200001157600080fd5b50604051620007003803806200070083398101604081905262000034916200056f565b6000620000438484846200004f565b9050806000526001601ff35b600080846001600160a01b0316803b806020016040519081016040528181526000908060200190933c90507f6492649264926492649264926492649264926492649264926492649264926492620000a68462000451565b036200021f57600060608085806020019051810190620000c79190620005ce565b8651929550909350915060000362000192576000836001600160a01b031683604051620000f5919062000643565b6000604051808303816000865af19150503d806000811462000134576040519150601f19603f3d011682016040523d82523d6000602084013e62000139565b606091505b5050905080620001905760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b505b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90620001c4908b90869060040162000661565b602060405180830381865afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020891906200069d565b6001600160e01b031916149450505050506200044a565b805115620002b157604051630b135d3f60e11b808252906001600160a01b03871690631626ba7e9062000259908890889060040162000661565b602060405180830381865afa15801562000277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029d91906200069d565b6001600160e01b031916149150506200044a565b8251604114620003195760405162461bcd60e51b815260206004820152603a6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e677468000000000000606482015260840162000187565b620003236200046b565b506020830151604080850151855186939260009185919081106200034b576200034b620006c9565b016020015160f81c9050601b81148015906200036b57508060ff16601c14155b15620003cf5760405162461bcd60e51b815260206004820152603b6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c75650000000000606482015260840162000187565b6040805160008152602081018083528a905260ff83169181019190915260608101849052608081018390526001600160a01b038a169060019060a0016020604051602081039080840390855afa1580156200042e573d6000803e3d6000fd5b505050602060405103516001600160a01b031614955050505050505b9392505050565b60006020825110156200046357600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b03811681146200049f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004d5578181015183820152602001620004bb565b50506000910152565b600082601f830112620004f057600080fd5b81516001600160401b03808211156200050d576200050d620004a2565b604051601f8301601f19908116603f01168101908282118183101715620005385762000538620004a2565b816040528381528660208588010111156200055257600080fd5b62000565846020830160208901620004b8565b9695505050505050565b6000806000606084860312156200058557600080fd5b8351620005928162000489565b6020850151604086015191945092506001600160401b03811115620005b657600080fd5b620005c486828701620004de565b9150509250925092565b600080600060608486031215620005e457600080fd5b8351620005f18162000489565b60208501519093506001600160401b03808211156200060f57600080fd5b6200061d87838801620004de565b935060408601519150808211156200063457600080fd5b50620005c486828701620004de565b6000825162000657818460208701620004b8565b9190910192915050565b828152604060208201526000825180604084015262000688816060850160208701620004b8565b601f01601f1916919091016060019392505050565b600060208284031215620006b057600080fd5b81516001600160e01b0319811681146200044a57600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572'
@@ -1 +1 @@
1
- export const version = '0.3.18'
1
+ export const version = '0.3.20'
@@ -0,0 +1,8 @@
1
+ import { type ByteArray, type Hex, isHex, toBytes } from '../../index.js'
2
+ import { equalBytes } from '@noble/curves/abstract/utils'
3
+
4
+ export function isBytesEqual(a_: ByteArray | Hex, b_: ByteArray | Hex) {
5
+ const a = isHex(a_) ? toBytes(a_) : a_
6
+ const b = isHex(b_) ? toBytes(b_) : b_
7
+ return equalBytes(a, b)
8
+ }
@@ -7,13 +7,28 @@ import { isAddressEqual } from '../address/isAddressEqual.js'
7
7
  import { recoverMessageAddress } from './recoverMessageAddress.js'
8
8
 
9
9
  export type VerifyMessageParameters = {
10
+ /** The address that signed the original message. */
10
11
  address: Address
12
+ /** The message to be verified. */
11
13
  message: string
14
+ /** The signature that was generated by signing the message with the address's private key. */
12
15
  signature: Hex | ByteArray
13
16
  }
14
17
 
15
18
  export type VerifyMessageReturnType = boolean
16
19
 
20
+ /**
21
+ * Verify that a message was signed by the provided address.
22
+ *
23
+ * Note: Only supports Externally Owned Accounts. Does not support Contract Accounts.
24
+ * It is highly recommended to use `publicClient.verifyMessage` instead to ensure
25
+ * wallet interoperability.
26
+ *
27
+ * - Docs {@link https://viem.sh/docs/utilities/verifyMessage.html}
28
+ *
29
+ * @param parameters - {@link VerifyMessageParameters}
30
+ * @returns Whether or not the signature is valid. {@link VerifyMessageReturnType}
31
+ */
17
32
  export async function verifyMessage({
18
33
  address,
19
34
  message,
@@ -14,12 +14,26 @@ export type VerifyTypedDataParameters<
14
14
  TTypedData extends TypedData | { [key: string]: unknown } = TypedData,
15
15
  TPrimaryType extends string = string,
16
16
  > = TypedDataDefinition<TTypedData, TPrimaryType> & {
17
+ /** The address to verify the typed data for. */
17
18
  address: Address
19
+ /** The signature to verify */
18
20
  signature: Hex | ByteArray
19
21
  }
20
22
 
21
23
  export type VerifyTypedDataReturnType = boolean
22
24
 
25
+ /**
26
+ * Verify that typed data was signed by the provided address.
27
+ *
28
+ * Note: Only supports Externally Owned Accounts. Does not support Contract Accounts.
29
+ * It is highly recommended to use `publicClient.verifyTypedData` instead to ensure
30
+ * wallet interoperability.
31
+ *
32
+ * - Docs {@link https://viem.sh/docs/utilities/verifyTypedData.html}
33
+ *
34
+ * @param parameters - {@link VerifyTypedDataParameters}
35
+ * @returns Whether or not the signature is valid. {@link VerifyTypedDataReturnType}
36
+ */
23
37
  export async function verifyTypedData<
24
38
  TTypedData extends TypedData | { [key: string]: unknown },
25
39
  TPrimaryType extends string = string,