viem 0.3.18 → 0.3.19
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/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/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/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/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/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/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/clients/decorators/public.ts +18 -0
- package/src/constants/abis.ts +42 -0
- package/src/constants/contracts.ts +2 -0
- package/src/utils/data/isBytesEqual.ts +8 -0
- package/src/utils/signature/verifyMessage.ts +15 -0
- package/src/utils/signature/verifyTypedData.ts +14 -0
package/README.md
CHANGED
@@ -168,6 +168,12 @@ Check out the following places for more viem-related content:
|
|
168
168
|
<img alt="Spruce logo" src="https://raw.githubusercontent.com/wagmi-dev/.github/main/content/sponsors/spruce-light.svg" width="auto" height="50">
|
169
169
|
</picture>
|
170
170
|
</a>
|
171
|
+
<a href="https://rollup.id">
|
172
|
+
<picture>
|
173
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wagmi-dev/.github/main/content/sponsors/rollup.id-dark.svg">
|
174
|
+
<img alt="rollup.id logo" src="https://raw.githubusercontent.com/wagmi-dev/.github/main/content/sponsors/rollup.id-light.svg" width="auto" height="50">
|
175
|
+
</picture>
|
176
|
+
</a>
|
171
177
|
|
172
178
|
## Contributing
|
173
179
|
|
@@ -0,0 +1,31 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.verifyHash = void 0;
|
4
|
+
const abis_js_1 = require("../../constants/abis.js");
|
5
|
+
const contracts_js_1 = require("../../constants/contracts.js");
|
6
|
+
const contract_js_1 = require("../../errors/contract.js");
|
7
|
+
const isBytesEqual_js_1 = require("../../utils/data/isBytesEqual.js");
|
8
|
+
const index_js_1 = require("../../utils/index.js");
|
9
|
+
const call_js_1 = require("./call.js");
|
10
|
+
async function verifyHash(client, { address, hash, signature, ...callRequest }) {
|
11
|
+
const signatureHex = (0, index_js_1.isHex)(signature) ? signature : (0, index_js_1.toHex)(signature);
|
12
|
+
try {
|
13
|
+
const { data } = await (0, call_js_1.call)(client, {
|
14
|
+
data: (0, index_js_1.encodeDeployData)({
|
15
|
+
abi: abis_js_1.universalSignatureValidatorAbi,
|
16
|
+
args: [address, hash, signatureHex],
|
17
|
+
bytecode: contracts_js_1.universalSignatureValidatorByteCode,
|
18
|
+
}),
|
19
|
+
...callRequest,
|
20
|
+
});
|
21
|
+
return (0, isBytesEqual_js_1.isBytesEqual)(data ?? '0x0', '0x1');
|
22
|
+
}
|
23
|
+
catch (error) {
|
24
|
+
if (error instanceof contract_js_1.CallExecutionError) {
|
25
|
+
return false;
|
26
|
+
}
|
27
|
+
throw error;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
exports.verifyHash = verifyHash;
|
31
|
+
//# sourceMappingURL=verifyHash.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"verifyHash.js","sourceRoot":"","sources":["../../../../src/actions/public/verifyHash.ts"],"names":[],"mappings":";;;AAKA,qDAAwE;AACxE,+DAAkF;AAClF,0DAA6D;AAE7D,sEAA+D;AAC/D,mDAAqE;AACrE,uCAAqD;AAuB9C,KAAK,UAAU,UAAU,CAC9B,MAAuC,EACvC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,WAAW,EAAwB;IAElE,MAAM,YAAY,GAAG,IAAA,gBAAK,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,SAAS,CAAC,CAAA;IAEpE,IAAI;QACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,cAAI,EAAC,MAAM,EAAE;YAClC,IAAI,EAAE,IAAA,2BAAgB,EAAC;gBACrB,GAAG,EAAE,wCAA8B;gBACnC,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC;gBACnC,QAAQ,EAAE,kDAAmC;aAC9C,CAAC;YACF,GAAG,WAAW;SACc,CAAC,CAAA;QAE/B,OAAO,IAAA,8BAAY,EAAC,IAAI,IAAI,KAAK,EAAE,KAAK,CAAC,CAAA;KAC1C;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,YAAY,gCAAkB,EAAE;YAIvC,OAAO,KAAK,CAAA;SACb;QAED,MAAM,KAAK,CAAA;KACZ;AACH,CAAC;AA3BD,gCA2BC"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.verifyMessage = void 0;
|
4
|
+
const index_js_1 = require("../../utils/index.js");
|
5
|
+
const verifyHash_js_1 = require("./verifyHash.js");
|
6
|
+
async function verifyMessage(client, { address, message, signature, ...callRequest }) {
|
7
|
+
const hash = (0, index_js_1.hashMessage)(message);
|
8
|
+
return (0, verifyHash_js_1.verifyHash)(client, {
|
9
|
+
address,
|
10
|
+
hash,
|
11
|
+
signature,
|
12
|
+
...callRequest,
|
13
|
+
});
|
14
|
+
}
|
15
|
+
exports.verifyMessage = verifyMessage;
|
16
|
+
//# sourceMappingURL=verifyMessage.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"verifyMessage.js","sourceRoot":"","sources":["../../../../src/actions/public/verifyMessage.ts"],"names":[],"mappings":";;;AAIA,mDAAkD;AAClD,mDAAuE;AAyBhE,KAAK,UAAU,aAAa,CACjC,MAAuC,EACvC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAA2B;IAExE,MAAM,IAAI,GAAG,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAA;IACjC,OAAO,IAAA,0BAAU,EAAC,MAAM,EAAE;QACxB,OAAO;QACP,IAAI;QACJ,SAAS;QACT,GAAG,WAAW;KACf,CAAC,CAAA;AACJ,CAAC;AAXD,sCAWC"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.verifyTypedData = void 0;
|
4
|
+
const index_js_1 = require("../../utils/index.js");
|
5
|
+
const verifyHash_js_1 = require("./verifyHash.js");
|
6
|
+
async function verifyTypedData(client, { address, signature, message, primaryType, types, domain, ...callRequest }) {
|
7
|
+
const hash = (0, index_js_1.hashTypedData)({ message, primaryType, types, domain });
|
8
|
+
return (0, verifyHash_js_1.verifyHash)(client, {
|
9
|
+
address,
|
10
|
+
hash,
|
11
|
+
signature,
|
12
|
+
...callRequest,
|
13
|
+
});
|
14
|
+
}
|
15
|
+
exports.verifyTypedData = verifyTypedData;
|
16
|
+
//# sourceMappingURL=verifyTypedData.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"verifyTypedData.js","sourceRoot":"","sources":["../../../../src/actions/public/verifyTypedData.ts"],"names":[],"mappings":";;;AAKA,mDAAoD;AACpD,mDAAuE;AAyBhE,KAAK,UAAU,eAAe,CACnC,MAAuC,EACvC,EACE,OAAO,EACP,SAAS,EACT,OAAO,EACP,WAAW,EACX,KAAK,EACL,MAAM,EACN,GAAG,WAAW,EACY;IAE5B,MAAM,IAAI,GAAG,IAAA,wBAAa,EAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IACnE,OAAO,IAAA,0BAAU,EAAC,MAAM,EAAE;QACxB,OAAO;QACP,IAAI;QACJ,SAAS;QACT,GAAG,WAAW;KACf,CAAC,CAAA;AACJ,CAAC;AAnBD,0CAmBC"}
|
@@ -33,6 +33,8 @@ const multicall_js_1 = require("../../actions/public/multicall.js");
|
|
33
33
|
const readContract_js_1 = require("../../actions/public/readContract.js");
|
34
34
|
const simulateContract_js_1 = require("../../actions/public/simulateContract.js");
|
35
35
|
const uninstallFilter_js_1 = require("../../actions/public/uninstallFilter.js");
|
36
|
+
const verifyMessage_js_1 = require("../../actions/public/verifyMessage.js");
|
37
|
+
const verifyTypedData_js_1 = require("../../actions/public/verifyTypedData.js");
|
36
38
|
const waitForTransactionReceipt_js_1 = require("../../actions/public/waitForTransactionReceipt.js");
|
37
39
|
const watchBlockNumber_js_1 = require("../../actions/public/watchBlockNumber.js");
|
38
40
|
const watchBlocks_js_1 = require("../../actions/public/watchBlocks.js");
|
@@ -71,6 +73,8 @@ const publicActions = (client) => ({
|
|
71
73
|
multicall: (args) => (0, multicall_js_1.multicall)(client, args),
|
72
74
|
readContract: (args) => (0, readContract_js_1.readContract)(client, args),
|
73
75
|
simulateContract: (args) => (0, simulateContract_js_1.simulateContract)(client, args),
|
76
|
+
verifyMessage: (args) => (0, verifyMessage_js_1.verifyMessage)(client, args),
|
77
|
+
verifyTypedData: (args) => (0, verifyTypedData_js_1.verifyTypedData)(client, args),
|
74
78
|
uninstallFilter: (args) => (0, uninstallFilter_js_1.uninstallFilter)(client, args),
|
75
79
|
waitForTransactionReceipt: (args) => (0, waitForTransactionReceipt_js_1.waitForTransactionReceipt)(client, args),
|
76
80
|
watchBlocks: (args) => (0, watchBlocks_js_1.watchBlocks)(client, args),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../../../src/clients/decorators/public.ts"],"names":[],"mappings":";;;AAEA,yEAI2C;AAC3C,uEAI0C;AAC1C,mEAIwC;AACxC,2EAI4C;AAC5C,mEAIwC;AACxC,0DAIqC;AACrC,oFAGkD;AAClD,oGAI0D;AAC1D,oFAIkD;AAClD,8GAG+D;AAC/D,wFAIoD;AACpD,wEAI4C;AAC5C,sEAI2C;AAC3C,kEAIyC;AACzC,8EAI+C;AAC/C,kGAIyD;AACzD,wEAI4C;AAC5C,sEAG2C;AAC3C,4EAI8C;AAC9C,kFAIiD;AACjD,4EAI8C;AAC9C,wEAG4C;AAC5C,gEAIwC;AACxC,0EAI6C;AAC7C,8EAI+C;AAC/C,wGAI4D;AAC5D,wFAIoD;AACpD,4FAIsD;AACtD,oEAI0C;AAC1C,0EAI6C;AAC7C,kFAIiD;AACjD,gFAIgD;AAChD,oGAI0D;AAC1D,kFAIiD;AACjD,wEAI4C;AAC5C,sFAImD;AACnD,sEAI2C;AAC3C,kGAIyD;
|
1
|
+
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../../../src/clients/decorators/public.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.singleAddressResolverAbi = exports.textResolverAbi = exports.universalResolverAbi = exports.multicall3Abi = void 0;
|
3
|
+
exports.universalSignatureValidatorAbi = exports.smartAccountAbi = exports.singleAddressResolverAbi = exports.textResolverAbi = exports.universalResolverAbi = exports.multicall3Abi = void 0;
|
4
4
|
exports.multicall3Abi = [
|
5
5
|
{
|
6
6
|
inputs: [
|
@@ -80,4 +80,39 @@ exports.singleAddressResolverAbi = [
|
|
80
80
|
outputs: [{ name: '', type: 'address' }],
|
81
81
|
},
|
82
82
|
];
|
83
|
+
exports.smartAccountAbi = [
|
84
|
+
{
|
85
|
+
name: 'isValidSignature',
|
86
|
+
type: 'function',
|
87
|
+
stateMutability: 'view',
|
88
|
+
inputs: [
|
89
|
+
{ name: 'hash', type: 'bytes32' },
|
90
|
+
{ name: 'signature', type: 'bytes' },
|
91
|
+
],
|
92
|
+
outputs: [{ name: '', type: 'bytes4' }],
|
93
|
+
},
|
94
|
+
];
|
95
|
+
exports.universalSignatureValidatorAbi = [
|
96
|
+
{
|
97
|
+
inputs: [
|
98
|
+
{
|
99
|
+
internalType: 'address',
|
100
|
+
name: '_signer',
|
101
|
+
type: 'address',
|
102
|
+
},
|
103
|
+
{
|
104
|
+
internalType: 'bytes32',
|
105
|
+
name: '_hash',
|
106
|
+
type: 'bytes32',
|
107
|
+
},
|
108
|
+
{
|
109
|
+
internalType: 'bytes',
|
110
|
+
name: '_signature',
|
111
|
+
type: 'bytes',
|
112
|
+
},
|
113
|
+
],
|
114
|
+
stateMutability: 'nonpayable',
|
115
|
+
type: 'constructor',
|
116
|
+
},
|
117
|
+
];
|
83
118
|
//# sourceMappingURL=abis.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"abis.js","sourceRoot":"","sources":["../../../src/constants/abis.ts"],"names":[],"mappings":";;;AACa,QAAA,aAAa,GAAG;IAC3B;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,MAAM;qBACb;oBACD;wBACE,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,OAAO;qBACd;iBACF;gBACD,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE;YACP;gBACE,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,MAAM;qBACb;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,OAAO;qBACd;iBACF;gBACD,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAA;AAEG,QAAA,oBAAoB,GAAG;IAClC;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;YAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;SAChC;QACD,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3B,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;SACrC;KACF;CACO,CAAA;AAEG,QAAA,eAAe,GAAG;IAC7B;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;SAChC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;KACxC;CACO,CAAA;AAEG,QAAA,wBAAwB,GAAG;IACtC;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC3C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACzC;CACO,CAAA"}
|
1
|
+
{"version":3,"file":"abis.js","sourceRoot":"","sources":["../../../src/constants/abis.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.universalSignatureValidatorByteCode = void 0;
|
4
|
+
exports.universalSignatureValidatorByteCode = '0x60806040523480156200001157600080fd5b50604051620007003803806200070083398101604081905262000034916200056f565b6000620000438484846200004f565b9050806000526001601ff35b600080846001600160a01b0316803b806020016040519081016040528181526000908060200190933c90507f6492649264926492649264926492649264926492649264926492649264926492620000a68462000451565b036200021f57600060608085806020019051810190620000c79190620005ce565b8651929550909350915060000362000192576000836001600160a01b031683604051620000f5919062000643565b6000604051808303816000865af19150503d806000811462000134576040519150601f19603f3d011682016040523d82523d6000602084013e62000139565b606091505b5050905080620001905760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b505b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90620001c4908b90869060040162000661565b602060405180830381865afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020891906200069d565b6001600160e01b031916149450505050506200044a565b805115620002b157604051630b135d3f60e11b808252906001600160a01b03871690631626ba7e9062000259908890889060040162000661565b602060405180830381865afa15801562000277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029d91906200069d565b6001600160e01b031916149150506200044a565b8251604114620003195760405162461bcd60e51b815260206004820152603a6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e677468000000000000606482015260840162000187565b620003236200046b565b506020830151604080850151855186939260009185919081106200034b576200034b620006c9565b016020015160f81c9050601b81148015906200036b57508060ff16601c14155b15620003cf5760405162461bcd60e51b815260206004820152603b6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c75650000000000606482015260840162000187565b6040805160008152602081018083528a905260ff83169181019190915260608101849052608081018390526001600160a01b038a169060019060a0016020604051602081039080840390855afa1580156200042e573d6000803e3d6000fd5b505050602060405103516001600160a01b031614955050505050505b9392505050565b60006020825110156200046357600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b03811681146200049f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004d5578181015183820152602001620004bb565b50506000910152565b600082601f830112620004f057600080fd5b81516001600160401b03808211156200050d576200050d620004a2565b604051601f8301601f19908116603f01168101908282118183101715620005385762000538620004a2565b816040528381528660208588010111156200055257600080fd5b62000565846020830160208901620004b8565b9695505050505050565b6000806000606084860312156200058557600080fd5b8351620005928162000489565b6020850151604086015191945092506001600160401b03811115620005b657600080fd5b620005c486828701620004de565b9150509250925092565b600080600060608486031215620005e457600080fd5b8351620005f18162000489565b60208501519093506001600160401b03808211156200060f57600080fd5b6200061d87838801620004de565b935060408601519150808211156200063457600080fd5b50620005c486828701620004de565b6000825162000657818460208701620004b8565b9190910192915050565b828152604060208201526000825180604084015262000688816060850160208701620004b8565b601f01601f1916919091016060019392505050565b600060208284031215620006b057600080fd5b81516001600160e01b0319811681146200044a57600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572';
|
5
|
+
//# sourceMappingURL=contracts.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/constants/contracts.ts"],"names":[],"mappings":";;;AAAa,QAAA,mCAAmC,GAC9C,ogHAAogH,CAAA"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.isBytesEqual = void 0;
|
4
|
+
const index_js_1 = require("../../index.js");
|
5
|
+
const utils_1 = require("@noble/curves/abstract/utils");
|
6
|
+
function isBytesEqual(a_, b_) {
|
7
|
+
const a = (0, index_js_1.isHex)(a_) ? (0, index_js_1.toBytes)(a_) : a_;
|
8
|
+
const b = (0, index_js_1.isHex)(b_) ? (0, index_js_1.toBytes)(b_) : b_;
|
9
|
+
return (0, utils_1.equalBytes)(a, b);
|
10
|
+
}
|
11
|
+
exports.isBytesEqual = isBytesEqual;
|
12
|
+
//# sourceMappingURL=isBytesEqual.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"isBytesEqual.js","sourceRoot":"","sources":["../../../../src/utils/data/isBytesEqual.ts"],"names":[],"mappings":";;;AAAA,6CAAyE;AACzE,wDAAyD;AAEzD,SAAgB,YAAY,CAAC,EAAmB,EAAE,EAAmB;IACnE,MAAM,CAAC,GAAG,IAAA,gBAAK,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAO,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACtC,MAAM,CAAC,GAAG,IAAA,gBAAK,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAO,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACtC,OAAO,IAAA,kBAAU,EAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACzB,CAAC;AAJD,oCAIC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"verifyMessage.js","sourceRoot":"","sources":["../../../../src/utils/signature/verifyMessage.ts"],"names":[],"mappings":";;;AAGA,4DAAqD;AACrD,oEAA6D;AAE7D,yEAAkE;
|
1
|
+
{"version":3,"file":"verifyMessage.js","sourceRoot":"","sources":["../../../../src/utils/signature/verifyMessage.ts"],"names":[],"mappings":";;;AAGA,4DAAqD;AACrD,oEAA6D;AAE7D,yEAAkE;AAyB3D,KAAK,UAAU,aAAa,CAAC,EAClC,OAAO,EACP,OAAO,EACP,SAAS,GACe;IACxB,OAAO,IAAA,kCAAc,EACnB,IAAA,0BAAU,EAAC,OAAO,CAAC,EACnB,MAAM,IAAA,gDAAqB,EAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CACpD,CAAA;AACH,CAAC;AATD,sCASC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"verifyTypedData.js","sourceRoot":"","sources":["../../../../src/utils/signature/verifyTypedData.ts"],"names":[],"mappings":";;;AAIA,4DAAqD;AACrD,oEAA6D;AAE7D,6EAGqC;
|
1
|
+
{"version":3,"file":"verifyTypedData.js","sourceRoot":"","sources":["../../../../src/utils/signature/verifyTypedData.ts"],"names":[],"mappings":";;;AAIA,4DAAqD;AACrD,oEAA6D;AAE7D,6EAGqC;AA0B9B,KAAK,UAAU,eAAe,CAGnC,EACA,OAAO,EACP,MAAM,EACN,OAAO,EACP,WAAW,EACX,SAAS,EACT,KAAK,GAIN;IACC,OAAO,IAAA,kCAAc,EACnB,IAAA,0BAAU,EAAC,OAAO,CAAC,EACnB,MAAM,IAAA,oDAAuB,EAAC;QAC5B,MAAM;QACN,OAAO;QACP,WAAW;QACX,SAAS;QACT,KAAK;KAC+B,CAAC,CACxC,CAAA;AACH,CAAC;AAxBD,0CAwBC"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { universalSignatureValidatorAbi } from '../../constants/abis.js';
|
2
|
+
import { universalSignatureValidatorByteCode } from '../../constants/contracts.js';
|
3
|
+
import { CallExecutionError } from '../../errors/contract.js';
|
4
|
+
import { isBytesEqual } from '../../utils/data/isBytesEqual.js';
|
5
|
+
import { encodeDeployData, isHex, toHex } from '../../utils/index.js';
|
6
|
+
import { call } from './call.js';
|
7
|
+
export async function verifyHash(client, { address, hash, signature, ...callRequest }) {
|
8
|
+
const signatureHex = isHex(signature) ? signature : toHex(signature);
|
9
|
+
try {
|
10
|
+
const { data } = await call(client, {
|
11
|
+
data: encodeDeployData({
|
12
|
+
abi: universalSignatureValidatorAbi,
|
13
|
+
args: [address, hash, signatureHex],
|
14
|
+
bytecode: universalSignatureValidatorByteCode,
|
15
|
+
}),
|
16
|
+
...callRequest,
|
17
|
+
});
|
18
|
+
return isBytesEqual(data ?? '0x0', '0x1');
|
19
|
+
}
|
20
|
+
catch (error) {
|
21
|
+
if (error instanceof CallExecutionError) {
|
22
|
+
return false;
|
23
|
+
}
|
24
|
+
throw error;
|
25
|
+
}
|
26
|
+
}
|
27
|
+
//# sourceMappingURL=verifyHash.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"verifyHash.js","sourceRoot":"","sources":["../../../../src/actions/public/verifyHash.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,EAAE,mCAAmC,EAAE,MAAM,8BAA8B,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAuB,IAAI,EAAE,MAAM,WAAW,CAAA;AAuBrD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAuC,EACvC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,WAAW,EAAwB;IAElE,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAEpE,IAAI;QACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE;YAClC,IAAI,EAAE,gBAAgB,CAAC;gBACrB,GAAG,EAAE,8BAA8B;gBACnC,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC;gBACnC,QAAQ,EAAE,mCAAmC;aAC9C,CAAC;YACF,GAAG,WAAW;SACc,CAAC,CAAA;QAE/B,OAAO,YAAY,CAAC,IAAI,IAAI,KAAK,EAAE,KAAK,CAAC,CAAA;KAC1C;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,YAAY,kBAAkB,EAAE;YAIvC,OAAO,KAAK,CAAA;SACb;QAED,MAAM,KAAK,CAAA;KACZ;AACH,CAAC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { hashMessage } from '../../utils/index.js';
|
2
|
+
import { verifyHash } from './verifyHash.js';
|
3
|
+
export async function verifyMessage(client, { address, message, signature, ...callRequest }) {
|
4
|
+
const hash = hashMessage(message);
|
5
|
+
return verifyHash(client, {
|
6
|
+
address,
|
7
|
+
hash,
|
8
|
+
signature,
|
9
|
+
...callRequest,
|
10
|
+
});
|
11
|
+
}
|
12
|
+
//# sourceMappingURL=verifyMessage.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"verifyMessage.js","sourceRoot":"","sources":["../../../../src/actions/public/verifyMessage.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAA6B,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAyBvE,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAuC,EACvC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAA2B;IAExE,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;IACjC,OAAO,UAAU,CAAC,MAAM,EAAE;QACxB,OAAO;QACP,IAAI;QACJ,SAAS;QACT,GAAG,WAAW;KACf,CAAC,CAAA;AACJ,CAAC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { hashTypedData } from '../../utils/index.js';
|
2
|
+
import { verifyHash } from './verifyHash.js';
|
3
|
+
export async function verifyTypedData(client, { address, signature, message, primaryType, types, domain, ...callRequest }) {
|
4
|
+
const hash = hashTypedData({ message, primaryType, types, domain });
|
5
|
+
return verifyHash(client, {
|
6
|
+
address,
|
7
|
+
hash,
|
8
|
+
signature,
|
9
|
+
...callRequest,
|
10
|
+
});
|
11
|
+
}
|
12
|
+
//# sourceMappingURL=verifyTypedData.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"verifyTypedData.js","sourceRoot":"","sources":["../../../../src/actions/public/verifyTypedData.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAA6B,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAyBvE,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAuC,EACvC,EACE,OAAO,EACP,SAAS,EACT,OAAO,EACP,WAAW,EACX,KAAK,EACL,MAAM,EACN,GAAG,WAAW,EACY;IAE5B,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IACnE,OAAO,UAAU,CAAC,MAAM,EAAE;QACxB,OAAO;QACP,IAAI;QACJ,SAAS;QACT,GAAG,WAAW;KACf,CAAC,CAAA;AACJ,CAAC"}
|
@@ -30,6 +30,8 @@ import { multicall, } from '../../actions/public/multicall.js';
|
|
30
30
|
import { readContract, } from '../../actions/public/readContract.js';
|
31
31
|
import { simulateContract, } from '../../actions/public/simulateContract.js';
|
32
32
|
import { uninstallFilter, } from '../../actions/public/uninstallFilter.js';
|
33
|
+
import { verifyMessage, } from '../../actions/public/verifyMessage.js';
|
34
|
+
import { verifyTypedData, } from '../../actions/public/verifyTypedData.js';
|
33
35
|
import { waitForTransactionReceipt, } from '../../actions/public/waitForTransactionReceipt.js';
|
34
36
|
import { watchBlockNumber, } from '../../actions/public/watchBlockNumber.js';
|
35
37
|
import { watchBlocks, } from '../../actions/public/watchBlocks.js';
|
@@ -68,6 +70,8 @@ export const publicActions = (client) => ({
|
|
68
70
|
multicall: (args) => multicall(client, args),
|
69
71
|
readContract: (args) => readContract(client, args),
|
70
72
|
simulateContract: (args) => simulateContract(client, args),
|
73
|
+
verifyMessage: (args) => verifyMessage(client, args),
|
74
|
+
verifyTypedData: (args) => verifyTypedData(client, args),
|
71
75
|
uninstallFilter: (args) => uninstallFilter(client, args),
|
72
76
|
waitForTransactionReceipt: (args) => waitForTransactionReceipt(client, args),
|
73
77
|
watchBlocks: (args) => watchBlocks(client, args),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../../../src/clients/decorators/public.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,aAAa,GACd,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAGL,YAAY,GACb,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAGL,UAAU,GACX,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAGL,cAAc,GACf,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAGL,UAAU,GACX,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAGL,IAAI,GACL,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAEL,iBAAiB,GAClB,MAAM,2CAA2C,CAAA;AAClD,OAAO,EAGL,yBAAyB,GAC1B,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAGL,iBAAiB,GAClB,MAAM,2CAA2C,CAAA;AAClD,OAAO,EAEL,8BAA8B,GAC/B,MAAM,wDAAwD,CAAA;AAC/D,OAAO,EAGL,mBAAmB,GACpB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAGL,WAAW,GACZ,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAGL,UAAU,GACX,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAGL,QAAQ,GACT,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAGL,cAAc,GACf,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAGL,wBAAwB,GACzB,MAAM,kDAAkD,CAAA;AACzD,OAAO,EAGL,WAAW,GACZ,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAEL,UAAU,GACX,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAGL,aAAa,GACd,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAGL,gBAAgB,GACjB,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAGL,aAAa,GACd,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAEL,WAAW,GACZ,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAGL,OAAO,GACR,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAGL,YAAY,GACb,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAGL,cAAc,GACf,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAGL,2BAA2B,GAC5B,MAAM,qDAAqD,CAAA;AAC5D,OAAO,EAGL,mBAAmB,GACpB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAGL,qBAAqB,GACtB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAGL,SAAS,GACV,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAGL,YAAY,GACb,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAGL,gBAAgB,GACjB,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAGL,eAAe,GAChB,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAGL,yBAAyB,GAC1B,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAGL,gBAAgB,GACjB,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAGL,WAAW,GACZ,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAGL,kBAAkB,GACnB,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAGL,UAAU,GACX,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAGL,wBAAwB,GACzB,MAAM,kDAAkD,CAAA;
|
1
|
+
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../../../src/clients/decorators/public.ts"],"names":[],"mappings":"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"}
|
@@ -77,4 +77,39 @@ export const singleAddressResolverAbi = [
|
|
77
77
|
outputs: [{ name: '', type: 'address' }],
|
78
78
|
},
|
79
79
|
];
|
80
|
+
export const smartAccountAbi = [
|
81
|
+
{
|
82
|
+
name: 'isValidSignature',
|
83
|
+
type: 'function',
|
84
|
+
stateMutability: 'view',
|
85
|
+
inputs: [
|
86
|
+
{ name: 'hash', type: 'bytes32' },
|
87
|
+
{ name: 'signature', type: 'bytes' },
|
88
|
+
],
|
89
|
+
outputs: [{ name: '', type: 'bytes4' }],
|
90
|
+
},
|
91
|
+
];
|
92
|
+
export const universalSignatureValidatorAbi = [
|
93
|
+
{
|
94
|
+
inputs: [
|
95
|
+
{
|
96
|
+
internalType: 'address',
|
97
|
+
name: '_signer',
|
98
|
+
type: 'address',
|
99
|
+
},
|
100
|
+
{
|
101
|
+
internalType: 'bytes32',
|
102
|
+
name: '_hash',
|
103
|
+
type: 'bytes32',
|
104
|
+
},
|
105
|
+
{
|
106
|
+
internalType: 'bytes',
|
107
|
+
name: '_signature',
|
108
|
+
type: 'bytes',
|
109
|
+
},
|
110
|
+
],
|
111
|
+
stateMutability: 'nonpayable',
|
112
|
+
type: 'constructor',
|
113
|
+
},
|
114
|
+
];
|
80
115
|
//# sourceMappingURL=abis.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"abis.js","sourceRoot":"","sources":["../../../src/constants/abis.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,MAAM;qBACb;oBACD;wBACE,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,OAAO;qBACd;iBACF;gBACD,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE;YACP;gBACE,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,MAAM;qBACb;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,OAAO;qBACd;iBACF;gBACD,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAA;AAEV,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;YAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;SAChC;QACD,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3B,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;SACrC;KACF;CACO,CAAA;AAEV,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;SAChC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;KACxC;CACO,CAAA;AAEV,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC3C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACzC;CACO,CAAA"}
|
1
|
+
{"version":3,"file":"abis.js","sourceRoot":"","sources":["../../../src/constants/abis.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,MAAM;qBACb;oBACD;wBACE,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,OAAO;qBACd;iBACF;gBACD,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE;YACP;gBACE,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,MAAM;qBACb;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,OAAO;qBACd;iBACF;gBACD,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAA;AAEV,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;YAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;SAChC;QACD,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3B,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;SACrC;KACF;CACO,CAAA;AAEV,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;SAChC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;KACxC;CACO,CAAA;AAEV,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC3C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACzC;CACO,CAAA;AAIV,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B;QACE,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;SACrC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;KACxC;CACO,CAAA;AAKV,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACpB;CACO,CAAA"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export const universalSignatureValidatorByteCode = '0x60806040523480156200001157600080fd5b50604051620007003803806200070083398101604081905262000034916200056f565b6000620000438484846200004f565b9050806000526001601ff35b600080846001600160a01b0316803b806020016040519081016040528181526000908060200190933c90507f6492649264926492649264926492649264926492649264926492649264926492620000a68462000451565b036200021f57600060608085806020019051810190620000c79190620005ce565b8651929550909350915060000362000192576000836001600160a01b031683604051620000f5919062000643565b6000604051808303816000865af19150503d806000811462000134576040519150601f19603f3d011682016040523d82523d6000602084013e62000139565b606091505b5050905080620001905760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b505b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90620001c4908b90869060040162000661565b602060405180830381865afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020891906200069d565b6001600160e01b031916149450505050506200044a565b805115620002b157604051630b135d3f60e11b808252906001600160a01b03871690631626ba7e9062000259908890889060040162000661565b602060405180830381865afa15801562000277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029d91906200069d565b6001600160e01b031916149150506200044a565b8251604114620003195760405162461bcd60e51b815260206004820152603a6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e677468000000000000606482015260840162000187565b620003236200046b565b506020830151604080850151855186939260009185919081106200034b576200034b620006c9565b016020015160f81c9050601b81148015906200036b57508060ff16601c14155b15620003cf5760405162461bcd60e51b815260206004820152603b6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c75650000000000606482015260840162000187565b6040805160008152602081018083528a905260ff83169181019190915260608101849052608081018390526001600160a01b038a169060019060a0016020604051602081039080840390855afa1580156200042e573d6000803e3d6000fd5b505050602060405103516001600160a01b031614955050505050505b9392505050565b60006020825110156200046357600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b03811681146200049f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004d5578181015183820152602001620004bb565b50506000910152565b600082601f830112620004f057600080fd5b81516001600160401b03808211156200050d576200050d620004a2565b604051601f8301601f19908116603f01168101908282118183101715620005385762000538620004a2565b816040528381528660208588010111156200055257600080fd5b62000565846020830160208901620004b8565b9695505050505050565b6000806000606084860312156200058557600080fd5b8351620005928162000489565b6020850151604086015191945092506001600160401b03811115620005b657600080fd5b620005c486828701620004de565b9150509250925092565b600080600060608486031215620005e457600080fd5b8351620005f18162000489565b60208501519093506001600160401b03808211156200060f57600080fd5b6200061d87838801620004de565b935060408601519150808211156200063457600080fd5b50620005c486828701620004de565b6000825162000657818460208701620004b8565b9190910192915050565b828152604060208201526000825180604084015262000688816060850160208701620004b8565b601f01601f1916919091016060019392505050565b600060208284031215620006b057600080fd5b81516001600160e01b0319811681146200044a57600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572';
|
2
|
+
//# sourceMappingURL=contracts.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/constants/contracts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mCAAmC,GAC9C,ogHAAogH,CAAA"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { isHex, toBytes } from '../../index.js';
|
2
|
+
import { equalBytes } from '@noble/curves/abstract/utils';
|
3
|
+
export function isBytesEqual(a_, b_) {
|
4
|
+
const a = isHex(a_) ? toBytes(a_) : a_;
|
5
|
+
const b = isHex(b_) ? toBytes(b_) : b_;
|
6
|
+
return equalBytes(a, b);
|
7
|
+
}
|
8
|
+
//# sourceMappingURL=isBytesEqual.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"isBytesEqual.js","sourceRoot":"","sources":["../../../../src/utils/data/isBytesEqual.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAEzD,MAAM,UAAU,YAAY,CAAC,EAAmB,EAAE,EAAmB;IACnE,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACtC,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACtC,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACzB,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"verifyMessage.js","sourceRoot":"","sources":["../../../../src/utils/signature/verifyMessage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;
|
1
|
+
{"version":3,"file":"verifyMessage.js","sourceRoot":"","sources":["../../../../src/utils/signature/verifyMessage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAyBlE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,OAAO,EACP,OAAO,EACP,SAAS,GACe;IACxB,OAAO,cAAc,CACnB,UAAU,CAAC,OAAO,CAAC,EACnB,MAAM,qBAAqB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CACpD,CAAA;AACH,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"verifyTypedData.js","sourceRoot":"","sources":["../../../../src/utils/signature/verifyTypedData.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAEL,uBAAuB,GACxB,MAAM,8BAA8B,CAAA;
|
1
|
+
{"version":3,"file":"verifyTypedData.js","sourceRoot":"","sources":["../../../../src/utils/signature/verifyTypedData.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAEL,uBAAuB,GACxB,MAAM,8BAA8B,CAAA;AA0BrC,MAAM,CAAC,KAAK,UAAU,eAAe,CAGnC,EACA,OAAO,EACP,MAAM,EACN,OAAO,EACP,WAAW,EACX,SAAS,EACT,KAAK,GAIN;IACC,OAAO,cAAc,CACnB,UAAU,CAAC,OAAO,CAAC,EACnB,MAAM,uBAAuB,CAAC;QAC5B,MAAM;QACN,OAAO;QACP,WAAW;QACX,SAAS;QACT,KAAK;KAC+B,CAAC,CACxC,CAAA;AACH,CAAC"}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import type { Address } from 'abitype';
|
2
|
+
import type { Chain } from '../../chains.js';
|
3
|
+
import type { PublicClient } from '../../clients/createPublicClient.js';
|
4
|
+
import type { Transport } from '../../clients/transports/createTransport.js';
|
5
|
+
import type { ByteArray, Hex } from '../../types/misc.js';
|
6
|
+
import { type CallParameters } from './call.js';
|
7
|
+
export type VerifyHashParameters = Pick<CallParameters, 'blockNumber' | 'blockTag'> & {
|
8
|
+
/** The address that signed the original message. */
|
9
|
+
address: Address;
|
10
|
+
/** The hash to be verified. */
|
11
|
+
hash: Hex;
|
12
|
+
/** The signature that was generated by signing the message with the address's private key. */
|
13
|
+
signature: Hex | ByteArray;
|
14
|
+
};
|
15
|
+
export type VerifyHashReturnType = boolean;
|
16
|
+
/**
|
17
|
+
* Verifies a message hash on chain using ERC-6492.
|
18
|
+
*
|
19
|
+
* @param client - Client to use.
|
20
|
+
* @param parameters - {@link VerifyHashParameters}
|
21
|
+
* @returns Whether or not the signature is valid. {@link VerifyHashReturnType}
|
22
|
+
*/
|
23
|
+
export declare function verifyHash<TChain extends Chain | undefined>(client: PublicClient<Transport, TChain>, { address, hash, signature, ...callRequest }: VerifyHashParameters): Promise<VerifyHashReturnType>;
|
24
|
+
//# sourceMappingURL=verifyHash.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"verifyHash.d.ts","sourceRoot":"","sources":["../../../../src/actions/public/verifyHash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,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;AAI5E,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAGzD,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,WAAW,CAAA;AAErD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,cAAc,EACd,aAAa,GAAG,UAAU,CAC3B,GAAG;IACF,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAA;IAChB,+BAA+B;IAC/B,IAAI,EAAE,GAAG,CAAA;IACT,8FAA8F;IAC9F,SAAS,EAAE,GAAG,GAAG,SAAS,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAA;AAE1C;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EAC/D,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EACvC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,EAAE,oBAAoB,GACjE,OAAO,CAAC,oBAAoB,CAAC,CAwB/B"}
|
@@ -0,0 +1,28 @@
|
|
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 VerifyHashParameters } from './verifyHash.js';
|
6
|
+
import type { Address } from 'abitype';
|
7
|
+
export type VerifyMessageParameters = Omit<VerifyHashParameters, 'hash'> & {
|
8
|
+
/** The address that signed the original message. */
|
9
|
+
address: Address;
|
10
|
+
/** The message to be verified. */
|
11
|
+
message: string;
|
12
|
+
/** The signature that was generated by signing the message with the address's private key. */
|
13
|
+
signature: Hex | ByteArray;
|
14
|
+
};
|
15
|
+
export type VerifyMessageReturnType = boolean;
|
16
|
+
/**
|
17
|
+
* Verify that a message was signed by the provided address.
|
18
|
+
*
|
19
|
+
* Compatible with Smart Contract Accounts & Externally Owned Accounts via [ERC-6492](https://eips.ethereum.org/EIPS/eip-6492).
|
20
|
+
*
|
21
|
+
* - Docs {@link https://viem.sh/docs/actions/public/verifyMessage.html}
|
22
|
+
*
|
23
|
+
* @param client - Client to use.
|
24
|
+
* @param parameters - {@link VerifyMessageParameters}
|
25
|
+
* @returns Whether or not the signature is valid. {@link VerifyMessageReturnType}
|
26
|
+
*/
|
27
|
+
export declare function verifyMessage<TChain extends Chain | undefined>(client: PublicClient<Transport, TChain>, { address, message, signature, ...callRequest }: VerifyMessageParameters): Promise<VerifyMessageReturnType>;
|
28
|
+
//# sourceMappingURL=verifyMessage.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"verifyMessage.d.ts","sourceRoot":"","sources":["../../../../src/actions/public/verifyMessage.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;AAEzD,OAAO,EAAE,KAAK,oBAAoB,EAAc,MAAM,iBAAiB,CAAA;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,GAAG;IACzE,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;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EAClE,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EACvC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,EAAE,uBAAuB,GACvE,OAAO,CAAC,uBAAuB,CAAC,CAQlC"}
|
@@ -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"}
|
@@ -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":"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,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;;;;;;;;;;;;;;;;;;;;;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,
|
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"}
|
@@ -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
|
+
}
|
@@ -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'
|
@@ -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,
|