@reown/appkit-siwx 1.8.15-ea982070c1d274f5971447c430b6d77717082e78.0 → 1.8.15-viem-upgrade.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/package.json +5 -5
  2. package/dist/esm/exports/index.js +0 -2
  3. package/dist/esm/exports/index.js.map +0 -1
  4. package/dist/esm/exports/react.js +0 -10
  5. package/dist/esm/exports/react.js.map +0 -1
  6. package/dist/esm/exports/vue.js +0 -16
  7. package/dist/esm/exports/vue.js.map +0 -1
  8. package/dist/esm/src/configs/DefaultSIWX.js +0 -37
  9. package/dist/esm/src/configs/DefaultSIWX.js.map +0 -1
  10. package/dist/esm/src/configs/ReownAuthenticationSIWX.js +0 -3
  11. package/dist/esm/src/configs/ReownAuthenticationSIWX.js.map +0 -1
  12. package/dist/esm/src/configs/index.js +0 -3
  13. package/dist/esm/src/configs/index.js.map +0 -1
  14. package/dist/esm/src/core/SIWXConfig.js +0 -107
  15. package/dist/esm/src/core/SIWXConfig.js.map +0 -1
  16. package/dist/esm/src/core/SIWXMessenger.js +0 -87
  17. package/dist/esm/src/core/SIWXMessenger.js.map +0 -1
  18. package/dist/esm/src/core/SIWXSigner.js +0 -3
  19. package/dist/esm/src/core/SIWXSigner.js.map +0 -1
  20. package/dist/esm/src/core/SIWXStorage.js +0 -2
  21. package/dist/esm/src/core/SIWXStorage.js.map +0 -1
  22. package/dist/esm/src/core/SIWXVerifier.js +0 -16
  23. package/dist/esm/src/core/SIWXVerifier.js.map +0 -1
  24. package/dist/esm/src/core/index.js +0 -5
  25. package/dist/esm/src/core/index.js.map +0 -1
  26. package/dist/esm/src/index.js +0 -6
  27. package/dist/esm/src/index.js.map +0 -1
  28. package/dist/esm/src/messengers/InformalMessenger.js +0 -68
  29. package/dist/esm/src/messengers/InformalMessenger.js.map +0 -1
  30. package/dist/esm/src/messengers/index.js +0 -2
  31. package/dist/esm/src/messengers/index.js.map +0 -1
  32. package/dist/esm/src/signers/DefaultSigner.js +0 -21
  33. package/dist/esm/src/signers/DefaultSigner.js.map +0 -1
  34. package/dist/esm/src/storages/LocalStorage.js +0 -51
  35. package/dist/esm/src/storages/LocalStorage.js.map +0 -1
  36. package/dist/esm/src/storages/index.js +0 -2
  37. package/dist/esm/src/storages/index.js.map +0 -1
  38. package/dist/esm/src/verifiers/BIP122Verifier.js +0 -21
  39. package/dist/esm/src/verifiers/BIP122Verifier.js.map +0 -1
  40. package/dist/esm/src/verifiers/EIP155Verifier.js +0 -36
  41. package/dist/esm/src/verifiers/EIP155Verifier.js.map +0 -1
  42. package/dist/esm/src/verifiers/SolanaVerifier.js +0 -26
  43. package/dist/esm/src/verifiers/SolanaVerifier.js.map +0 -1
  44. package/dist/esm/src/verifiers/index.js +0 -4
  45. package/dist/esm/src/verifiers/index.js.map +0 -1
  46. package/dist/esm/tests/configs/ReownAuthenticationSIWX.test.js +0 -7
  47. package/dist/esm/tests/configs/ReownAuthenticationSIWX.test.js.map +0 -1
  48. package/dist/esm/tests/messengers/InformalMessenger.test.js +0 -96
  49. package/dist/esm/tests/messengers/InformalMessenger.test.js.map +0 -1
  50. package/dist/esm/tests/storages/LocalStorage.test.js +0 -52
  51. package/dist/esm/tests/storages/LocalStorage.test.js.map +0 -1
  52. package/dist/esm/tests/verifiers/BIP122Verifier.test.js +0 -68
  53. package/dist/esm/tests/verifiers/BIP122Verifier.test.js.map +0 -1
  54. package/dist/esm/tests/verifiers/EIP155Verifier.test.js +0 -107
  55. package/dist/esm/tests/verifiers/EIP155Verifier.test.js.map +0 -1
  56. package/dist/esm/tests/verifiers/SolanaVerifier.test.js +0 -58
  57. package/dist/esm/tests/verifiers/SolanaVerifier.test.js.map +0 -1
  58. package/dist/esm/tsconfig.tsbuildinfo +0 -1
  59. package/dist/types/exports/index.d.ts +0 -1
  60. package/dist/types/exports/react.d.ts +0 -2
  61. package/dist/types/exports/vue.d.ts +0 -3
  62. package/dist/types/src/configs/DefaultSIWX.d.ts +0 -11
  63. package/dist/types/src/configs/ReownAuthenticationSIWX.d.ts +0 -2
  64. package/dist/types/src/configs/index.d.ts +0 -2
  65. package/dist/types/src/core/SIWXConfig.d.ts +0 -104
  66. package/dist/types/src/core/SIWXMessenger.d.ts +0 -93
  67. package/dist/types/src/core/SIWXSigner.d.ts +0 -3
  68. package/dist/types/src/core/SIWXStorage.d.ts +0 -40
  69. package/dist/types/src/core/SIWXVerifier.d.ts +0 -27
  70. package/dist/types/src/core/index.d.ts +0 -4
  71. package/dist/types/src/index.d.ts +0 -6
  72. package/dist/types/src/messengers/InformalMessenger.d.ts +0 -46
  73. package/dist/types/src/messengers/index.d.ts +0 -1
  74. package/dist/types/src/signers/DefaultSigner.d.ts +0 -4
  75. package/dist/types/src/storages/LocalStorage.d.ts +0 -25
  76. package/dist/types/src/storages/index.d.ts +0 -1
  77. package/dist/types/src/verifiers/BIP122Verifier.d.ts +0 -9
  78. package/dist/types/src/verifiers/EIP155Verifier.d.ts +0 -9
  79. package/dist/types/src/verifiers/SolanaVerifier.d.ts +0 -9
  80. package/dist/types/src/verifiers/index.d.ts +0 -3
  81. package/dist/types/tests/configs/ReownAuthenticationSIWX.test.d.ts +0 -1
  82. package/dist/types/tests/messengers/InformalMessenger.test.d.ts +0 -1
  83. package/dist/types/tests/storages/LocalStorage.test.d.ts +0 -1
  84. package/dist/types/tests/verifiers/BIP122Verifier.test.d.ts +0 -1
  85. package/dist/types/tests/verifiers/EIP155Verifier.test.d.ts +0 -1
  86. package/dist/types/tests/verifiers/SolanaVerifier.test.d.ts +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reown/appkit-siwx",
3
- "version": "1.8.15-ea982070c1d274f5971447c430b6d77717082e78.0",
3
+ "version": "1.8.15-viem-upgrade.0",
4
4
  "sideEffects": false,
5
5
  "type": "module",
6
6
  "main": "./dist/esm/src/index.js",
@@ -31,10 +31,10 @@
31
31
  "bip322-js": "2.0.0",
32
32
  "bs58": "6.0.0",
33
33
  "tweetnacl": "1.0.3",
34
- "viem": "2.37.9",
35
- "@reown/appkit-controllers": "1.8.15-ea982070c1d274f5971447c430b6d77717082e78.0",
36
- "@reown/appkit-common": "1.8.15-ea982070c1d274f5971447c430b6d77717082e78.0",
37
- "@reown/appkit-utils": "1.8.15-ea982070c1d274f5971447c430b6d77717082e78.0"
34
+ "viem": "2.43.2",
35
+ "@reown/appkit-common": "1.8.15-viem-upgrade.0",
36
+ "@reown/appkit-controllers": "1.8.15-viem-upgrade.0",
37
+ "@reown/appkit-utils": "1.8.15-viem-upgrade.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/react": "19.1.15",
@@ -1,2 +0,0 @@
1
- export * from '../src/index.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../exports/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
@@ -1,10 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
- import { OptionsController } from '@reown/appkit-controllers';
3
- export function useAppKitSIWX() {
4
- const [siwx, setSiwx] = useState(OptionsController.state.siwx);
5
- useEffect(() => OptionsController.subscribeKey('siwx', val => {
6
- setSiwx(val);
7
- }), []);
8
- return siwx;
9
- }
10
- //# sourceMappingURL=react.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../exports/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,iBAAiB,EAAmB,MAAM,2BAA2B,CAAA;AAE9E,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAA0B,CAAC,CAAA;IAEpF,SAAS,CACP,GAAG,EAAE,CACH,iBAAiB,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;QAC3C,OAAO,CAAC,GAAyB,CAAC,CAAA;IACpC,CAAC,CAAC,EACJ,EAAE,CACH,CAAA;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1,16 +0,0 @@
1
- import { onMounted, onUnmounted, ref } from 'vue';
2
- import { OptionsController } from '@reown/appkit-controllers';
3
- export function useAppKitSIWX() {
4
- const state = ref(OptionsController.state.siwx);
5
- const unsubscribe = OptionsController.subscribeKey('siwx', val => {
6
- state.value = val;
7
- });
8
- onMounted(() => {
9
- state.value = OptionsController.state.siwx;
10
- });
11
- onUnmounted(() => {
12
- unsubscribe();
13
- });
14
- return state;
15
- }
16
- //# sourceMappingURL=vue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vue.js","sourceRoot":"","sources":["../../../exports/vue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAE3D,OAAO,EAAE,iBAAiB,EAAmB,MAAM,2BAA2B,CAAA;AAE9E,MAAM,UAAU,aAAa;IAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAE/C,MAAM,WAAW,GAAG,iBAAiB,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;QAC/D,KAAK,CAAC,KAAK,GAAG,GAAG,CAAA;IACnB,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,WAAW,CAAC,GAAG,EAAE;QACf,WAAW,EAAE,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,OAAO,KAAgC,CAAA;AACzC,CAAC"}
@@ -1,37 +0,0 @@
1
- import { SIWXConfig } from '../core/SIWXConfig.js';
2
- import { InformalMessenger } from '../messengers/index.js';
3
- import DefaultSigner from '../signers/DefaultSigner.js';
4
- import { LocalStorage } from '../storages/index.js';
5
- import { BIP122Verifier } from '../verifiers/BIP122Verifier.js';
6
- import { EIP155Verifier, SolanaVerifier } from '../verifiers/index.js';
7
- const DEFAULTS = {
8
- getDefaultMessenger: () => new InformalMessenger({
9
- domain: typeof document === 'undefined' ? 'Unknown Domain' : document.location.host,
10
- uri: typeof document === 'undefined' ? 'Unknown URI' : document.location.href,
11
- getNonce: async () => Promise.resolve(Math.round(Math.random() * 100000000)
12
- .toString()
13
- .padStart(8, '0'))
14
- }),
15
- getDefaultVerifiers: () => [new EIP155Verifier(), new SolanaVerifier(), new BIP122Verifier()],
16
- getDefaultStorage: () => new LocalStorage({ key: '@appkit/siwx' }),
17
- getDefaultSigner: () => new DefaultSigner()
18
- };
19
- /**
20
- * This is the default configuration for SIWX.
21
- *
22
- * This configuration is split in three pieces `messenger`, `verifiers` and `storage`.
23
- * By default it uses InformalMessenger, EIP155Verifier, SolanaVerifier, BIP122Verifier, and LocalStorage.
24
- * You may override any of these defaults by passing your own configuration for the constructor.
25
- */
26
- export class DefaultSIWX extends SIWXConfig {
27
- constructor(params = {}) {
28
- super({
29
- messenger: params.messenger || DEFAULTS.getDefaultMessenger(),
30
- verifiers: params.verifiers || DEFAULTS.getDefaultVerifiers(),
31
- storage: params.storage || DEFAULTS.getDefaultStorage(),
32
- required: params.required,
33
- signer: params.signer || DEFAULTS.getDefaultSigner()
34
- });
35
- }
36
- }
37
- //# sourceMappingURL=DefaultSIWX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultSIWX.js","sourceRoot":"","sources":["../../../../src/configs/DefaultSIWX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,aAAa,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtE,MAAM,QAAQ,GAAG;IACf,mBAAmB,EAAE,GAAG,EAAE,CACxB,IAAI,iBAAiB,CAAC;QACpB,MAAM,EAAE,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI;QACnF,GAAG,EAAE,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI;QAC7E,QAAQ,EAAE,KAAK,IAAI,EAAE,CACnB,OAAO,CAAC,OAAO,CACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;aAClC,QAAQ,EAAE;aACV,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CACpB;KACJ,CAAC;IAEJ,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,cAAc,EAAE,EAAE,IAAI,cAAc,EAAE,EAAE,IAAI,cAAc,EAAE,CAAC;IAE7F,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC;IAElE,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,EAAE;CAC5C,CAAA;AAED;;;;;;GAMG;AACH,MAAM,OAAO,WAAY,SAAQ,UAAU;IACzC,YAAY,SAAgD,EAAE;QAC5D,KAAK,CAAC;YACJ,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC,mBAAmB,EAAE;YAC7D,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC,mBAAmB,EAAE;YAC7D,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,iBAAiB,EAAE;YACvD,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,gBAAgB,EAAE;SACrD,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,3 +0,0 @@
1
- import { ReownAuthentication } from '@reown/appkit-controllers/features';
2
- export { ReownAuthentication as CloudAuthSIWX, ReownAuthentication };
3
- //# sourceMappingURL=ReownAuthenticationSIWX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReownAuthenticationSIWX.js","sourceRoot":"","sources":["../../../../src/configs/ReownAuthenticationSIWX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAExE,OAAO,EAAE,mBAAmB,IAAI,aAAa,EAAE,mBAAmB,EAAE,CAAA"}
@@ -1,3 +0,0 @@
1
- export * from './DefaultSIWX.js';
2
- export * from './ReownAuthenticationSIWX.js';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/configs/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,8BAA8B,CAAA"}
@@ -1,107 +0,0 @@
1
- import DefaultSigner from '../signers/DefaultSigner.js';
2
- /**
3
- * This is the base class for a SIWX config.
4
- * You may extend this class to create your own configuration replacing the default logic.
5
- */
6
- export class SIWXConfig {
7
- constructor(params) {
8
- this.messenger = params.messenger;
9
- this.verifiers = params.verifiers;
10
- this.storage = params.storage;
11
- this.required = params.required ?? true;
12
- this.signer = params.signer || new DefaultSigner();
13
- }
14
- /**
15
- * Uses the messenger to create a message.
16
- *
17
- * @param input SIWXMessage.Input
18
- * @returns Promise<SIWXMessage>
19
- */
20
- createMessage(input) {
21
- return this.messenger.createMessage(input);
22
- }
23
- /**
24
- * Combine the verifiers to verify the session and storage to store it.
25
- * It will throw an error if the session is not valid.
26
- *
27
- * @param session SIWXSession
28
- * @returns Promise<void>
29
- */
30
- async addSession(session) {
31
- const isValid = await this.verifySession(session);
32
- if (!isValid) {
33
- throw new Error('The signature is not valid');
34
- }
35
- return this.storage.add(session);
36
- }
37
- /**
38
- * Combine the verifiers to verify the sessions and storage to store all of them.
39
- * It will throw an error if any of the sessions is not valid.
40
- *
41
- * @param chainId CaipNetworkId
42
- * @param address string
43
- * @returns Promise<SIWXSession[]>
44
- */
45
- async setSessions(sessions) {
46
- const verifications = await Promise.all(sessions.map(session => this.verifySession(session)));
47
- const invalidSession = sessions.find((_, index) => !verifications[index]);
48
- if (invalidSession) {
49
- throw new Error('The signature is not valid', { cause: invalidSession });
50
- }
51
- return this.storage.set(sessions);
52
- }
53
- /**
54
- * Get the sessions from the storage and verify them.
55
- * If the session is not valid, it will be removed from the storage.
56
- *
57
- * @param chainId CaipNetworkId
58
- * @param address string
59
- * @returns Promise<SIWXSession[]>
60
- */
61
- async getSessions(chainId, address) {
62
- const sessions = await this.storage.get(chainId, address);
63
- const verifications = await Promise.all(sessions.map(async (session) => {
64
- if (await this.verifySession(session)) {
65
- return true;
66
- }
67
- await this.storage.delete(session.data.chainId, session.data.accountAddress);
68
- return false;
69
- }));
70
- return sessions.filter((_, index) => verifications[index]);
71
- }
72
- /**
73
- * Remove the session from the storage.
74
- *
75
- * @param chainId CaipNetworkId
76
- * @param address string
77
- * @returns Promise<void>
78
- */
79
- async revokeSession(chainId, address) {
80
- return this.storage.delete(chainId, address);
81
- }
82
- /**
83
- * This method should verify the session.
84
- * It will first check if the verifier should verify the session and then call the verify method.
85
- * It will return `true` if the session is valid for all verifications and there is at least one verification.
86
- *
87
- * @param session SIWXSession
88
- * @returns Promise<boolean> - If `true` means the session is valid.
89
- */
90
- async verifySession(session) {
91
- const chainVerifiers = this.verifiers.filter(verifier => verifier.shouldVerify(session));
92
- const verifications = await Promise.all(chainVerifiers.map(verifier => verifier.verify(session)));
93
- return verifications.length > 0 && verifications.every(result => result);
94
- }
95
- /**
96
- * This method determines whether the wallet stays connected when the user denies the signature request.
97
- *
98
- * @returns {boolean}
99
- */
100
- getRequired() {
101
- return this.required;
102
- }
103
- signMessage({ message }) {
104
- return this.signer.signMessage(message);
105
- }
106
- }
107
- //# sourceMappingURL=SIWXConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SIWXConfig.js","sourceRoot":"","sources":["../../../../src/core/SIWXConfig.ts"],"names":[],"mappings":"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"}
@@ -1,87 +0,0 @@
1
- /**
2
- * This is the base class for a SIWX messenger.
3
- * It provides the basic structure for creating a SIWX message and util functions.
4
- */
5
- export class SIWXMessenger {
6
- constructor(params) {
7
- this.expiration = params.expiration;
8
- this.getNonce = params.getNonce;
9
- this.getRequestId = params.getRequestId;
10
- this.domain = params.domain;
11
- this.uri = params.uri;
12
- this.statement = params.statement;
13
- this.resources = params.resources;
14
- }
15
- /**
16
- * This is the default method to create a SIWXMessage object.
17
- * It will call the `getNonce`, `getRequestId`, `getExpirationTime`, `getIssuedAt`, and `getNotBefore` methods.
18
- * It appends the `stringify` method to the object as `toString`.
19
- *
20
- * @param input SIWXMessage.Input
21
- * @returns
22
- */
23
- async createMessage(input) {
24
- const params = {
25
- accountAddress: input.accountAddress,
26
- chainId: input.chainId,
27
- version: this.version,
28
- domain: this.domain,
29
- uri: this.uri,
30
- statement: this.statement,
31
- resources: this.resources,
32
- nonce: await this.getNonce(input),
33
- requestId: await this.getRequestId?.(),
34
- expirationTime: this.getExpirationTime(input),
35
- issuedAt: this.getIssuedAt(),
36
- notBefore: this.getNotBefore(input)
37
- };
38
- const methods = {
39
- toString: () => this.stringify(params)
40
- };
41
- return Object.assign(params, methods);
42
- }
43
- /**
44
- * This method generates the expiration time based on the `notBefore` value and the `expiration` value.
45
- * You may override this method to provide a custom expiration time.
46
- *
47
- * @param Pick<SIWXMessage.Input, 'notBefore'>
48
- * @returns string | undefined - The expiration time in `stringifyDate` format or undefined if not available
49
- */
50
- getExpirationTime({ notBefore }) {
51
- if (typeof this.expiration === 'undefined') {
52
- return undefined;
53
- }
54
- const startingAt = notBefore ? new Date(notBefore).getTime() : Date.now();
55
- return this.stringifyDate(new Date(startingAt + this.expiration));
56
- }
57
- /**
58
- * This method generates the `notBefore` formatted value based on the `notBefore` input.
59
- * You may override this method to provide a custom `notBefore` value.
60
- *
61
- * @param Pick<SIWXMessage.Input, 'notBefore'>
62
- * @returns string | undefined - The `notBefore` value in `stringifyDate` format or undefined if not available
63
- */
64
- getNotBefore({ notBefore }) {
65
- return notBefore ? this.stringifyDate(new Date(notBefore)) : undefined;
66
- }
67
- /**
68
- * This method generates the `issuedAt` formatted value based on the current date.
69
- * You may override this method to provide a custom `issuedAt` value.
70
- *
71
- * @returns string - The `issuedAt` value in `stringifyDate` format
72
- */
73
- getIssuedAt() {
74
- return this.stringifyDate(new Date());
75
- }
76
- /**
77
- * This method converts a date object to a formatted string.
78
- * You may override this method to provide a custom date format.
79
- *
80
- * @param date Date
81
- * @returns string - The date in ISO format
82
- */
83
- stringifyDate(date) {
84
- return date.toISOString();
85
- }
86
- }
87
- //# sourceMappingURL=SIWXMessenger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SIWXMessenger.js","sourceRoot":"","sources":["../../../../src/core/SIWXMessenger.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAgB,aAAa;IAmCjC,YAAY,MAAuC;QACjD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;QACnC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;QACrB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;QACjC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IACnC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CAAC,KAAwB;QAC1C,MAAM,MAAM,GAAG;YACb,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACjC,SAAS,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,EAAE;YACtC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAC7C,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;SACpC,CAAA;QAED,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;SACT,CAAA;QAE/B,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC;IAED;;;;;;OAMG;IACO,iBAAiB,CAAC,EAC1B,SAAS,EAC4B;QACrC,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;YAC3C,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QAEzE,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;IACnE,CAAC;IAED;;;;;;OAMG;IACO,YAAY,CAAC,EAAE,SAAS,EAAwC;QACxE,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACxE,CAAC;IAED;;;;;OAKG;IACO,WAAW;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IACvC,CAAC;IAED;;;;;;OAMG;IACO,aAAa,CAAC,IAAU;QAChC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;IAC3B,CAAC;CACF"}
@@ -1,3 +0,0 @@
1
- export class SIWXSigner {
2
- }
3
- //# sourceMappingURL=SIWXSigner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SIWXSigner.js","sourceRoot":"","sources":["../../../../src/core/SIWXSigner.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,UAAU;CAE/B"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=SIWXStorage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SIWXStorage.js","sourceRoot":"","sources":["../../../../src/core/SIWXStorage.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- /**
2
- * This is the base class for a SIWX verifier.
3
- */
4
- export class SIWXVerifier {
5
- /**
6
- * This method should return true if the verifier should verify the session.
7
- * By default it will check by the chain namespace, but you may override it for a specific requirement.
8
- *
9
- * @param session SIWXSession
10
- * @returns boolean
11
- */
12
- shouldVerify(session) {
13
- return session.data.chainId.startsWith(this.chainNamespace);
14
- }
15
- }
16
- //# sourceMappingURL=SIWXVerifier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SIWXVerifier.js","sourceRoot":"","sources":["../../../../src/core/SIWXVerifier.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,OAAgB,YAAY;IAMhC;;;;;;OAMG;IACI,YAAY,CAAC,OAAoB;QACtC,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC7D,CAAC;CAUF"}
@@ -1,5 +0,0 @@
1
- export * from './SIWXConfig.js';
2
- export * from './SIWXMessenger.js';
3
- export * from './SIWXStorage.js';
4
- export * from './SIWXVerifier.js';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA"}
@@ -1,6 +0,0 @@
1
- export * from './messengers/index.js';
2
- export * from './verifiers/index.js';
3
- export * from './storages/index.js';
4
- export * from './configs/index.js';
5
- export * from './core/index.js';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA"}
@@ -1,68 +0,0 @@
1
- import { NetworkUtil } from '@reown/appkit-common';
2
- import { ChainController } from '@reown/appkit-controllers';
3
- import { SIWXMessenger } from '../core/SIWXMessenger.js';
4
- /**
5
- * Follow Informal Message template from EIP-4361
6
- * @see https://eips.ethereum.org/EIPS/eip-4361#informal-message-template
7
- *
8
- * @example
9
- * ```
10
- * ${scheme}:// ${domain} wants you to sign in with your Ethereum account:
11
- * ${address}
12
- *
13
- * ${statement}
14
- *
15
- * URI: ${uri}
16
- * Version: ${version}
17
- * Chain ID: ${chain-id}
18
- * Nonce: ${nonce}
19
- * Issued At: ${issued-at}
20
- * Expiration Time: ${expiration-time}
21
- * Not Before: ${not-before}
22
- * Request ID: ${request-id}
23
- * Resources:
24
- * - ${resources[0]}
25
- * - ${resources[1]}
26
- * ...
27
- * - ${resources[n]}
28
- * ```
29
- */
30
- export class InformalMessenger extends SIWXMessenger {
31
- constructor({ clearChainIdNamespace, ...params }) {
32
- super(params);
33
- this.version = '1';
34
- this.clearChainIdNamespace = clearChainIdNamespace || false;
35
- }
36
- /**
37
- * Get the blockchain name for a given chain ID
38
- * @param chainId The chain ID to get the blockchain name for
39
- * @returns The blockchain name
40
- */
41
- getNetworkName(chainId) {
42
- const requestedNetworks = ChainController.getAllRequestedCaipNetworks();
43
- return NetworkUtil.getNetworkNameByCaipNetworkId(requestedNetworks, chainId);
44
- }
45
- stringify(params) {
46
- const chainId = this.clearChainIdNamespace ? params.chainId.split(':')[1] : params.chainId;
47
- const networkName = this.getNetworkName(params.chainId);
48
- return [
49
- `${params.domain} wants you to sign in with your ${networkName} account:`,
50
- params.accountAddress,
51
- params.statement ? `\n${params.statement}\n` : '',
52
- `URI: ${params.uri}`,
53
- `Version: ${params.version}`,
54
- `Chain ID: ${chainId}`,
55
- `Nonce: ${params.nonce}`,
56
- params.issuedAt && `Issued At: ${params.issuedAt}`,
57
- params.expirationTime && `Expiration Time: ${params.expirationTime}`,
58
- params.notBefore && `Not Before: ${params.notBefore}`,
59
- params.requestId && `Request ID: ${params.requestId}`,
60
- params.resources?.length &&
61
- params.resources.reduce((acc, resource) => `${acc}\n- ${resource}`, 'Resources:')
62
- ]
63
- .filter(line => typeof line === 'string')
64
- .join('\n')
65
- .trim();
66
- }
67
- }
68
- //# sourceMappingURL=InformalMessenger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InformalMessenger.js","sourceRoot":"","sources":["../../../../src/messengers/InformalMessenger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,EAAE,eAAe,EAAoB,MAAM,2BAA2B,CAAA;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAKlD,YAAY,EAAE,qBAAqB,EAAE,GAAG,MAAM,EAAuC;QACnF,KAAK,CAAC,MAAM,CAAC,CAAA;QALI,YAAO,GAAG,GAAG,CAAA;QAM9B,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,IAAI,KAAK,CAAA;IAC7D,CAAC;IAED;;;;OAIG;IACO,cAAc,CAAC,OAAsB;QAC7C,MAAM,iBAAiB,GAAG,eAAe,CAAC,2BAA2B,EAAE,CAAA;QAEvE,OAAO,WAAW,CAAC,6BAA6B,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;IAC9E,CAAC;IAEkB,SAAS,CAAC,MAAwB;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;QAC1F,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAEvD,OAAO;YACL,GAAG,MAAM,CAAC,MAAM,mCAAmC,WAAW,WAAW;YACzE,MAAM,CAAC,cAAc;YACrB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE;YACjD,QAAQ,MAAM,CAAC,GAAG,EAAE;YACpB,YAAY,MAAM,CAAC,OAAO,EAAE;YAC5B,aAAa,OAAO,EAAE;YACtB,UAAU,MAAM,CAAC,KAAK,EAAE;YACxB,MAAM,CAAC,QAAQ,IAAI,cAAc,MAAM,CAAC,QAAQ,EAAE;YAClD,MAAM,CAAC,cAAc,IAAI,oBAAoB,MAAM,CAAC,cAAc,EAAE;YACpE,MAAM,CAAC,SAAS,IAAI,eAAe,MAAM,CAAC,SAAS,EAAE;YACrD,MAAM,CAAC,SAAS,IAAI,eAAe,MAAM,CAAC,SAAS,EAAE;YACrD,MAAM,CAAC,SAAS,EAAE,MAAM;gBACtB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,QAAQ,EAAE,EAAE,YAAY,CAAC;SACpF;aACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;aACxC,IAAI,CAAC,IAAI,CAAC;aACV,IAAI,EAAE,CAAA;IACX,CAAC;CACF"}
@@ -1,2 +0,0 @@
1
- export * from './InformalMessenger.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/messengers/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA"}
@@ -1,21 +0,0 @@
1
- import { ConstantsUtil } from '@reown/appkit-common';
2
- import { ChainController, ConnectionController, ConnectorController, RouterController } from '@reown/appkit-controllers';
3
- export default class DefaultSigner {
4
- async signMessage(message) {
5
- const client = ConnectionController._getClient();
6
- if (!client) {
7
- throw new Error('No ConnectionController client found');
8
- }
9
- const network = ChainController.getActiveCaipNetwork();
10
- if (!network) {
11
- throw new Error('No ActiveCaipNetwork or client found');
12
- }
13
- const connectorId = ConnectorController.getConnectorId(network.chainNamespace);
14
- if (connectorId === ConstantsUtil.CONNECTOR_ID.AUTH) {
15
- RouterController.pushTransactionStack({});
16
- }
17
- const signature = await client.signMessage(message);
18
- return signature;
19
- }
20
- }
21
- //# sourceMappingURL=DefaultSigner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultSigner.js","sourceRoot":"","sources":["../../../../src/signers/DefaultSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,2BAA2B,CAAA;AAIlC,MAAM,CAAC,OAAO,OAAO,aAAa;IACzB,KAAK,CAAC,WAAW,CAAC,OAAe;QACtC,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,EAAE,CAAA;QAEhD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;QAED,MAAM,OAAO,GAAG,eAAe,CAAC,oBAAoB,EAAE,CAAA;QAEtD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;QAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAE9E,IAAI,WAAW,KAAK,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACpD,gBAAgB,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAA;QAC3C,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAEnD,OAAO,SAAS,CAAA;IAClB,CAAC;CACF"}
@@ -1,51 +0,0 @@
1
- /**
2
- * This storage saves the sessions in the localStorage.
3
- */
4
- export class LocalStorage {
5
- constructor(params) {
6
- this.key = params.key;
7
- }
8
- add(session) {
9
- const sessions = this.getSessions();
10
- sessions.push(session);
11
- this.setSessions(sessions);
12
- return Promise.resolve();
13
- }
14
- set(sessions) {
15
- this.setSessions(sessions);
16
- return Promise.resolve();
17
- }
18
- get(chainId, address) {
19
- const allSessions = this.getSessions();
20
- const validSessions = allSessions.filter(session => {
21
- const isSameChain = session.data.chainId === chainId;
22
- const isSameAddress = session.data.accountAddress === address;
23
- const startsAt = session.data.notBefore || session.data.issuedAt;
24
- if (startsAt && Date.parse(startsAt) > Date.now()) {
25
- return false;
26
- }
27
- const endsAt = session.data.expirationTime;
28
- if (endsAt && Date.now() > Date.parse(endsAt)) {
29
- return false;
30
- }
31
- return isSameChain && isSameAddress;
32
- });
33
- return Promise.resolve(validSessions);
34
- }
35
- delete(chainId, address) {
36
- const sessions = this.getSessions().filter(session => session.data.chainId !== chainId && session.data.accountAddress !== address);
37
- this.setSessions(sessions);
38
- return Promise.resolve();
39
- }
40
- getSessions() {
41
- if (typeof localStorage === 'undefined') {
42
- throw new Error('localStorage not available');
43
- }
44
- const stringItem = localStorage.getItem(this.key);
45
- return stringItem ? JSON.parse(stringItem) : [];
46
- }
47
- setSessions(sessions) {
48
- localStorage.setItem(this.key, JSON.stringify(sessions));
49
- }
50
- }
51
- //# sourceMappingURL=LocalStorage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LocalStorage.js","sourceRoot":"","sources":["../../../../src/storages/LocalStorage.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,OAAO,YAAY;IAGvB,YAAY,MAAsC;QAChD,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;IACvB,CAAC;IAED,GAAG,CAAC,OAAoB;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QACnC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAE1B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAED,GAAG,CAAC,QAAuB;QACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAE1B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAED,GAAG,CAAC,OAAsB,EAAE,OAAe;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAEtC,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACjD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAA;YACpD,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,KAAK,OAAO,CAAA;YAE7D,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAA;YAChE,IAAI,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAClD,OAAO,KAAK,CAAA;YACd,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAA;YAC1C,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9C,OAAO,KAAK,CAAA;YACd,CAAC;YAED,OAAO,WAAW,IAAI,aAAa,CAAA;QACrC,CAAC,CAAC,CAAA;QAEF,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IACvC,CAAC;IAED,MAAM,CAAC,OAAe,EAAE,OAAe;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CACxC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,cAAc,KAAK,OAAO,CACvF,CAAA;QACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAE1B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAEO,WAAW;QACjB,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC/C,CAAC;QAED,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEjD,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACjD,CAAC;IAEO,WAAW,CAAC,QAA+B;QACjD,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1D,CAAC;CACF"}
@@ -1,2 +0,0 @@
1
- export * from './LocalStorage.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/storages/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA"}
@@ -1,21 +0,0 @@
1
- import { Verifier } from 'bip322-js';
2
- import { ConstantsUtil } from '@reown/appkit-common';
3
- import { SIWXVerifier } from '../core/SIWXVerifier.js';
4
- /**
5
- * Default verifier for BIP122 sessions.
6
- */
7
- export class BIP122Verifier extends SIWXVerifier {
8
- constructor() {
9
- super(...arguments);
10
- this.chainNamespace = ConstantsUtil.CHAIN.BITCOIN;
11
- }
12
- async verify(session) {
13
- try {
14
- return Promise.resolve(Verifier.verifySignature(session.data.accountAddress, session.message, session.signature));
15
- }
16
- catch (error) {
17
- return false;
18
- }
19
- }
20
- }
21
- //# sourceMappingURL=BIP122Verifier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BIP122Verifier.js","sourceRoot":"","sources":["../../../../src/verifiers/BIP122Verifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,YAAY;IAAhD;;QACkB,mBAAc,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAA;IAW9D,CAAC;IATQ,KAAK,CAAC,MAAM,CAAC,OAAoB;QACtC,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CACpB,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAC1F,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;CACF"}
@@ -1,36 +0,0 @@
1
- import { createPublicClient, http } from 'viem';
2
- import { ConstantsUtil } from '@reown/appkit-common';
3
- import { ChainController } from '@reown/appkit-controllers';
4
- import { SIWXVerifier } from '../core/SIWXVerifier.js';
5
- /**
6
- * Default verifier for EIP155 sessions.
7
- */
8
- export class EIP155Verifier extends SIWXVerifier {
9
- constructor() {
10
- super(...arguments);
11
- this.chainNamespace = ConstantsUtil.CHAIN.EVM;
12
- }
13
- async verify(session) {
14
- const caipNetwork = ChainController.state.chains
15
- .get('eip155')
16
- ?.caipNetworks?.find(cn => cn.caipNetworkId === session.data.chainId);
17
- if (!caipNetwork) {
18
- throw new Error('EIP155.verify: CaipNetwork not found');
19
- }
20
- try {
21
- const client = createPublicClient({
22
- chain: caipNetwork,
23
- transport: http(caipNetwork?.['rpcUrls'].default.http[0])
24
- });
25
- return await client.verifyMessage({
26
- message: session.message.toString(),
27
- signature: session.signature,
28
- address: session.data.accountAddress
29
- });
30
- }
31
- catch (error) {
32
- return false;
33
- }
34
- }
35
- }
36
- //# sourceMappingURL=EIP155Verifier.js.map