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.
- package/README.md +6 -0
- package/dist/cjs/actions/public/verifyHash.js +31 -0
- package/dist/cjs/actions/public/verifyHash.js.map +1 -0
- package/dist/cjs/actions/public/verifyMessage.js +16 -0
- package/dist/cjs/actions/public/verifyMessage.js.map +1 -0
- package/dist/cjs/actions/public/verifyTypedData.js +16 -0
- package/dist/cjs/actions/public/verifyTypedData.js.map +1 -0
- package/dist/cjs/actions/public/waitForTransactionReceipt.js +4 -1
- package/dist/cjs/actions/public/waitForTransactionReceipt.js.map +1 -1
- package/dist/cjs/clients/decorators/public.js +4 -0
- package/dist/cjs/clients/decorators/public.js.map +1 -1
- package/dist/cjs/constants/abis.js +36 -1
- package/dist/cjs/constants/abis.js.map +1 -1
- package/dist/cjs/constants/contracts.js +5 -0
- package/dist/cjs/constants/contracts.js.map +1 -0
- package/dist/cjs/errors/version.js +1 -1
- package/dist/cjs/utils/data/isBytesEqual.js +12 -0
- package/dist/cjs/utils/data/isBytesEqual.js.map +1 -0
- package/dist/cjs/utils/signature/verifyMessage.js.map +1 -1
- package/dist/cjs/utils/signature/verifyTypedData.js.map +1 -1
- package/dist/esm/actions/public/verifyHash.js +27 -0
- package/dist/esm/actions/public/verifyHash.js.map +1 -0
- package/dist/esm/actions/public/verifyMessage.js +12 -0
- package/dist/esm/actions/public/verifyMessage.js.map +1 -0
- package/dist/esm/actions/public/verifyTypedData.js +12 -0
- package/dist/esm/actions/public/verifyTypedData.js.map +1 -0
- package/dist/esm/actions/public/waitForTransactionReceipt.js +4 -1
- package/dist/esm/actions/public/waitForTransactionReceipt.js.map +1 -1
- package/dist/esm/clients/decorators/public.js +4 -0
- package/dist/esm/clients/decorators/public.js.map +1 -1
- package/dist/esm/constants/abis.js +35 -0
- package/dist/esm/constants/abis.js.map +1 -1
- package/dist/esm/constants/contracts.js +2 -0
- package/dist/esm/constants/contracts.js.map +1 -0
- package/dist/esm/errors/version.js +1 -1
- package/dist/esm/utils/data/isBytesEqual.js +8 -0
- package/dist/esm/utils/data/isBytesEqual.js.map +1 -0
- package/dist/esm/utils/signature/verifyMessage.js.map +1 -1
- package/dist/esm/utils/signature/verifyTypedData.js.map +1 -1
- package/dist/types/actions/public/verifyHash.d.ts +24 -0
- package/dist/types/actions/public/verifyHash.d.ts.map +1 -0
- package/dist/types/actions/public/verifyMessage.d.ts +28 -0
- package/dist/types/actions/public/verifyMessage.d.ts.map +1 -0
- package/dist/types/actions/public/verifyTypedData.d.ts +27 -0
- package/dist/types/actions/public/verifyTypedData.d.ts.map +1 -0
- package/dist/types/actions/public/waitForTransactionReceipt.d.ts.map +1 -1
- package/dist/types/clients/decorators/public.d.ts +4 -0
- package/dist/types/clients/decorators/public.d.ts.map +1 -1
- package/dist/types/constants/abis.d.ts +33 -0
- package/dist/types/constants/abis.d.ts.map +1 -1
- package/dist/types/constants/contracts.d.ts +2 -0
- package/dist/types/constants/contracts.d.ts.map +1 -0
- package/dist/types/errors/version.d.ts +1 -1
- package/dist/types/utils/data/isBytesEqual.d.ts +3 -0
- package/dist/types/utils/data/isBytesEqual.d.ts.map +1 -0
- package/dist/types/utils/signature/verifyMessage.d.ts +15 -0
- package/dist/types/utils/signature/verifyMessage.d.ts.map +1 -1
- package/dist/types/utils/signature/verifyTypedData.d.ts +14 -0
- package/dist/types/utils/signature/verifyTypedData.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/actions/public/verifyHash.ts +62 -0
- package/src/actions/public/verifyMessage.ts +42 -0
- package/src/actions/public/verifyTypedData.ts +51 -0
- package/src/actions/public/waitForTransactionReceipt.ts +3 -1
- package/src/clients/decorators/public.ts +18 -0
- package/src/constants/abis.ts +42 -0
- package/src/constants/contracts.ts +2 -0
- package/src/errors/version.ts +1 -1
- package/src/utils/data/isBytesEqual.ts +8 -0
- package/src/utils/signature/verifyMessage.ts +15 -0
- 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,
|
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":"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"}
|
@@ -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.
|
1
|
+
export declare const version = "0.3.20";
|
2
2
|
//# sourceMappingURL=version.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
@@ -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),
|
package/src/constants/abis.ts
CHANGED
@@ -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'
|
package/src/errors/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = '0.3.
|
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,
|