viem 2.11.1 → 2.12.1
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +30 -0
- package/README.md +3 -3
- package/_cjs/actions/public/verifyMessage.js.map +1 -1
- package/_cjs/actions/siwe/verifySiweMessage.js +32 -0
- package/_cjs/actions/siwe/verifySiweMessage.js.map +1 -0
- package/_cjs/chains/definitions/flowPreviewnet.js +6 -0
- package/_cjs/chains/definitions/flowPreviewnet.js.map +1 -1
- package/_cjs/chains/definitions/jbcTestnet.js +0 -4
- package/_cjs/chains/definitions/jbcTestnet.js.map +1 -1
- package/_cjs/chains/definitions/l3x.js +24 -0
- package/_cjs/chains/definitions/l3x.js.map +1 -0
- package/_cjs/chains/definitions/l3xTestnet.js +24 -0
- package/_cjs/chains/definitions/l3xTestnet.js.map +1 -0
- package/_cjs/chains/definitions/metis.js +5 -0
- package/_cjs/chains/definitions/metis.js.map +1 -1
- package/_cjs/chains/definitions/thaiChain.js +29 -0
- package/_cjs/chains/definitions/thaiChain.js.map +1 -0
- package/_cjs/chains/definitions/zkSync.js +4 -0
- package/_cjs/chains/definitions/zkSync.js.map +1 -1
- package/_cjs/chains/definitions/zkSyncSepoliaTestnet.js +5 -1
- package/_cjs/chains/definitions/zkSyncSepoliaTestnet.js.map +1 -1
- package/_cjs/chains/index.js +10 -4
- package/_cjs/chains/index.js.map +1 -1
- package/_cjs/clients/decorators/public.js +2 -0
- package/_cjs/clients/decorators/public.js.map +1 -1
- package/_cjs/errors/siwe.js +22 -0
- package/_cjs/errors/siwe.js.map +1 -0
- package/_cjs/errors/version.js +1 -1
- package/_cjs/siwe/index.js +16 -0
- package/_cjs/siwe/index.js.map +1 -0
- package/_cjs/utils/address/isAddress.js +4 -3
- package/_cjs/utils/address/isAddress.js.map +1 -1
- package/_cjs/utils/siwe/createSiweMessage.js +126 -0
- package/_cjs/utils/siwe/createSiweMessage.js.map +1 -0
- package/_cjs/utils/siwe/generateSiweNonce.js +9 -0
- package/_cjs/utils/siwe/generateSiweNonce.js.map +1 -0
- package/_cjs/utils/siwe/parseSiweMessage.js +25 -0
- package/_cjs/utils/siwe/parseSiweMessage.js.map +1 -0
- package/_cjs/utils/siwe/types.js +3 -0
- package/_cjs/utils/siwe/types.js.map +1 -0
- package/_cjs/utils/siwe/utils.js +44 -0
- package/_cjs/utils/siwe/utils.js.map +1 -0
- package/_cjs/utils/siwe/validateSiweMessage.js +29 -0
- package/_cjs/utils/siwe/validateSiweMessage.js.map +1 -0
- package/_esm/actions/public/verifyMessage.js.map +1 -1
- package/_esm/actions/siwe/verifySiweMessage.js +39 -0
- package/_esm/actions/siwe/verifySiweMessage.js.map +1 -0
- package/_esm/chains/definitions/flowPreviewnet.js +6 -0
- package/_esm/chains/definitions/flowPreviewnet.js.map +1 -1
- package/_esm/chains/definitions/jbcTestnet.js +0 -4
- package/_esm/chains/definitions/jbcTestnet.js.map +1 -1
- package/_esm/chains/definitions/l3x.js +21 -0
- package/_esm/chains/definitions/l3x.js.map +1 -0
- package/_esm/chains/definitions/l3xTestnet.js +21 -0
- package/_esm/chains/definitions/l3xTestnet.js.map +1 -0
- package/_esm/chains/definitions/metis.js +5 -0
- package/_esm/chains/definitions/metis.js.map +1 -1
- package/_esm/chains/definitions/thaiChain.js +26 -0
- package/_esm/chains/definitions/thaiChain.js.map +1 -0
- package/_esm/chains/definitions/zkSync.js +4 -0
- package/_esm/chains/definitions/zkSync.js.map +1 -1
- package/_esm/chains/definitions/zkSyncSepoliaTestnet.js +5 -1
- package/_esm/chains/definitions/zkSyncSepoliaTestnet.js.map +1 -1
- package/_esm/chains/index.js +3 -0
- package/_esm/chains/index.js.map +1 -1
- package/_esm/clients/decorators/public.js +2 -0
- package/_esm/clients/decorators/public.js.map +1 -1
- package/_esm/errors/siwe.js +18 -0
- package/_esm/errors/siwe.js.map +1 -0
- package/_esm/errors/version.js +1 -1
- package/_esm/node/trustedSetups.js +7 -1
- package/_esm/node/trustedSetups.js.map +1 -1
- package/_esm/node/trustedSetups_cjs.js +4 -0
- package/_esm/node/trustedSetups_cjs.js.map +1 -0
- package/_esm/siwe/index.js +7 -0
- package/_esm/siwe/index.js.map +1 -0
- package/_esm/utils/address/isAddress.js +4 -3
- package/_esm/utils/address/isAddress.js.map +1 -1
- package/_esm/utils/siwe/createSiweMessage.js +141 -0
- package/_esm/utils/siwe/createSiweMessage.js.map +1 -0
- package/_esm/utils/siwe/generateSiweNonce.js +15 -0
- package/_esm/utils/siwe/generateSiweNonce.js.map +1 -0
- package/_esm/utils/siwe/parseSiweMessage.js +30 -0
- package/_esm/utils/siwe/parseSiweMessage.js.map +1 -0
- package/_esm/utils/siwe/types.js +2 -0
- package/_esm/utils/siwe/types.js.map +1 -0
- package/_esm/utils/siwe/utils.js +49 -0
- package/_esm/utils/siwe/utils.js.map +1 -0
- package/_esm/utils/siwe/validateSiweMessage.js +30 -0
- package/_esm/utils/siwe/validateSiweMessage.js.map +1 -0
- package/_types/actions/public/verifyMessage.d.ts +3 -2
- package/_types/actions/public/verifyMessage.d.ts.map +1 -1
- package/_types/actions/siwe/verifySiweMessage.d.ts +34 -0
- package/_types/actions/siwe/verifySiweMessage.d.ts.map +1 -0
- package/_types/chains/definitions/flowPreviewnet.d.ts +6 -8
- package/_types/chains/definitions/flowPreviewnet.d.ts.map +1 -1
- package/_types/chains/definitions/jbcTestnet.d.ts +0 -4
- package/_types/chains/definitions/jbcTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/l3x.d.ts +37 -0
- package/_types/chains/definitions/l3x.d.ts.map +1 -0
- package/_types/chains/definitions/l3xTestnet.d.ts +37 -0
- package/_types/chains/definitions/l3xTestnet.d.ts.map +1 -0
- package/_types/chains/definitions/metis.d.ts +5 -0
- package/_types/chains/definitions/metis.d.ts.map +1 -1
- package/_types/chains/definitions/thaiChain.d.ts +34 -0
- package/_types/chains/definitions/thaiChain.d.ts.map +1 -0
- package/_types/chains/definitions/zkSync.d.ts +4 -0
- package/_types/chains/definitions/zkSync.d.ts.map +1 -1
- package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +5 -1
- package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts.map +1 -1
- package/_types/chains/index.d.ts +3 -0
- package/_types/chains/index.d.ts.map +1 -1
- package/_types/clients/decorators/public.d.ts +30 -0
- package/_types/clients/decorators/public.d.ts.map +1 -1
- package/_types/errors/siwe.d.ts +13 -0
- package/_types/errors/siwe.d.ts.map +1 -0
- package/_types/errors/version.d.ts +1 -1
- package/_types/node/trustedSetups.d.ts.map +1 -1
- package/_types/node/trustedSetups_cjs.d.ts +3 -0
- package/_types/node/trustedSetups_cjs.d.ts.map +1 -0
- package/_types/siwe/index.d.ts +8 -0
- package/_types/siwe/index.d.ts.map +1 -0
- package/_types/utils/address/isAddress.d.ts.map +1 -1
- package/_types/utils/siwe/createSiweMessage.d.ts +24 -0
- package/_types/utils/siwe/createSiweMessage.d.ts.map +1 -0
- package/_types/utils/siwe/generateSiweNonce.d.ts +12 -0
- package/_types/utils/siwe/generateSiweNonce.d.ts.map +1 -0
- package/_types/utils/siwe/parseSiweMessage.d.ts +11 -0
- package/_types/utils/siwe/parseSiweMessage.d.ts.map +1 -0
- package/_types/utils/siwe/types.d.ts +61 -0
- package/_types/utils/siwe/types.d.ts.map +1 -0
- package/_types/utils/siwe/utils.d.ts +2 -0
- package/_types/utils/siwe/utils.d.ts.map +1 -0
- package/_types/utils/siwe/validateSiweMessage.d.ts +39 -0
- package/_types/utils/siwe/validateSiweMessage.d.ts.map +1 -0
- package/actions/public/verifyMessage.ts +11 -8
- package/actions/siwe/verifySiweMessage.ts +90 -0
- package/chains/definitions/flowPreviewnet.ts +6 -0
- package/chains/definitions/jbcTestnet.ts +0 -4
- package/chains/definitions/l3x.ts +21 -0
- package/chains/definitions/l3xTestnet.ts +21 -0
- package/chains/definitions/metis.ts +6 -0
- package/chains/definitions/thaiChain.ts +26 -0
- package/chains/definitions/zkSync.ts +4 -0
- package/chains/definitions/zkSyncSepoliaTestnet.ts +5 -1
- package/chains/index.ts +3 -0
- package/clients/decorators/public.ts +37 -0
- package/errors/siwe.ts +20 -0
- package/errors/version.ts +1 -1
- package/node/trustedSetups.ts +9 -1
- package/node/trustedSetups_cjs.ts +11 -0
- package/package.json +9 -1
- package/siwe/index.ts +29 -0
- package/siwe/package.json +6 -0
- package/utils/address/isAddress.ts +3 -2
- package/utils/siwe/createSiweMessage.ts +178 -0
- package/utils/siwe/generateSiweNonce.ts +15 -0
- package/utils/siwe/parseSiweMessage.ts +55 -0
- package/utils/siwe/types.ts +61 -0
- package/utils/siwe/utils.ts +51 -0
- package/utils/siwe/validateSiweMessage.ts +70 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../../clients/decorators/public.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../../clients/decorators/public.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { BaseError } from './base.js';
|
2
|
+
export class SiweInvalidMessageFieldError extends BaseError {
|
3
|
+
constructor(parameters) {
|
4
|
+
const { docsPath, field, metaMessages } = parameters;
|
5
|
+
super(`Invalid Sign-In with Ethereum message field "${field}".`, {
|
6
|
+
docsPath,
|
7
|
+
docsSlug: 'TODO',
|
8
|
+
metaMessages,
|
9
|
+
});
|
10
|
+
Object.defineProperty(this, "name", {
|
11
|
+
enumerable: true,
|
12
|
+
configurable: true,
|
13
|
+
writable: true,
|
14
|
+
value: 'SiweInvalidMessageFieldError'
|
15
|
+
});
|
16
|
+
}
|
17
|
+
}
|
18
|
+
//# sourceMappingURL=siwe.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"siwe.js","sourceRoot":"","sources":["../../errors/siwe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAKrC,MAAM,OAAO,4BAA6B,SAAQ,SAAS;IAEzD,YAAY,UAIX;QACC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,UAAU,CAAA;QACpD,KAAK,CAAC,gDAAgD,KAAK,IAAI,EAAE;YAC/D,QAAQ;YACR,QAAQ,EAAE,MAAM;YAChB,YAAY;SACb,CAAC,CAAA;QAXK;;;;mBAAO,8BAA8B;WAAA;IAY9C,CAAC;CACF"}
|
package/_esm/errors/version.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export const version = '2.
|
1
|
+
export const version = '2.12.1';
|
2
2
|
//# sourceMappingURL=version.js.map
|
@@ -1,4 +1,10 @@
|
|
1
|
-
import { resolve } from 'node:path';
|
1
|
+
import { dirname, resolve } from 'node:path';
|
2
|
+
import { fileURLToPath } from 'node:url';
|
3
|
+
const __filename = fileURLToPath(
|
4
|
+
// import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', or 'nodenext'
|
5
|
+
// @ts-ignore
|
6
|
+
import.meta.url);
|
7
|
+
const __dirname = dirname(__filename);
|
2
8
|
export const mainnetTrustedSetupPath = resolve(__dirname, '../trusted-setups/mainnet.json');
|
3
9
|
export const minimalTrustedSetupPath = resolve(__dirname, '../trusted-setups/mainnet.json');
|
4
10
|
//# sourceMappingURL=trustedSetups.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"trustedSetups.js","sourceRoot":"","sources":["../../node/trustedSetups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
1
|
+
{"version":3,"file":"trustedSetups.js","sourceRoot":"","sources":["../../node/trustedSetups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,MAAM,UAAU,GAAG,aAAa;AAC9B,2IAA2I;AAC3I,aAAa;AACb,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAA;AACD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AAErC,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAC5C,SAAS,EACT,gCAAgC,CACjC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAC5C,SAAS,EACT,gCAAgC,CACjC,CAAA"}
|
@@ -0,0 +1,4 @@
|
|
1
|
+
import { resolve } from 'node:path';
|
2
|
+
export const mainnetTrustedSetupPath = resolve(__dirname, '../trusted-setups/mainnet.json');
|
3
|
+
export const minimalTrustedSetupPath = resolve(__dirname, '../trusted-setups/mainnet.json');
|
4
|
+
//# sourceMappingURL=trustedSetups_cjs.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"trustedSetups_cjs.js","sourceRoot":"","sources":["../../node/trustedSetups_cjs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAC5C,SAAS,EACT,gCAAgC,CACjC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAC5C,SAAS,EACT,gCAAgC,CACjC,CAAA"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
export { verifySiweMessage, } from '../actions/siwe/verifySiweMessage.js';
|
2
|
+
export { createSiweMessage, } from '../utils/siwe/createSiweMessage.js';
|
3
|
+
export { generateSiweNonce } from '../utils/siwe/generateSiweNonce.js';
|
4
|
+
export { parseSiweMessage } from '../utils/siwe/parseSiweMessage.js';
|
5
|
+
export { validateSiweMessage, } from '../utils/siwe/validateSiweMessage.js';
|
6
|
+
export { SiweInvalidMessageFieldError, } from '../errors/siwe.js';
|
7
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../siwe/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAIlB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EACL,iBAAiB,GAIlB,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAEpE,OAAO,EACL,mBAAmB,GAGpB,MAAM,sCAAsC,CAAA;AAI7C,OAAO,EAEL,4BAA4B,GAC7B,MAAM,mBAAmB,CAAA"}
|
@@ -4,8 +4,9 @@ const addressRegex = /^0x[a-fA-F0-9]{40}$/;
|
|
4
4
|
export const isAddressCache = /*#__PURE__*/ new LruMap(8192);
|
5
5
|
export function isAddress(address, options) {
|
6
6
|
const { strict = true } = options ?? {};
|
7
|
-
|
8
|
-
|
7
|
+
const cacheKey = `${address}.${strict}`;
|
8
|
+
if (isAddressCache.has(cacheKey))
|
9
|
+
return isAddressCache.get(cacheKey);
|
9
10
|
const result = (() => {
|
10
11
|
if (!addressRegex.test(address))
|
11
12
|
return false;
|
@@ -15,7 +16,7 @@ export function isAddress(address, options) {
|
|
15
16
|
return checksumAddress(address) === address;
|
16
17
|
return true;
|
17
18
|
})();
|
18
|
-
isAddressCache.set(
|
19
|
+
isAddressCache.set(cacheKey, result);
|
19
20
|
return result;
|
20
21
|
}
|
21
22
|
//# sourceMappingURL=isAddress.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"isAddress.js","sourceRoot":"","sources":["../../../utils/address/isAddress.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,MAAM,YAAY,GAAG,qBAAqB,CAAA;AAE1C,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,MAAM,CAAU,IAAI,CAAC,CAAA;AAarE,MAAM,UAAU,SAAS,CACvB,OAAe,EACf,OAAsC;IAEtC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;IAEvC,IAAI,cAAc,CAAC,GAAG,CAAC,
|
1
|
+
{"version":3,"file":"isAddress.js","sourceRoot":"","sources":["../../../utils/address/isAddress.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,MAAM,YAAY,GAAG,qBAAqB,CAAA;AAE1C,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,MAAM,CAAU,IAAI,CAAC,CAAA;AAarE,MAAM,UAAU,SAAS,CACvB,OAAe,EACf,OAAsC;IAEtC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;IACvC,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,MAAM,EAAE,CAAA;IAEvC,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAA;IAEtE,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAA;QAC7C,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO;YAAE,OAAO,IAAI,CAAA;QAClD,IAAI,MAAM;YAAE,OAAO,eAAe,CAAC,OAAkB,CAAC,KAAK,OAAO,CAAA;QAClE,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,EAAE,CAAA;IACJ,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACpC,OAAO,MAAM,CAAA;AACf,CAAC"}
|
@@ -0,0 +1,141 @@
|
|
1
|
+
import { SiweInvalidMessageFieldError, } from '../../errors/siwe.js';
|
2
|
+
import { getAddress } from '../address/getAddress.js';
|
3
|
+
import { isUri } from './utils.js';
|
4
|
+
/**
|
5
|
+
* @description Creates EIP-4361 formatted message.
|
6
|
+
*
|
7
|
+
* @example
|
8
|
+
* const message = createMessage({
|
9
|
+
* address: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
|
10
|
+
* chainId: 1,
|
11
|
+
* domain: 'example.com',
|
12
|
+
* nonce: 'foobarbaz',
|
13
|
+
* uri: 'https://example.com/path',
|
14
|
+
* version: '1',
|
15
|
+
* })
|
16
|
+
*
|
17
|
+
* @see https://eips.ethereum.org/EIPS/eip-4361
|
18
|
+
*/
|
19
|
+
export function createSiweMessage(parameters) {
|
20
|
+
const { chainId, domain, expirationTime, issuedAt = new Date(), nonce, notBefore, requestId, resources, scheme, uri, version, } = parameters;
|
21
|
+
// Validate fields
|
22
|
+
{
|
23
|
+
// Required fields
|
24
|
+
if (chainId !== Math.floor(chainId))
|
25
|
+
throw new SiweInvalidMessageFieldError({
|
26
|
+
field: 'chainId',
|
27
|
+
metaMessages: [
|
28
|
+
'- Chain ID must be a EIP-155 chain ID.',
|
29
|
+
'- See https://eips.ethereum.org/EIPS/eip-155',
|
30
|
+
'',
|
31
|
+
`Provided value: ${chainId}`,
|
32
|
+
],
|
33
|
+
});
|
34
|
+
if (!(domainRegex.test(domain) ||
|
35
|
+
ipRegex.test(domain) ||
|
36
|
+
localhostRegex.test(domain)))
|
37
|
+
throw new SiweInvalidMessageFieldError({
|
38
|
+
field: 'domain',
|
39
|
+
metaMessages: [
|
40
|
+
'- Domain must be an RFC 3986 authority.',
|
41
|
+
'- See https://www.rfc-editor.org/rfc/rfc3986',
|
42
|
+
'',
|
43
|
+
`Provided value: ${domain}`,
|
44
|
+
],
|
45
|
+
});
|
46
|
+
if (!nonceRegex.test(nonce))
|
47
|
+
throw new SiweInvalidMessageFieldError({
|
48
|
+
field: 'nonce',
|
49
|
+
metaMessages: [
|
50
|
+
'- Nonce must be at least 8 characters.',
|
51
|
+
'- Nonce must be alphanumeric.',
|
52
|
+
'',
|
53
|
+
`Provided value: ${nonce}`,
|
54
|
+
],
|
55
|
+
});
|
56
|
+
if (!isUri(uri))
|
57
|
+
throw new SiweInvalidMessageFieldError({
|
58
|
+
field: 'uri',
|
59
|
+
metaMessages: [
|
60
|
+
'- URI must be a RFC 3986 URI referring to the resource that is the subject of the signing.',
|
61
|
+
'- See https://www.rfc-editor.org/rfc/rfc3986',
|
62
|
+
'',
|
63
|
+
`Provided value: ${uri}`,
|
64
|
+
],
|
65
|
+
});
|
66
|
+
if (version !== '1')
|
67
|
+
throw new SiweInvalidMessageFieldError({
|
68
|
+
field: 'version',
|
69
|
+
metaMessages: [
|
70
|
+
"- Version must be '1'.",
|
71
|
+
'',
|
72
|
+
`Provided value: ${version}`,
|
73
|
+
],
|
74
|
+
});
|
75
|
+
// Optional fields
|
76
|
+
if (scheme && !schemeRegex.test(scheme))
|
77
|
+
throw new SiweInvalidMessageFieldError({
|
78
|
+
field: 'scheme',
|
79
|
+
metaMessages: [
|
80
|
+
'- Scheme must be an RFC 3986 URI scheme.',
|
81
|
+
'- See https://www.rfc-editor.org/rfc/rfc3986#section-3.1',
|
82
|
+
'',
|
83
|
+
`Provided value: ${scheme}`,
|
84
|
+
],
|
85
|
+
});
|
86
|
+
const statement = parameters.statement;
|
87
|
+
if (statement?.includes('\n'))
|
88
|
+
throw new SiweInvalidMessageFieldError({
|
89
|
+
field: 'statement',
|
90
|
+
metaMessages: [
|
91
|
+
"- Statement must not include '\\n'.",
|
92
|
+
'',
|
93
|
+
`Provided value: ${statement}`,
|
94
|
+
],
|
95
|
+
});
|
96
|
+
}
|
97
|
+
// Construct message
|
98
|
+
const address = getAddress(parameters.address);
|
99
|
+
const origin = (() => {
|
100
|
+
if (scheme)
|
101
|
+
return `${scheme}://${domain}`;
|
102
|
+
return domain;
|
103
|
+
})();
|
104
|
+
const statement = (() => {
|
105
|
+
if (!parameters.statement)
|
106
|
+
return '';
|
107
|
+
return `\n${parameters.statement}\n`;
|
108
|
+
})();
|
109
|
+
const prefix = `${origin} wants you to sign in with your Ethereum account:\n${address}\n${statement}`;
|
110
|
+
let suffix = `URI: ${uri}\nVersion: ${version}\nChain ID: ${chainId}\nNonce: ${nonce}\nIssued At: ${issuedAt.toISOString()}`;
|
111
|
+
if (expirationTime)
|
112
|
+
suffix += `\nExpiration Time: ${expirationTime.toISOString()}`;
|
113
|
+
if (notBefore)
|
114
|
+
suffix += `\nNot Before: ${notBefore.toISOString()}`;
|
115
|
+
if (requestId)
|
116
|
+
suffix += `\nRequest ID: ${requestId}`;
|
117
|
+
if (resources) {
|
118
|
+
let content = '\nResources:';
|
119
|
+
for (const resource of resources) {
|
120
|
+
if (!isUri(resource))
|
121
|
+
throw new SiweInvalidMessageFieldError({
|
122
|
+
field: 'resources',
|
123
|
+
metaMessages: [
|
124
|
+
'- Every resource must be a RFC 3986 URI.',
|
125
|
+
'- See https://www.rfc-editor.org/rfc/rfc3986',
|
126
|
+
'',
|
127
|
+
`Provided value: ${resource}`,
|
128
|
+
],
|
129
|
+
});
|
130
|
+
content += `\n- ${resource}`;
|
131
|
+
}
|
132
|
+
suffix += content;
|
133
|
+
}
|
134
|
+
return `${prefix}\n${suffix}`;
|
135
|
+
}
|
136
|
+
const domainRegex = /^([a-zA-Z0-9][-a-zA-Z0-9]{0,61}[a-zA-Z0-9])\.[a-zA-Z]{2,}(:[0-9]{1,5})?$/;
|
137
|
+
const ipRegex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(:[0-9]{1,5})?$/;
|
138
|
+
const localhostRegex = /^localhost(:[0-9]{1,5})?$/;
|
139
|
+
const nonceRegex = /^[a-zA-Z0-9]{8,}$/;
|
140
|
+
const schemeRegex = /^([a-zA-Z][a-zA-Z0-9+-.]*)$/;
|
141
|
+
//# sourceMappingURL=createSiweMessage.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"createSiweMessage.js","sourceRoot":"","sources":["../../../utils/siwe/createSiweMessage.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { uid } from '../../utils/uid.js';
|
2
|
+
/**
|
3
|
+
* @description Generates random EIP-4361 nonce.
|
4
|
+
*
|
5
|
+
* @example
|
6
|
+
* const nonce = generateNonce()
|
7
|
+
*
|
8
|
+
* @see https://eips.ethereum.org/EIPS/eip-4361
|
9
|
+
*
|
10
|
+
* @returns A randomly generated EIP-4361 nonce.
|
11
|
+
*/
|
12
|
+
export function generateSiweNonce() {
|
13
|
+
return uid(96);
|
14
|
+
}
|
15
|
+
//# sourceMappingURL=generateSiweNonce.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"generateSiweNonce.js","sourceRoot":"","sources":["../../../utils/siwe/generateSiweNonce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AAExC;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,GAAG,CAAC,EAAE,CAAC,CAAA;AAChB,CAAC"}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
/**
|
2
|
+
* @description Parses EIP-4361 formatted message into message fields object.
|
3
|
+
*
|
4
|
+
* @see https://eips.ethereum.org/EIPS/eip-4361
|
5
|
+
*
|
6
|
+
* @returns EIP-4361 fields object
|
7
|
+
*/
|
8
|
+
export function parseSiweMessage(message) {
|
9
|
+
const { scheme, statement, ...prefix } = (message.match(prefixRegex)
|
10
|
+
?.groups ?? {});
|
11
|
+
const { chainId, expirationTime, issuedAt, notBefore, requestId, ...suffix } = (message.match(suffixRegex)?.groups ?? {});
|
12
|
+
const resources = message.split('Resources:')[1]?.split('\n- ').slice(1);
|
13
|
+
return {
|
14
|
+
...prefix,
|
15
|
+
...suffix,
|
16
|
+
...(chainId ? { chainId: Number(chainId) } : {}),
|
17
|
+
...(expirationTime ? { expirationTime: new Date(expirationTime) } : {}),
|
18
|
+
...(issuedAt ? { issuedAt: new Date(issuedAt) } : {}),
|
19
|
+
...(notBefore ? { notBefore: new Date(notBefore) } : {}),
|
20
|
+
...(requestId ? { requestId } : {}),
|
21
|
+
...(resources ? { resources } : {}),
|
22
|
+
...(scheme ? { scheme } : {}),
|
23
|
+
...(statement ? { statement } : {}),
|
24
|
+
};
|
25
|
+
}
|
26
|
+
// https://regexr.com/80gdj
|
27
|
+
const prefixRegex = /^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/;
|
28
|
+
// https://regexr.com/80gf9
|
29
|
+
const suffixRegex = /(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;
|
30
|
+
//# sourceMappingURL=parseSiweMessage.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"parseSiweMessage.js","sourceRoot":"","sources":["../../../utils/siwe/parseSiweMessage.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAe;IAEf,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;QAClE,EAAE,MAAM,IAAI,EAAE,CAKf,CAAA;IACD,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,GAC1E,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,EAAE,CASxC,CAAA;IACH,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACxE,OAAO;QACL,GAAG,MAAM;QACT,GAAG,MAAM;QACT,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpC,CAAA;AACH,CAAC;AAED,2BAA2B;AAC3B,MAAM,WAAW,GACf,0LAA0L,CAAA;AAE5L,2BAA2B;AAC3B,MAAM,WAAW,GACf,uQAAuQ,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../utils/siwe/types.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
export function isUri(value) {
|
2
|
+
// based on https://github.com/ogt/valid-url
|
3
|
+
// check for illegal characters
|
4
|
+
if (/[^a-z0-9\:\/\?\#\[\]\@\!\$\&\'\(\)\*\+\,\;\=\.\-\_\~\%]/i.test(value))
|
5
|
+
return false;
|
6
|
+
// check for hex escapes that aren't complete
|
7
|
+
if (/%[^0-9a-f]/i.test(value))
|
8
|
+
return false;
|
9
|
+
if (/%[0-9a-f](:?[^0-9a-f]|$)/i.test(value))
|
10
|
+
return false;
|
11
|
+
// from RFC 3986
|
12
|
+
const splitted = splitUri(value);
|
13
|
+
const scheme = splitted[1];
|
14
|
+
const authority = splitted[2];
|
15
|
+
const path = splitted[3];
|
16
|
+
const query = splitted[4];
|
17
|
+
const fragment = splitted[5];
|
18
|
+
// scheme and path are required, though the path can be empty
|
19
|
+
if (!(scheme?.length && path.length >= 0))
|
20
|
+
return false;
|
21
|
+
// if authority is present, the path must be empty or begin with a /
|
22
|
+
if (authority?.length) {
|
23
|
+
if (!(path.length === 0 || /^\//.test(path)))
|
24
|
+
return false;
|
25
|
+
}
|
26
|
+
else {
|
27
|
+
// if authority is not present, the path must not start with //
|
28
|
+
if (/^\/\//.test(path))
|
29
|
+
return false;
|
30
|
+
}
|
31
|
+
// scheme must begin with a letter, then consist of letters, digits, +, ., or -
|
32
|
+
if (!/^[a-z][a-z0-9\+\-\.]*$/.test(scheme.toLowerCase()))
|
33
|
+
return false;
|
34
|
+
let out = '';
|
35
|
+
// re-assemble the URL per section 5.3 in RFC 3986
|
36
|
+
out += `${scheme}:`;
|
37
|
+
if (authority?.length)
|
38
|
+
out += `//${authority}`;
|
39
|
+
out += path;
|
40
|
+
if (query?.length)
|
41
|
+
out += `?${query}`;
|
42
|
+
if (fragment?.length)
|
43
|
+
out += `#${fragment}`;
|
44
|
+
return out;
|
45
|
+
}
|
46
|
+
function splitUri(value) {
|
47
|
+
return value.match(/(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/);
|
48
|
+
}
|
49
|
+
//# sourceMappingURL=utils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../utils/siwe/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,KAAK,CAAC,KAAa;IACjC,4CAA4C;IAE5C,+BAA+B;IAC/B,IAAI,0DAA0D,CAAC,IAAI,CAAC,KAAK,CAAC;QACxE,OAAO,KAAK,CAAA;IAEd,6CAA6C;IAC7C,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAEzD,gBAAgB;IAChB,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC1B,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAE5B,6DAA6D;IAC7D,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IAEvD,oEAAoE;IACpE,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;IAC5D,CAAC;SAAM,CAAC;QACN,+DAA+D;QAC/D,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAA;IACtC,CAAC;IAED,+EAA+E;IAC/E,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,KAAK,CAAA;IAEtE,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,kDAAkD;IAClD,GAAG,IAAI,GAAG,MAAM,GAAG,CAAA;IACnB,IAAI,SAAS,EAAE,MAAM;QAAE,GAAG,IAAI,KAAK,SAAS,EAAE,CAAA;IAE9C,GAAG,IAAI,IAAI,CAAA;IAEX,IAAI,KAAK,EAAE,MAAM;QAAE,GAAG,IAAI,IAAI,KAAK,EAAE,CAAA;IACrC,IAAI,QAAQ,EAAE,MAAM;QAAE,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAA;IAE3C,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,KAAK,CAAC,KAAK,CAChB,sEAAsE,CACtE,CAAA;AACJ,CAAC"}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { isAddressEqual } from '../address/isAddressEqual.js';
|
2
|
+
/**
|
3
|
+
* @description Validates EIP-4361 message.
|
4
|
+
*
|
5
|
+
* @see https://eips.ethereum.org/EIPS/eip-4361
|
6
|
+
*/
|
7
|
+
export function validateSiweMessage(parameters) {
|
8
|
+
const { address, domain, message, nonce, scheme, time = new Date(), } = parameters;
|
9
|
+
if (domain && message.domain !== domain)
|
10
|
+
return false;
|
11
|
+
if (nonce && message.nonce !== nonce)
|
12
|
+
return false;
|
13
|
+
if (scheme && message.scheme !== scheme)
|
14
|
+
return false;
|
15
|
+
if (message.expirationTime && time >= message.expirationTime)
|
16
|
+
return false;
|
17
|
+
if (message.notBefore && time < message.notBefore)
|
18
|
+
return false;
|
19
|
+
try {
|
20
|
+
if (!message.address)
|
21
|
+
return false;
|
22
|
+
if (address && !isAddressEqual(message.address, address))
|
23
|
+
return false;
|
24
|
+
}
|
25
|
+
catch {
|
26
|
+
return false;
|
27
|
+
}
|
28
|
+
return true;
|
29
|
+
}
|
30
|
+
//# sourceMappingURL=validateSiweMessage.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"validateSiweMessage.js","sourceRoot":"","sources":["../../../utils/siwe/validateSiweMessage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAkC7D;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAyC;IAEzC,MAAM,EACJ,OAAO,EACP,MAAM,EACN,OAAO,EACP,KAAK,EACL,MAAM,EACN,IAAI,GAAG,IAAI,IAAI,EAAE,GAClB,GAAG,UAAU,CAAA;IAEd,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,KAAK,CAAA;IACrD,IAAI,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;QAAE,OAAO,KAAK,CAAA;IAClD,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,KAAK,CAAA;IAErD,IAAI,OAAO,CAAC,cAAc,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc;QAAE,OAAO,KAAK,CAAA;IAC1E,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,GAAG,OAAO,CAAC,SAAS;QAAE,OAAO,KAAK,CAAA;IAE/D,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;QAClC,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;YAAE,OAAO,KAAK,CAAA;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
|
@@ -4,16 +4,17 @@ import type { Transport } from '../../clients/transports/createTransport.js';
|
|
4
4
|
import type { ErrorType } from '../../errors/utils.js';
|
5
5
|
import type { Chain } from '../../types/chain.js';
|
6
6
|
import type { ByteArray, Hex, SignableMessage, Signature } from '../../types/misc.js';
|
7
|
+
import type { Prettify } from '../../types/utils.js';
|
7
8
|
import type { HashMessageErrorType } from '../../utils/signature/hashMessage.js';
|
8
9
|
import { type VerifyHashErrorType, type VerifyHashParameters } from './verifyHash.js';
|
9
|
-
export type VerifyMessageParameters = Omit<VerifyHashParameters, 'hash'> & {
|
10
|
+
export type VerifyMessageParameters = Prettify<Omit<VerifyHashParameters, 'hash'> & {
|
10
11
|
/** The address that signed the original message. */
|
11
12
|
address: Address;
|
12
13
|
/** The message to be verified. */
|
13
14
|
message: SignableMessage;
|
14
15
|
/** The signature that was generated by signing the message with the address's private key. */
|
15
16
|
signature: Hex | ByteArray | Signature;
|
16
|
-
}
|
17
|
+
}>;
|
17
18
|
export type VerifyMessageReturnType = boolean;
|
18
19
|
export type VerifyMessageErrorType = HashMessageErrorType | VerifyHashErrorType | ErrorType;
|
19
20
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"verifyMessage.d.ts","sourceRoot":"","sources":["../../../actions/public/verifyMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EACV,SAAS,EACT,GAAG,EACH,eAAe,EACf,SAAS,EACV,MAAM,qBAAqB,CAAA;
|
1
|
+
{"version":3,"file":"verifyMessage.d.ts","sourceRoot":"","sources":["../../../actions/public/verifyMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EACV,SAAS,EACT,GAAG,EACH,eAAe,EACf,SAAS,EACV,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAChF,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAE1B,MAAM,iBAAiB,CAAA;AAExB,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAC5C,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,GAAG;IACnC,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAA;IAChB,kCAAkC;IAClC,OAAO,EAAE,eAAe,CAAA;IACxB,8FAA8F;IAC9F,SAAS,EAAE,GAAG,GAAG,SAAS,GAAG,SAAS,CAAA;CACvC,CACF,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAA;AAE7C,MAAM,MAAM,sBAAsB,GAC9B,oBAAoB,GACpB,mBAAmB,GACnB,SAAS,CAAA;AAEb;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EAClE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,EACjC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,EAAE,uBAAuB,GACvE,OAAO,CAAC,uBAAuB,CAAC,CAQlC"}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import type { Client } from '../../clients/createClient.js';
|
2
|
+
import type { Transport } from '../../clients/transports/createTransport.js';
|
3
|
+
import type { ErrorType } from '../../errors/utils.js';
|
4
|
+
import type { Chain } from '../../types/chain.js';
|
5
|
+
import type { Hex } from '../../types/misc.js';
|
6
|
+
import type { Prettify } from '../../types/utils.js';
|
7
|
+
import type { HashMessageErrorType } from '../../utils/signature/hashMessage.js';
|
8
|
+
import { type ValidateSiweMessageParameters } from '../../utils/siwe/validateSiweMessage.js';
|
9
|
+
import { type VerifyHashErrorType, type VerifyHashParameters } from '../public/verifyHash.js';
|
10
|
+
export type VerifySiweMessageParameters = Prettify<Pick<VerifyHashParameters, 'blockNumber' | 'blockTag'> & Pick<ValidateSiweMessageParameters, 'address' | 'domain' | 'nonce' | 'scheme' | 'time'> & {
|
11
|
+
/**
|
12
|
+
* EIP-4361 formatted message.
|
13
|
+
*/
|
14
|
+
message: string;
|
15
|
+
/**
|
16
|
+
* Signature to check against.
|
17
|
+
*/
|
18
|
+
signature: Hex;
|
19
|
+
}>;
|
20
|
+
export type VerifySiweMessageReturnType = boolean;
|
21
|
+
export type VerifySiweMessageErrorType = HashMessageErrorType | VerifyHashErrorType | ErrorType;
|
22
|
+
/**
|
23
|
+
* Verifies [EIP-4361](https://eips.ethereum.org/EIPS/eip-4361) formatted message was signed.
|
24
|
+
*
|
25
|
+
* Compatible with Smart Contract Accounts & Externally Owned Accounts via [ERC-6492](https://eips.ethereum.org/EIPS/eip-6492).
|
26
|
+
*
|
27
|
+
* - Docs {@link https://viem.sh/docs/siwe/actions/verifySiweMessage}
|
28
|
+
*
|
29
|
+
* @param client - Client to use.
|
30
|
+
* @param parameters - {@link VerifySiweMessageParameters}
|
31
|
+
* @returns Whether or not the signature is valid. {@link VerifySiweMessageReturnType}
|
32
|
+
*/
|
33
|
+
export declare function verifySiweMessage<chain extends Chain | undefined>(client: Client<Transport, chain>, parameters: VerifySiweMessageParameters): Promise<VerifySiweMessageReturnType>;
|
34
|
+
//# sourceMappingURL=verifySiweMessage.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"verifySiweMessage.d.ts","sourceRoot":"","sources":["../../../actions/siwe/verifySiweMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAEhF,OAAO,EACL,KAAK,6BAA6B,EAEnC,MAAM,yCAAyC,CAAA;AAChD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAE1B,MAAM,yBAAyB,CAAA;AAEhC,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAChD,IAAI,CAAC,oBAAoB,EAAE,aAAa,GAAG,UAAU,CAAC,GACpD,IAAI,CACF,6BAA6B,EAC7B,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CACnD,GAAG;IACF;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,SAAS,EAAE,GAAG,CAAA;CACf,CACJ,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAAA;AAEjD,MAAM,MAAM,0BAA0B,GAClC,oBAAoB,GACpB,mBAAmB,GACnB,SAAS,CAAA;AAEb;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,SAAS,KAAK,GAAG,SAAS,EACrE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,EAChC,UAAU,EAAE,2BAA2B,GACtC,OAAO,CAAC,2BAA2B,CAAC,CAgCtC"}
|
@@ -5,14 +5,12 @@ export declare const flowPreviewnet: {
|
|
5
5
|
readonly url: "https://previewnet.flowdiver.io";
|
6
6
|
};
|
7
7
|
};
|
8
|
-
contracts
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
multicall3?: import("../../index.js").ChainContract | undefined;
|
15
|
-
} | undefined;
|
8
|
+
contracts: {
|
9
|
+
readonly multicall3: {
|
10
|
+
readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
|
11
|
+
readonly blockCreated: 6205;
|
12
|
+
};
|
13
|
+
};
|
16
14
|
id: 646;
|
17
15
|
name: "FlowEVM Previewnet";
|
18
16
|
nativeCurrency: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"flowPreviewnet.d.ts","sourceRoot":"","sources":["../../../chains/definitions/flowPreviewnet.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc
|
1
|
+
{"version":3,"file":"flowPreviewnet.d.ts","sourceRoot":"","sources":["../../../chains/definitions/flowPreviewnet.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyBzB,CAAA"}
|
@@ -23,9 +23,6 @@ export declare const jbcTestnet: {
|
|
23
23
|
readonly default: {
|
24
24
|
readonly http: readonly ["https://rpc.testnet.jibchain.net"];
|
25
25
|
};
|
26
|
-
readonly public: {
|
27
|
-
readonly http: readonly ["https://rpc.testnet.jibchain.net"];
|
28
|
-
};
|
29
26
|
};
|
30
27
|
sourceId?: number | undefined;
|
31
28
|
testnet: true;
|
@@ -33,6 +30,5 @@ export declare const jbcTestnet: {
|
|
33
30
|
formatters?: undefined;
|
34
31
|
serializers?: import("../../index.js").ChainSerializers<undefined> | undefined;
|
35
32
|
fees?: import("../../index.js").ChainFees<undefined> | undefined;
|
36
|
-
readonly network: "jbcTestnet";
|
37
33
|
};
|
38
34
|
//# sourceMappingURL=jbcTestnet.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"jbcTestnet.d.ts","sourceRoot":"","sources":["../../../chains/definitions/jbcTestnet.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU
|
1
|
+
{"version":3,"file":"jbcTestnet.d.ts","sourceRoot":"","sources":["../../../chains/definitions/jbcTestnet.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBrB,CAAA"}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
export declare const l3x: {
|
2
|
+
blockExplorers: {
|
3
|
+
readonly default: {
|
4
|
+
readonly name: "L3X Mainnet Explorer";
|
5
|
+
readonly url: "https://explorer.l3x.com";
|
6
|
+
readonly apiUrl: "https://explorer.l3x.com/api/v2";
|
7
|
+
};
|
8
|
+
};
|
9
|
+
contracts?: {
|
10
|
+
[x: string]: import("../../index.js").ChainContract | {
|
11
|
+
[sourceId: number]: import("../../index.js").ChainContract | undefined;
|
12
|
+
} | undefined;
|
13
|
+
ensRegistry?: import("../../index.js").ChainContract | undefined;
|
14
|
+
ensUniversalResolver?: import("../../index.js").ChainContract | undefined;
|
15
|
+
multicall3?: import("../../index.js").ChainContract | undefined;
|
16
|
+
} | undefined;
|
17
|
+
id: 12324;
|
18
|
+
name: "L3X Protocol";
|
19
|
+
nativeCurrency: {
|
20
|
+
readonly name: "Ether";
|
21
|
+
readonly symbol: "ETH";
|
22
|
+
readonly decimals: 18;
|
23
|
+
};
|
24
|
+
rpcUrls: {
|
25
|
+
readonly default: {
|
26
|
+
readonly http: readonly ["https://rpc-mainnet.l3x.com"];
|
27
|
+
readonly webSocket: readonly ["wss://rpc-mainnet.l3x.com"];
|
28
|
+
};
|
29
|
+
};
|
30
|
+
sourceId?: number | undefined;
|
31
|
+
testnet: false;
|
32
|
+
custom?: Record<string, unknown> | undefined;
|
33
|
+
formatters?: undefined;
|
34
|
+
serializers?: import("../../index.js").ChainSerializers<undefined> | undefined;
|
35
|
+
fees?: import("../../index.js").ChainFees<undefined> | undefined;
|
36
|
+
};
|
37
|
+
//# sourceMappingURL=l3x.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"l3x.d.ts","sourceRoot":"","sources":["../../../chains/definitions/l3x.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBd,CAAA"}
|