@reown/appkit-siwx 1.8.15-e95f0d61c614677233e13ea9f055d3f75fcdba81.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
@@ -1 +0,0 @@
1
- {"version":3,"file":"EIP155Verifier.js","sourceRoot":"","sources":["../../../../src/verifiers/EIP155Verifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE/C,OAAO,EAAkC,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpF,OAAO,EAAE,eAAe,EAAoB,MAAM,2BAA2B,CAAA;AAE7E,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,YAAY;IAAhD;;QACkB,mBAAc,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAA;IA0B1D,CAAC;IAxBQ,KAAK,CAAC,MAAM,CAAC,OAAoB;QACtC,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM;aAC7C,GAAG,CAAC,QAAQ,CAAC;YACd,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAEvE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,kBAAkB,CAAC;gBAChC,KAAK,EAAE,WAA0B;gBACjC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC1D,CAAC,CAAA;YAEF,OAAO,MAAM,MAAM,CAAC,aAAa,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACnC,SAAS,EAAE,OAAO,CAAC,SAAoB;gBACvC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,cAAyB;aAChD,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;CACF"}
@@ -1,26 +0,0 @@
1
- import bs58 from 'bs58';
2
- import nacl from 'tweetnacl';
3
- import { ConstantsUtil } from '@reown/appkit-common';
4
- import { SIWXVerifier } from '../core/SIWXVerifier.js';
5
- /**
6
- * Default verifier for Solana sessions.
7
- */
8
- export class SolanaVerifier extends SIWXVerifier {
9
- constructor() {
10
- super(...arguments);
11
- this.chainNamespace = ConstantsUtil.CHAIN.SOLANA;
12
- }
13
- async verify(session) {
14
- try {
15
- const publicKey = bs58.decode(session.data.accountAddress);
16
- const signature = bs58.decode(session.signature);
17
- const message = new TextEncoder().encode(session.message.toString());
18
- const isValid = nacl.sign.detached.verify(message, signature, publicKey);
19
- return Promise.resolve(isValid);
20
- }
21
- catch (error) {
22
- return Promise.resolve(false);
23
- }
24
- }
25
- }
26
- //# sourceMappingURL=SolanaVerifier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SolanaVerifier.js","sourceRoot":"","sources":["../../../../src/verifiers/SolanaVerifier.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,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,MAAM,CAAA;IAe7D,CAAC;IAbQ,KAAK,CAAC,MAAM,CAAC,OAAoB;QACtC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YAChD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;YAEpE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;YAExE,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;CACF"}
@@ -1,4 +0,0 @@
1
- export * from './EIP155Verifier.js';
2
- export * from './SolanaVerifier.js';
3
- export * from './BIP122Verifier.js';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/verifiers/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA"}
@@ -1,7 +0,0 @@
1
- import { expect, it } from 'vitest';
2
- import { CloudAuthSIWX, ReownAuthentication } from '../../src/configs/ReownAuthenticationSIWX';
3
- it('should have same instance for CloudAuthSIWX and ReownAuthentication guaranteeing backwards compatibility', () => {
4
- expect(ReownAuthentication).toBe(CloudAuthSIWX);
5
- expect(new ReownAuthentication()).toBeInstanceOf(CloudAuthSIWX);
6
- });
7
- //# sourceMappingURL=ReownAuthenticationSIWX.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReownAuthenticationSIWX.test.js","sourceRoot":"","sources":["../../../../tests/configs/ReownAuthenticationSIWX.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEnC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAE9F,EAAE,CAAC,0GAA0G,EAAE,GAAG,EAAE;IAClH,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC/C,MAAM,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;AACjE,CAAC,CAAC,CAAA"}
@@ -1,96 +0,0 @@
1
- import { afterAll, beforeAll, describe, expect, test, vi } from 'vitest';
2
- import {} from '@reown/appkit-controllers';
3
- import { InformalMessenger } from '../../src/index.js';
4
- const cases = [
5
- {
6
- params: {
7
- domain: 'example.com',
8
- accountAddress: '0x1234567890abcdef1234567890abcdef12345678',
9
- statement: 'This is a statement',
10
- chainId: 'eip155:1',
11
- uri: 'siwx://example.com',
12
- getNonce: () => Promise.resolve('123')
13
- },
14
- expected: `example.com wants you to sign in with your EVM Networks account:
15
- 0x1234567890abcdef1234567890abcdef12345678
16
-
17
- This is a statement
18
-
19
- URI: siwx://example.com
20
- Version: 1
21
- Chain ID: eip155:1
22
- Nonce: 123
23
- Issued At: 2024-01-01T00:00:00.000Z`
24
- },
25
- {
26
- params: {
27
- domain: 'example.com',
28
- accountAddress: '0x1234567890abcdef1234567890abcdef12345678',
29
- chainId: 'eip155:1',
30
- uri: 'siwx://example.com',
31
- getNonce: () => Promise.resolve('123'),
32
- getRequestId: () => Promise.resolve('123'),
33
- expiration: 24 * 60 * 60 * 1000,
34
- notBefore: '2022-01-02T00:00:00Z',
35
- resources: ['resource1', 'resource2']
36
- },
37
- expected: `example.com wants you to sign in with your EVM Networks account:
38
- 0x1234567890abcdef1234567890abcdef12345678
39
-
40
- URI: siwx://example.com
41
- Version: 1
42
- Chain ID: eip155:1
43
- Nonce: 123
44
- Issued At: 2024-01-01T00:00:00.000Z
45
- Expiration Time: 2022-01-03T00:00:00.000Z
46
- Not Before: 2022-01-02T00:00:00.000Z
47
- Request ID: 123
48
- Resources:
49
- - resource1
50
- - resource2`
51
- },
52
- {
53
- params: {
54
- domain: 'example.com',
55
- accountAddress: '0x1234567890abcdef1234567890abcdef12345678',
56
- chainId: 'eip155:1',
57
- uri: 'siwx://example.com',
58
- getNonce: () => Promise.resolve('123'),
59
- getRequestId: () => Promise.resolve('123'),
60
- expiration: 24 * 60 * 60 * 1000,
61
- notBefore: '2022-01-02T00:00:00Z',
62
- resources: ['resource1', 'resource2'],
63
- clearChainIdNamespace: true
64
- },
65
- expected: `example.com wants you to sign in with your EVM Networks account:
66
- 0x1234567890abcdef1234567890abcdef12345678
67
-
68
- URI: siwx://example.com
69
- Version: 1
70
- Chain ID: 1
71
- Nonce: 123
72
- Issued At: 2024-01-01T00:00:00.000Z
73
- Expiration Time: 2022-01-03T00:00:00.000Z
74
- Not Before: 2022-01-02T00:00:00.000Z
75
- Request ID: 123
76
- Resources:
77
- - resource1
78
- - resource2`
79
- }
80
- ];
81
- describe('InformalMessenger', () => {
82
- beforeAll(() => {
83
- vi.useFakeTimers({
84
- now: new Date('2024-01-01T00:00:00Z')
85
- });
86
- });
87
- afterAll(() => {
88
- vi.useRealTimers();
89
- });
90
- test.each(cases)(`should return expected message`, async ({ params, expected }) => {
91
- const messageFactory = new InformalMessenger(params);
92
- const message = await messageFactory.createMessage(params);
93
- expect(message.toString()).toBe(expected);
94
- });
95
- });
96
- //# sourceMappingURL=InformalMessenger.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InformalMessenger.test.js","sourceRoot":"","sources":["../../../../tests/messengers/InformalMessenger.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAExE,OAAO,EAAoB,MAAM,2BAA2B,CAAA;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAOtD,MAAM,KAAK,GAAW;IACpB;QACE,MAAM,EAAE;YACN,MAAM,EAAE,aAAa;YACrB,cAAc,EAAE,4CAA4C;YAC5D,SAAS,EAAE,qBAAqB;YAChC,OAAO,EAAE,UAAU;YACnB,GAAG,EAAE,oBAAoB;YACzB,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;SACvC;QACD,QAAQ,EAAE;;;;;;;;;oCASsB;KACjC;IACD;QACE,MAAM,EAAE;YACN,MAAM,EAAE,aAAa;YACrB,cAAc,EAAE,4CAA4C;YAC5D,OAAO,EAAE,UAAU;YACnB,GAAG,EAAE,oBAAoB;YACzB,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YACtC,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAC1C,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;YAC/B,SAAS,EAAE,sBAAsB;YACjC,SAAS,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;SACtC;QACD,QAAQ,EAAE;;;;;;;;;;;;;YAaF;KACT;IACD;QACE,MAAM,EAAE;YACN,MAAM,EAAE,aAAa;YACrB,cAAc,EAAE,4CAA4C;YAC5D,OAAO,EAAE,UAAU;YACnB,GAAG,EAAE,oBAAoB;YACzB,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YACtC,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAC1C,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;YAC/B,SAAS,EAAE,sBAAsB;YACjC,SAAS,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;YACrC,qBAAqB,EAAE,IAAI;SAC5B;QACD,QAAQ,EAAE;;;;;;;;;;;;;YAaF;KACT;CACF,CAAA;AAED,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,aAAa,CAAC;YACf,GAAG,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC;SACtC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,GAAG,EAAE;QACZ,EAAE,CAAC,aAAa,EAAE,CAAA;IACpB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,gCAAgC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChF,MAAM,cAAc,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAA;QACpD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC1D,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,52 +0,0 @@
1
- import { afterAll, afterEach, beforeAll, describe, expect, test, vi } from 'vitest';
2
- import { mockSession } from '@reown/appkit-controllers/testing';
3
- import { LocalStorage } from '../../src';
4
- const previousLocalStorage = globalThis.localStorage;
5
- const previousWindow = globalThis.window;
6
- afterAll(() => {
7
- Object.assign(globalThis, { localStorage: previousLocalStorage, window: previousWindow });
8
- });
9
- describe('LocalStorage', () => {
10
- const key = 'localstorage-key';
11
- const storage = new LocalStorage({ key });
12
- const getItem = vi.fn(() => null);
13
- const setItem = vi.fn();
14
- const removeItem = vi.fn();
15
- beforeAll(() => {
16
- Object.assign(globalThis, { window: {}, localStorage: { getItem, setItem, removeItem } });
17
- });
18
- afterEach(() => {
19
- getItem.mockClear();
20
- setItem.mockClear();
21
- removeItem.mockClear();
22
- });
23
- test('should get sessions empty', async () => {
24
- const sessions = await storage.get('eip155:1', '0x1234567890abcdef');
25
- expect(sessions).toEqual([]);
26
- });
27
- test('should get sessions', async () => {
28
- getItem.mockImplementation(() => JSON.stringify([
29
- mockSession({ data: { accountAddress: '0x1234567890abcdef', chainId: 'eip155:1' } })
30
- ]));
31
- const sessions = await storage.get('eip155:1', '0x1234567890abcdef');
32
- expect(getItem).toHaveBeenCalledWith(key);
33
- expect(sessions).toHaveLength(1);
34
- });
35
- test('should set sessions', async () => {
36
- const session = mockSession();
37
- await storage.set([session]);
38
- expect(setItem).toHaveBeenCalledWith(key, JSON.stringify([session]));
39
- });
40
- test('should remove sessions', async () => {
41
- getItem.mockImplementation(() => JSON.stringify([
42
- mockSession({
43
- data: { accountAddress: '0x1234567890abcdef', chainId: 'eip155:1' }
44
- })
45
- ]));
46
- expect(await storage.get('eip155:1', '0x1234567890abcdef')).toHaveLength(1);
47
- await storage.delete('eip155:1', '0x1234567890abcdef');
48
- expect(getItem).toHaveBeenCalledWith(key);
49
- expect(setItem).toHaveBeenCalledWith(key, JSON.stringify([]));
50
- });
51
- });
52
- //# sourceMappingURL=LocalStorage.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LocalStorage.test.js","sourceRoot":"","sources":["../../../../tests/storages/LocalStorage.test.ts"],"names":[],"mappings":"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"}
@@ -1,68 +0,0 @@
1
- import { describe, expect, test } from 'vitest';
2
- import {} from '@reown/appkit-controllers';
3
- import { mockSession } from '@reown/appkit-controllers/testing';
4
- import { BIP122Verifier } from '../../src/verifiers/BIP122Verifier.js';
5
- const cases = [
6
- {
7
- reason: 'valid session',
8
- session: mockSession({
9
- data: {
10
- accountAddress: 'bc1qczn7zmd0n8rddeyhfjm9vz5edwznd4vsce4w7a'
11
- },
12
- signature: 'KML3pFh5aNynPZKegsEcasua2W17sKRhpsNgP/jMMbT3LR4N6jXM9Yl9n7hdHNJdff4clSAzvE/rICl/FsSu5uo='
13
- }),
14
- expected: true
15
- },
16
- {
17
- reason: 'invalid session with an invalid signature',
18
- session: mockSession({
19
- data: {
20
- accountAddress: 'bc1qczn7zmd0n8rddeyhfjm9vz5edwznd4vsce4w7a'
21
- },
22
- signature: 'KFgSwkIlLxUuJ0N59F50AKMdiXi8bNF/O/OB9lKh85xnXB/9HoA50T0nZb6SQ1RHBDWPhmBukWU0Py01NU4VI0o='
23
- }),
24
- expected: false
25
- },
26
- {
27
- reason: 'invalid session with an invalid account address',
28
- session: mockSession({
29
- data: {
30
- accountAddress: 'bc1quht40y4r6psc6v5kdxpdumqv89azrdffvra2dn'
31
- },
32
- signature: 'KML3pFh5aNynPZKegsEcasua2W17sKRhpsNgP/jMMbT3LR4N6jXM9Yl9n7hdHNJdff4clSAzvE/rICl/FsSu5uo='
33
- }),
34
- expected: false
35
- },
36
- {
37
- reason: 'different signature type',
38
- session: mockSession({
39
- data: {
40
- accountAddress: 'bc1qczn7zmd0n8rddeyhfjm9vz5edwznd4vsce4w7a'
41
- },
42
- signature: 'AkcwRAIgIB8eAIUCg4bHJm7IuOktrosDZn4A0wUrlAxSU8WySNgCIBecJ7eTrlzNGvzXcLAxIC44STrZm+MsCNDGr4IYwTIbASECBPlzqRYbRCAR7uxM+u3okxS8AeBojHtyHstbbC4/6EU='
43
- }),
44
- expected: true
45
- }
46
- ];
47
- describe('BIP122Verifier', () => {
48
- const verifier = new BIP122Verifier();
49
- test('should have bip122 as the chain namespace', () => {
50
- expect(verifier.chainNamespace).toBe('bip122');
51
- });
52
- test('should verify only bip122 chain id', () => {
53
- expect(verifier.shouldVerify(mockSession({
54
- data: {
55
- chainId: 'bip122:000000000019d6689c085ae165831e93'
56
- }
57
- }))).toBe(true);
58
- expect(verifier.shouldVerify(mockSession({
59
- data: {
60
- chainId: 'eip155:1'
61
- }
62
- }))).toBe(false);
63
- });
64
- test.each(cases)(`should verify $reason`, async ({ session, expected }) => {
65
- expect(await verifier.verify(session)).toBe(expected);
66
- });
67
- });
68
- //# sourceMappingURL=BIP122Verifier.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BIP122Verifier.test.js","sourceRoot":"","sources":["../../../../tests/verifiers/BIP122Verifier.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,EAAoB,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAQtE,MAAM,KAAK,GAAW;IACpB;QACE,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,WAAW,CAAC;YACnB,IAAI,EAAE;gBACJ,cAAc,EAAE,4CAA4C;aAC7D;YACD,SAAS,EACP,0FAA0F;SAC7F,CAAC;QACF,QAAQ,EAAE,IAAI;KACf;IACD;QACE,MAAM,EAAE,2CAA2C;QACnD,OAAO,EAAE,WAAW,CAAC;YACnB,IAAI,EAAE;gBACJ,cAAc,EAAE,4CAA4C;aAC7D;YACD,SAAS,EACP,0FAA0F;SAC7F,CAAC;QACF,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,MAAM,EAAE,iDAAiD;QACzD,OAAO,EAAE,WAAW,CAAC;YACnB,IAAI,EAAE;gBACJ,cAAc,EAAE,4CAA4C;aAC7D;YACD,SAAS,EACP,0FAA0F;SAC7F,CAAC;QACF,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,MAAM,EAAE,0BAA0B;QAClC,OAAO,EAAE,WAAW,CAAC;YACnB,IAAI,EAAE;gBACJ,cAAc,EAAE,4CAA4C;aAC7D;YACD,SAAS,EACP,kJAAkJ;SACrJ,CAAC;QACF,QAAQ,EAAE,IAAI;KACf;CACF,CAAA;AAED,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAA;IAErC,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,MAAM,CACJ,QAAQ,CAAC,YAAY,CACnB,WAAW,CAAC;YACV,IAAI,EAAE;gBACJ,OAAO,EAAE,yCAAyC;aACnD;SACF,CAAC,CACH,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,CACJ,QAAQ,CAAC,YAAY,CACnB,WAAW,CAAC;YACV,IAAI,EAAE;gBACJ,OAAO,EAAE,UAAU;aACpB;SACF,CAAC,CACH,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,uBAAuB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QACxE,MAAM,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,107 +0,0 @@
1
- import { createPublicClient, http } from 'viem';
2
- import { beforeEach, describe, expect, test, vi } from 'vitest';
3
- import { ChainController } from '@reown/appkit-controllers';
4
- import { mockSession } from '@reown/appkit-controllers/testing';
5
- import { EIP155Verifier } from '../../src/index.js';
6
- const mockHttp = 'https://mock-rpc.com';
7
- const mockCaipNetwork = {
8
- id: 1,
9
- chainNamespace: 'eip155',
10
- caipNetworkId: 'eip155:1',
11
- name: 'Mock Chain',
12
- nativeCurrency: {
13
- name: 'Mock Token',
14
- symbol: 'MOCK',
15
- decimals: 18
16
- },
17
- rpcUrls: { default: { http: [mockHttp] } }
18
- };
19
- describe('EIP155Verifier', () => {
20
- const verifier = new EIP155Verifier();
21
- beforeEach(() => {
22
- vi.clearAllMocks();
23
- });
24
- test('should have eip155 as the chain namespace', () => {
25
- expect(verifier.chainNamespace).toBe('eip155');
26
- });
27
- describe('shouldVerify', () => {
28
- test('should verify only eip155 chain id', () => {
29
- expect(verifier.shouldVerify(mockSession({
30
- data: {
31
- chainId: 'eip155:1'
32
- }
33
- }))).toBe(true);
34
- expect(verifier.shouldVerify(mockSession({
35
- data: {
36
- chainId: 'solana:mainnet'
37
- }
38
- }))).toBe(false);
39
- });
40
- });
41
- describe('verify', () => {
42
- beforeEach(() => {
43
- // Mock viem functions with proper typing
44
- vi.mock('viem', () => ({
45
- createPublicClient: vi.fn(() => ({
46
- verifyMessage: vi.fn().mockResolvedValue(true)
47
- })),
48
- http: vi.fn()
49
- }));
50
- });
51
- test('should successfully verify when caipNetwork is found', async () => {
52
- const session = mockSession();
53
- // Mock ChainController to return valid caipNetwork
54
- vi.spyOn(ChainController.state.chains, 'get').mockReturnValue({
55
- caipNetworks: [mockCaipNetwork]
56
- });
57
- const result = await verifier.verify(session);
58
- expect(result).toBe(true);
59
- expect(http).toHaveBeenCalledWith(mockHttp);
60
- expect(createPublicClient).toHaveBeenCalledWith({
61
- chain: expect.objectContaining(mockCaipNetwork),
62
- transport: http(mockHttp)
63
- });
64
- const client = createPublicClient.mock.results[0].value;
65
- expect(client.verifyMessage).toHaveBeenCalledWith({
66
- message: session.message.toString(),
67
- signature: session.signature,
68
- address: session.data.accountAddress
69
- });
70
- });
71
- test('should throw error when caipNetwork is not found', async () => {
72
- const session = mockSession();
73
- // Mock ChainController to return empty caipNetworks
74
- vi.spyOn(ChainController.state.chains, 'get').mockReturnValue({
75
- caipNetworks: []
76
- });
77
- await expect(verifier.verify(session)).rejects.toThrow('EIP155.verify: CaipNetwork not found');
78
- });
79
- test('should return false when verifyMessage fails', async () => {
80
- const session = mockSession();
81
- // Mock ChainController to return valid caipNetwork
82
- vi.spyOn(ChainController.state.chains, 'get').mockReturnValue({
83
- caipNetworks: [mockCaipNetwork]
84
- });
85
- // Mock verifyMessage to fail
86
- vi.mocked(createPublicClient).mockImplementation(() => ({
87
- verifyMessage: vi.fn().mockResolvedValue(false)
88
- }));
89
- const result = await verifier.verify(session);
90
- expect(result).toBe(false);
91
- });
92
- test('should return false when verification throws error', async () => {
93
- const session = mockSession();
94
- // Mock ChainController to return valid caipNetwork
95
- vi.spyOn(ChainController.state.chains, 'get').mockReturnValue({
96
- caipNetworks: [mockCaipNetwork]
97
- });
98
- // Mock verifyMessage to throw error
99
- vi.mocked(createPublicClient).mockImplementation(() => ({
100
- verifyMessage: vi.fn().mockRejectedValue(new Error('Verification failed'))
101
- }));
102
- const result = await verifier.verify(session);
103
- expect(result).toBe(false);
104
- });
105
- });
106
- });
107
- //# sourceMappingURL=EIP155Verifier.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EIP155Verifier.test.js","sourceRoot":"","sources":["../../../../tests/verifiers/EIP155Verifier.test.ts"],"names":[],"mappings":"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"}
@@ -1,58 +0,0 @@
1
- import { describe, expect, test } from 'vitest';
2
- import {} from '@reown/appkit-controllers';
3
- import { mockSession } from '@reown/appkit-controllers/testing';
4
- import { SolanaVerifier } from '../../src/verifiers/SolanaVerifier.js';
5
- const cases = [
6
- {
7
- reason: 'valid session',
8
- session: mockSession({
9
- data: {
10
- accountAddress: '2VqKhjZ766ZN3uBtBpb7Ls3cN4HrocP1rzxzekhVEgpU'
11
- },
12
- signature: '2ZpgpUKF6RtmbrE8uBmPwRiBqRnsCKiBKkjsPSpf6c64r4XdDoevjhjNX35X7GeuSwwRhmbB2Ro4NfHWAeXWNhDL'
13
- }),
14
- expected: true
15
- },
16
- {
17
- reason: 'invalid session with an invalid signature',
18
- session: mockSession({
19
- data: {
20
- accountAddress: '2VqKhjZ766ZN3uBtBpb7Ls3cN4HrocP1rzxzekhVEgpU'
21
- },
22
- signature: '3ErkFZkvhSJVR7E1uakGwj8icgfxvRSS6AwW5bq4CZsXPZ83XrT1H9xcCWLvhsYCLYzFc7WSMQEJxGgpZvtgqbdE'
23
- }),
24
- expected: false
25
- },
26
- {
27
- reason: 'invalid session with an invalid account address',
28
- session: mockSession({
29
- data: {
30
- accountAddress: 'C6ydkvKcRdXz3ZTEYy6uWAAyZgyUF49qP4XPdaDB2nqS'
31
- },
32
- signature: '2ZpgpUKF6RtmbrE8uBmPwRiBqRnsCKiBKkjsPSpf6c64r4XdDoevjhjNX35X7GeuSwwRhmbB2Ro4NfHWAeXWNhDL'
33
- }),
34
- expected: false
35
- }
36
- ];
37
- describe('SolanaVerifier', () => {
38
- const verifier = new SolanaVerifier();
39
- test('should have solana as the chain namespace', () => {
40
- expect(verifier.chainNamespace).toBe('solana');
41
- });
42
- test('should verify only solana chain id', () => {
43
- expect(verifier.shouldVerify(mockSession({
44
- data: {
45
- chainId: 'solana:mainnet'
46
- }
47
- }))).toBe(true);
48
- expect(verifier.shouldVerify(mockSession({
49
- data: {
50
- chainId: 'eip155:1'
51
- }
52
- }))).toBe(false);
53
- });
54
- test.each(cases)(`should verify $reason`, async ({ session, expected }) => {
55
- expect(await verifier.verify(session)).toBe(expected);
56
- });
57
- });
58
- //# sourceMappingURL=SolanaVerifier.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SolanaVerifier.test.js","sourceRoot":"","sources":["../../../../tests/verifiers/SolanaVerifier.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,EAAoB,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAQtE,MAAM,KAAK,GAAW;IACpB;QACE,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,WAAW,CAAC;YACnB,IAAI,EAAE;gBACJ,cAAc,EAAE,8CAA8C;aAC/D;YACD,SAAS,EACP,0FAA0F;SAC7F,CAAC;QACF,QAAQ,EAAE,IAAI;KACf;IACD;QACE,MAAM,EAAE,2CAA2C;QACnD,OAAO,EAAE,WAAW,CAAC;YACnB,IAAI,EAAE;gBACJ,cAAc,EAAE,8CAA8C;aAC/D;YACD,SAAS,EACP,0FAA0F;SAC7F,CAAC;QACF,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,MAAM,EAAE,iDAAiD;QACzD,OAAO,EAAE,WAAW,CAAC;YACnB,IAAI,EAAE;gBACJ,cAAc,EAAE,8CAA8C;aAC/D;YACD,SAAS,EACP,0FAA0F;SAC7F,CAAC;QACF,QAAQ,EAAE,KAAK;KAChB;CACF,CAAA;AAED,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAA;IAErC,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,MAAM,CACJ,QAAQ,CAAC,YAAY,CACnB,WAAW,CAAC;YACV,IAAI,EAAE;gBACJ,OAAO,EAAE,gBAAgB;aAC1B;SACF,CAAC,CACH,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,CACJ,QAAQ,CAAC,YAAY,CACnB,WAAW,CAAC;YACV,IAAI,EAAE;gBACJ,OAAO,EAAE,UAAU;aACpB;SACF,CAAC,CACH,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,uBAAuB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QACxE,MAAM,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}