@reown/appkit-siwe 1.5.1 → 1.5.2

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.
@@ -1,6 +1,5 @@
1
- import { SIWEController } from '../core/controller/SIWEController.js';
2
- import { ChainController, ConnectionController, RouterController, StorageUtil, ModalController, CoreHelperUtil } from '@reown/appkit-core';
3
- import {} from '@reown/appkit-common';
1
+ import {} from '../core/controller/SIWEController.js';
2
+ import { SIWXUtil } from '@reown/appkit-core';
4
3
  import { ConstantsUtil } from '../core/utils/ConstantsUtil.js';
5
4
  export class AppKitSIWEClient {
6
5
  constructor(siweConfig) {
@@ -44,68 +43,20 @@ export class AppKitSIWEClient {
44
43
  return session;
45
44
  }
46
45
  async signIn() {
47
- if (!SIWEController.state._client) {
48
- throw new Error('SIWE client needs to be initialized before calling signIn');
49
- }
50
- const caipAddress = ChainController.state.activeCaipAddress;
51
- const address = caipAddress ? CoreHelperUtil.getPlainAddress(caipAddress) : '';
52
- const nonce = await this.methods.getNonce(address);
53
- if (!address) {
54
- throw new Error('An address is required to create a SIWE message.');
55
- }
56
- const caipNetwork = ChainController.state.activeCaipNetwork;
57
- if (!caipNetwork?.id) {
58
- throw new Error('A chainId is required to create a SIWE message.');
59
- }
60
- const chainId = caipNetwork.id;
61
- if (!chainId) {
62
- throw new Error('A chainId is required to create a SIWE message.');
63
- }
64
- const signOutOnNetworkChange = SIWEController.state._client?.options.signOutOnNetworkChange;
65
- if (signOutOnNetworkChange) {
66
- SIWEController.state._client.options.signOutOnNetworkChange = false;
67
- await this.signOut();
68
- }
69
- if (signOutOnNetworkChange) {
70
- SIWEController.state._client.options.signOutOnNetworkChange = true;
71
- }
72
- const messageParams = await this.getMessageParams?.();
73
- const message = this.methods.createMessage({
74
- address: caipAddress,
75
- chainId: Number(chainId),
76
- nonce,
77
- version: '1',
78
- iat: messageParams?.iat || new Date().toISOString(),
79
- ...messageParams
80
- });
81
- const type = StorageUtil.getConnectedConnector();
82
- if (type === 'ID_AUTH') {
83
- RouterController.pushTransactionStack({
84
- view: null,
85
- goBack: false,
86
- replace: true,
87
- onSuccess() {
88
- ModalController.close();
89
- }
90
- });
91
- }
92
- const signature = await ConnectionController.signMessage(message);
93
- const isValid = await this.methods.verifyMessage({ message, signature: signature });
94
- if (!isValid) {
95
- throw new Error('Error verifying SIWE signature');
96
- }
46
+ await SIWXUtil.requestSignMessage();
97
47
  const session = await this.methods.getSession();
98
48
  if (!session) {
99
49
  throw new Error('Error verifying SIWE signature');
100
50
  }
101
- if (this.methods.onSignIn) {
102
- this.methods.onSignIn(session);
103
- }
104
51
  return session;
105
52
  }
106
53
  async signOut() {
107
- this.methods.onSignOut?.();
108
- return this.methods.signOut();
54
+ const siwx = SIWXUtil.getSIWX();
55
+ if (!siwx) {
56
+ return false;
57
+ }
58
+ await siwx.setSessions([]);
59
+ return true;
109
60
  }
110
61
  }
111
62
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,MAAM,sCAAsC,CAAA;AAUhF,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAG9D,MAAM,OAAO,gBAAgB;IAK3B,YAAmB,UAAsB;QACvC,MAAM,EACJ,OAAO,GAAG,IAAI,EACd,sBAAsB,GAAG,aAAa,CAAC,kBAAkB,EACzD,wBAAwB,GAAG,aAAa,CAAC,kBAAkB,EAC3D,sBAAsB,GAAG,IAAI,EAC7B,mBAAmB,GAAG,IAAI,EAC1B,sBAAsB,GAAG,IAAI,EAC7B,GAAG,iBAAiB,EACrB,GAAG,UAAU,CAAA;QAEd,IAAI,CAAC,OAAO,GAAG;YAEb,OAAO;YACP,sBAAsB;YACtB,wBAAwB;YACxB,mBAAmB;YACnB,sBAAsB;YACtB,sBAAsB;SACvB,CAAA;QAED,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAgB;QAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QACvE,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAoB,CAAA;IAC7E,CAAC;IAED,aAAa,CAAC,IAA2B;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAEhD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;QAC9E,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAA2B;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAEtD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAA;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;QAC3E,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,QAAQ,CAAC,kBAAkB,EAAE,CAAA;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAA;QAE/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QACnD,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAA;QAE/B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QAE1B,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
@@ -1,5 +1,6 @@
1
1
  import { ChainController, CoreHelperUtil } from '@reown/appkit-core';
2
2
  import { NetworkUtil } from '@reown/appkit-common';
3
+ const subscriptions = [];
3
4
  export function mapToSIWX(siwe) {
4
5
  async function getSession() {
5
6
  try {
@@ -10,27 +11,39 @@ export function mapToSIWX(siwe) {
10
11
  return undefined;
11
12
  }
12
13
  }
13
- ChainController.subscribeKey('activeCaipNetwork', async (activeCaipNetwork) => {
14
+ async function signOut() {
15
+ await siwe.methods.signOut();
16
+ siwe.methods.onSignOut?.();
17
+ }
18
+ subscriptions.forEach(unsubscribe => unsubscribe());
19
+ subscriptions.push(ChainController.subscribeKey('activeCaipNetwork', async (activeCaipNetwork) => {
14
20
  if (!siwe.options.signOutOnNetworkChange) {
15
21
  return;
16
22
  }
17
23
  const session = await getSession();
18
- const isDiffernetNetwork = session &&
24
+ const isDifferentNetwork = session &&
19
25
  session.chainId !== NetworkUtil.caipNetworkIdToNumber(activeCaipNetwork?.caipNetworkId);
20
- if (isDiffernetNetwork) {
21
- await siwe.methods.signOut();
26
+ if (isDifferentNetwork) {
27
+ await signOut();
22
28
  }
23
- });
24
- ChainController.subscribeKey('activeCaipAddress', async (activeCaipAddress) => {
25
- if (!siwe.options.signOutOnAccountChange) {
29
+ }), ChainController.subscribeKey('activeCaipAddress', async (activeCaipAddress) => {
30
+ if (siwe.options.signOutOnDisconnect && !activeCaipAddress) {
31
+ const session = await getSession();
32
+ if (session) {
33
+ await signOut();
34
+ }
26
35
  return;
27
36
  }
28
- const session = await getSession();
29
- const isDifferentAddress = session && session.address !== CoreHelperUtil.getPlainAddress(activeCaipAddress);
30
- if (isDifferentAddress) {
31
- await siwe.methods.signOut();
37
+ if (siwe.options.signOutOnAccountChange) {
38
+ const session = await getSession();
39
+ const lowercaseSessionAddress = session?.address.toLowerCase();
40
+ const lowercaseCaipAddress = CoreHelperUtil?.getPlainAddress(activeCaipAddress)?.toLowerCase();
41
+ const isDifferentAddress = session && lowercaseSessionAddress !== lowercaseCaipAddress;
42
+ if (isDifferentAddress) {
43
+ await signOut();
44
+ }
32
45
  }
33
- });
46
+ }));
34
47
  return {
35
48
  async createMessage(input) {
36
49
  const params = await siwe.methods.getMessageParams?.();
@@ -75,12 +88,11 @@ export function mapToSIWX(siwe) {
75
88
  });
76
89
  return Promise.resolve();
77
90
  }
78
- throw new Error('Failed to add session');
91
+ throw new Error('Failed to verify message');
79
92
  },
80
93
  async revokeSession(_chainId, _address) {
81
94
  try {
82
- await siwe.methods.signOut();
83
- siwe.methods.onSignOut?.();
95
+ await signOut();
84
96
  }
85
97
  catch (error) {
86
98
  console.warn('AppKit:SIWE:revokeSession - signOut error', error);
@@ -89,7 +101,7 @@ export function mapToSIWX(siwe) {
89
101
  async setSessions(sessions) {
90
102
  if (sessions.length === 0) {
91
103
  try {
92
- await siwe.methods.signOut();
104
+ await signOut();
93
105
  }
94
106
  catch (error) {
95
107
  console.warn('AppKit:SIWE:setSessions - signOut error', error);
@@ -116,7 +128,11 @@ export function mapToSIWX(siwe) {
116
128
  }
117
129
  const siweSession = await getSession();
118
130
  const siweCaipNetworkId = `eip155:${siweSession?.chainId}`;
119
- if (!siweSession || siweSession.address !== address || siweCaipNetworkId !== chainId) {
131
+ const lowercaseSessionAddress = siweSession?.address.toLowerCase();
132
+ const lowercaseCaipAddress = address?.toLowerCase();
133
+ if (!siweSession ||
134
+ lowercaseSessionAddress !== lowercaseCaipAddress ||
135
+ siweCaipNetworkId !== chainId) {
120
136
  return [];
121
137
  }
122
138
  const session = {
@@ -1 +1 @@
1
- {"version":3,"file":"mapToSIWX.js","sourceRoot":"","sources":["../../../src/mapToSIWX.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,cAAc,EAIf,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,MAAM,UAAU,SAAS,CAAC,IAAsB;IAC9C,KAAK,UAAU,UAAU;QACvB,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAA;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAA;YAEtD,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IAED,eAAe,CAAC,YAAY,CAAC,mBAAmB,EAAE,KAAK,EAAC,iBAAiB,EAAC,EAAE;QAC1E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACzC,OAAM;QACR,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAA;QAClC,MAAM,kBAAkB,GACtB,OAAO;YACP,OAAO,CAAC,OAAO,KAAK,WAAW,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAA;QAEzF,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;QAC9B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,eAAe,CAAC,YAAY,CAAC,mBAAmB,EAAE,KAAK,EAAC,iBAAiB,EAAC,EAAE;QAC1E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACzC,OAAM;QACR,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAA;QAClC,MAAM,kBAAkB,GACtB,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,cAAc,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAA;QAElF,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;QAC9B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,KAAK,CAAC,aAAa,CAAC,KAAK;YACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAA;YAEtD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;YAClD,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;YACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;YACvD,MAAM,OAAO,GAAG,GAAG,CAAA;YAEnB,OAAO;gBACL,KAAK;gBACL,OAAO;gBACP,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,SAAS,EAAE,MAAM,CAAC,GAAG;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,cAAc,EAAE,MAAM,CAAC,GAAG;gBAC1B,QAAQ;gBACR,QAAQ,EAAE,GAAG,EAAE,CACb,IAAI,CAAC,aAAa,CAAC;oBACjB,GAAG,MAAM;oBACT,OAAO,EAAE,WAAW,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;oBAC9D,OAAO,EAAE,WAAW,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE;oBAC3D,KAAK;oBACL,OAAO;oBACP,GAAG,EAAE,QAAQ;iBACd,CAAC;aACL,CAAA;QACH,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,OAAO;YACtB,MAAM,OAAO,GAAG,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAEjE,IAAI,CAAC,OAAO,EAAE,CAAC;gBAEb,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;YAC1B,CAAC;YAED,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACtB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc;oBACpC,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAW;iBACrE,CAAC,CAAA;gBAEF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;YAC1B,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;QAC1C,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ;YACpC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;gBAC5B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAA;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAA;YAClE,CAAC;QACH,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,QAAQ;YACxB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;gBAC9B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAA;gBAChE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;gBACxE,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO;YAChC,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAEnC,OAAO;wBACL;4BACE,IAAI,EAAE;gCACJ,cAAc,EAAE,OAAO;gCACvB,OAAO;6BACR;4BACD,OAAO,EAAE,EAAE;4BACX,SAAS,EAAE,EAAE;yBACC;qBACjB,CAAA;gBACH,CAAC;gBAED,MAAM,WAAW,GAAG,MAAM,UAAU,EAAE,CAAA;gBAEtC,MAAM,iBAAiB,GAAG,UAAU,WAAW,EAAE,OAAO,EAAE,CAAA;gBAC1D,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,IAAI,iBAAiB,KAAK,OAAO,EAAE,CAAC;oBACrF,OAAO,EAAE,CAAA;gBACX,CAAC;gBAED,MAAM,OAAO,GAAgB;oBAC3B,IAAI,EAAE;wBACJ,cAAc,EAAE,WAAW,CAAC,OAAO;wBACnC,OAAO,EAAE,iBAAiB;qBACP;oBACrB,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,EAAE;iBACd,CAAA;gBAED,OAAO,CAAC,OAAO,CAAC,CAAA;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEf,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAA;gBAEvD,OAAO,EAAE,CAAA;YACX,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"mapToSIWX.js","sourceRoot":"","sources":["../../../src/mapToSIWX.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { describe, expect, it } from 'vitest';
1
+ import { vi, describe, expect, it } from 'vitest';
2
2
  import { SIWEController } from '../../core/controller/SIWEController.js';
3
3
  const session = { address: '0x', chainId: 1 };
4
4
  const client = {
@@ -27,8 +27,9 @@ describe('SIWEController', () => {
27
27
  it('should throw if client not set', () => {
28
28
  expect(() => SIWEController._getClient()).toThrow('SIWEController client not set');
29
29
  });
30
- it('should set the SIWE client and update status to READY', () => {
31
- SIWEController.setSIWEClient(client);
30
+ it('should set the SIWE client and update status to READY', async () => {
31
+ vi.spyOn(client, 'getSession').mockResolvedValueOnce(null);
32
+ await SIWEController.setSIWEClient(client);
32
33
  const state = SIWEController.state;
33
34
  expect(state._client).toBe(client);
34
35
  expect(state.status).toBe('ready');
@@ -1 +1 @@
1
- {"version":3,"file":"SIWEController.test.js","sourceRoot":"","sources":["../../../../tests/controllers/SIWEController.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SIWEController.test.js","sourceRoot":"","sources":["../../../../tests/controllers/SIWEController.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,314 @@
1
+ import { vi, describe, expect, it, beforeEach } from 'vitest';
2
+ import { createSIWEConfig, mapToSIWX } from '../exports';
3
+ import { AccountController, ChainController, OptionsController } from '@reown/appkit-core';
4
+ const siweConfig = createSIWEConfig({
5
+ createMessage: () => {
6
+ return 'mock-message';
7
+ },
8
+ getNonce: async () => {
9
+ return 'mock-nonce';
10
+ },
11
+ getSession: async () => {
12
+ return {
13
+ address: 'mock-address',
14
+ chainId: 1
15
+ };
16
+ },
17
+ verifyMessage: async () => {
18
+ return true;
19
+ },
20
+ signOut: async () => {
21
+ return true;
22
+ },
23
+ onSignIn: () => { },
24
+ onSignOut: () => { },
25
+ enabled: true,
26
+ getMessageParams: async () => {
27
+ return {
28
+ chains: [1],
29
+ domain: 'mock-domain',
30
+ uri: 'mock-uri',
31
+ nonce: 'mock-nonce'
32
+ };
33
+ },
34
+ nonceRefetchIntervalMs: 60000,
35
+ sessionRefetchIntervalMs: 120000,
36
+ signOutOnAccountChange: true,
37
+ signOutOnNetworkChange: true,
38
+ signOutOnDisconnect: true
39
+ });
40
+ const sessionMock = {
41
+ data: {
42
+ accountAddress: 'mock-address',
43
+ chainId: 'eip155:1'
44
+ }
45
+ };
46
+ const networks = {
47
+ mainnet: {
48
+ id: '1',
49
+ caipNetworkId: 'eip155:1',
50
+ chainNamespace: 'eip155'
51
+ },
52
+ polygon: {
53
+ id: '137',
54
+ caipNetworkId: 'eip155:137',
55
+ chainNamespace: 'eip155'
56
+ }
57
+ };
58
+ describe('SIWE: mapToSIWX', () => {
59
+ it('should correctly map methods', () => {
60
+ const siwx = mapToSIWX(siweConfig);
61
+ expect(siwx.addSession).toBeTypeOf('function');
62
+ expect(siwx.setSessions).toBeTypeOf('function');
63
+ expect(siwx.getSessions).toBeTypeOf('function');
64
+ expect(siwx.revokeSession).toBeTypeOf('function');
65
+ expect(siwx.createMessage).toBeTypeOf('function');
66
+ });
67
+ describe('createMessage', () => {
68
+ it('should correctly map createMessage', async () => {
69
+ const siwx = mapToSIWX(siweConfig);
70
+ const message = await siwx.createMessage({
71
+ accountAddress: 'mock-address',
72
+ chainId: 'eip155:1'
73
+ });
74
+ expect(message).toMatchObject({
75
+ nonce: 'mock-nonce',
76
+ version: '1',
77
+ accountAddress: 'mock-address',
78
+ chainId: 'eip155:1',
79
+ domain: 'mock-domain',
80
+ uri: 'mock-uri',
81
+ statement: undefined,
82
+ issuedAt: expect.any(String)
83
+ });
84
+ expect(message.toString()).toBe('mock-message');
85
+ });
86
+ });
87
+ describe('addSession', () => {
88
+ it('should correctly map addSession', async () => {
89
+ const siwx = mapToSIWX(siweConfig);
90
+ const session = {
91
+ data: {
92
+ accountAddress: 'mock-address',
93
+ chainId: 'eip155:1'
94
+ }
95
+ };
96
+ const verifyMessageSpy = vi.spyOn(siweConfig.methods, 'verifyMessage');
97
+ const onSignInSpy = vi.spyOn(siweConfig.methods, 'onSignIn');
98
+ await expect(siwx.addSession(session)).resolves.not.toThrow();
99
+ expect(verifyMessageSpy).toBeCalledWith(session);
100
+ expect(onSignInSpy).toBeCalledWith({
101
+ address: 'mock-address',
102
+ chainId: 1
103
+ });
104
+ });
105
+ it('should throw if verifyMessage fails', async () => {
106
+ const siwx = mapToSIWX(siweConfig);
107
+ const session = {
108
+ data: {
109
+ accountAddress: 'mock-address',
110
+ chainId: 'eip155:1'
111
+ }
112
+ };
113
+ vi.spyOn(siweConfig.methods, 'verifyMessage').mockResolvedValueOnce(false);
114
+ await expect(siwx.addSession(session)).rejects.toThrow('Failed to verify message');
115
+ });
116
+ it('should ignore non-EVM chains', async () => {
117
+ const siwx = mapToSIWX(siweConfig);
118
+ const session = {
119
+ data: {
120
+ accountAddress: 'mock-address',
121
+ chainId: 'solana:mainnet'
122
+ }
123
+ };
124
+ const verifyMessageSpy = vi.spyOn(siweConfig.methods, 'verifyMessage');
125
+ const onSignInSpy = vi.spyOn(siweConfig.methods, 'onSignIn');
126
+ await expect(siwx.addSession(session)).resolves.not.toThrow();
127
+ expect(verifyMessageSpy).not.toBeCalled();
128
+ expect(onSignInSpy).not.toBeCalled();
129
+ });
130
+ });
131
+ describe('revokeSession', () => {
132
+ it('should correctly map revokeSession', async () => {
133
+ const siwx = mapToSIWX(siweConfig);
134
+ const signOutSpy = vi.spyOn(siweConfig.methods, 'signOut');
135
+ const onSignOutSpy = vi.spyOn(siweConfig.methods, 'onSignOut');
136
+ await expect(siwx.revokeSession('eip155:1', 'mock-address')).resolves.not.toThrow();
137
+ expect(signOutSpy).toBeCalled();
138
+ expect(onSignOutSpy).toBeCalled();
139
+ });
140
+ it('should ignore errors', async () => {
141
+ const siwx = mapToSIWX(siweConfig);
142
+ vi.spyOn(siweConfig.methods, 'signOut').mockRejectedValueOnce(new Error('mock-error'));
143
+ await expect(siwx.revokeSession('eip155:1', 'mock-address')).resolves.not.toThrow();
144
+ });
145
+ });
146
+ describe('setSessions', () => {
147
+ it('should correctly map setSessions', async () => {
148
+ const siwx = mapToSIWX(siweConfig);
149
+ const addSessionSpy = vi.spyOn(siwx, 'addSession');
150
+ const signOutSpy = vi.spyOn(siweConfig.methods, 'signOut');
151
+ await expect(siwx.setSessions([sessionMock])).resolves.not.toThrow();
152
+ expect(addSessionSpy).toBeCalledWith(sessionMock);
153
+ expect(signOutSpy).not.toBeCalled();
154
+ });
155
+ it('should sign out if no sessions', async () => {
156
+ const siwx = mapToSIWX(siweConfig);
157
+ const addSessionSpy = vi.spyOn(siwx, 'addSession');
158
+ const signOutSpy = vi.spyOn(siweConfig.methods, 'signOut');
159
+ await expect(siwx.setSessions([])).resolves.not.toThrow();
160
+ expect(addSessionSpy).not.toBeCalled();
161
+ expect(signOutSpy).toBeCalled();
162
+ });
163
+ });
164
+ describe('getSessions', () => {
165
+ it('should correctly map getSessions', async () => {
166
+ const siwx = mapToSIWX(siweConfig);
167
+ await expect(siwx.getSessions('eip155:1', 'mock-address')).resolves.toMatchObject([
168
+ {
169
+ data: {
170
+ accountAddress: 'mock-address',
171
+ chainId: 'eip155:1'
172
+ },
173
+ message: '',
174
+ signature: ''
175
+ }
176
+ ]);
177
+ });
178
+ it('should ignore non-EVM chains', async () => {
179
+ const siwx = mapToSIWX(siweConfig);
180
+ await expect(siwx.getSessions('solana:mainnet', 'mock-address')).resolves.toMatchObject([
181
+ {
182
+ data: {
183
+ accountAddress: 'mock-address',
184
+ chainId: 'solana:mainnet'
185
+ },
186
+ message: '',
187
+ signature: ''
188
+ }
189
+ ]);
190
+ });
191
+ it('should ignore siwe.methods.getSession error and return empty sessions', async () => {
192
+ const siwx = mapToSIWX(siweConfig);
193
+ vi.spyOn(siweConfig.methods, 'getSession').mockRejectedValueOnce(new Error('mock-error'));
194
+ await expect(siwx.getSessions('eip155:1', 'mock-address')).resolves.toMatchObject([]);
195
+ });
196
+ });
197
+ describe('siwe.options.signOutOnNetworkChange', () => {
198
+ it('should sign out on network change', async () => {
199
+ const siwx = mapToSIWX(siweConfig);
200
+ vi.spyOn(siweConfig.methods, 'getSession').mockResolvedValue({
201
+ address: 'mock-address',
202
+ chainId: 1
203
+ });
204
+ const signOutSpy = vi.spyOn(siweConfig.methods, 'signOut');
205
+ const onSignOutSpy = vi.spyOn(siweConfig.methods, 'onSignOut');
206
+ OptionsController.setSIWX(siwx);
207
+ ChainController.setActiveCaipNetwork({
208
+ id: '1'
209
+ });
210
+ await new Promise(resolve => setTimeout(resolve, 10));
211
+ expect(signOutSpy).toHaveBeenCalled();
212
+ expect(onSignOutSpy).toHaveBeenCalled();
213
+ });
214
+ it('should not sign out on network change if disabled', async () => {
215
+ siweConfig.options.signOutOnNetworkChange = false;
216
+ const siwx = mapToSIWX(siweConfig);
217
+ vi.spyOn(siweConfig.methods, 'getSession').mockResolvedValue({
218
+ address: 'mock-address',
219
+ chainId: 1
220
+ });
221
+ const signOutSpy = vi.spyOn(siweConfig.methods, 'signOut');
222
+ const onSignOutSpy = vi.spyOn(siweConfig.methods, 'onSignOut');
223
+ OptionsController.setSIWX(siwx);
224
+ ChainController.setActiveCaipNetwork(networks.polygon);
225
+ await new Promise(resolve => setTimeout(resolve, 10));
226
+ expect(signOutSpy).not.toHaveBeenCalled();
227
+ expect(onSignOutSpy).not.toHaveBeenCalled();
228
+ siweConfig.options.signOutOnNetworkChange = true;
229
+ });
230
+ });
231
+ describe('siwe.options.signOutOnDisconnect', () => {
232
+ beforeEach(() => {
233
+ ChainController.setActiveCaipNetwork({
234
+ ...networks.mainnet,
235
+ caipNetworkId: 'eip155:1',
236
+ chainNamespace: 'eip155'
237
+ });
238
+ AccountController.setCaipAddress('eip155:1:mock-address', 'eip155');
239
+ });
240
+ it('should sign out on disconnect', async () => {
241
+ const siwx = mapToSIWX(siweConfig);
242
+ vi.spyOn(siweConfig.methods, 'getSession').mockResolvedValue({
243
+ address: 'mock-address',
244
+ chainId: 1
245
+ });
246
+ const signOutSpy = vi.spyOn(siweConfig.methods, 'signOut');
247
+ const onSignOutSpy = vi.spyOn(siweConfig.methods, 'onSignOut');
248
+ OptionsController.setSIWX(siwx);
249
+ AccountController.setCaipAddress(undefined, 'eip155');
250
+ await new Promise(resolve => setTimeout(resolve, 10));
251
+ expect(signOutSpy).toHaveBeenCalled();
252
+ expect(onSignOutSpy).toHaveBeenCalled();
253
+ });
254
+ it('should not sign out on disconnect if disabled', async () => {
255
+ siweConfig.options.signOutOnDisconnect = false;
256
+ siweConfig.options.signOutOnAccountChange = false;
257
+ const siwx = mapToSIWX(siweConfig);
258
+ vi.spyOn(siweConfig.methods, 'getSession').mockResolvedValue({
259
+ address: 'mock-address',
260
+ chainId: 1
261
+ });
262
+ const signOutSpy = vi.spyOn(siweConfig.methods, 'signOut');
263
+ const onSignOutSpy = vi.spyOn(siweConfig.methods, 'onSignOut');
264
+ OptionsController.setSIWX(siwx);
265
+ AccountController.setCaipAddress(undefined, 'eip155');
266
+ await new Promise(resolve => setTimeout(resolve, 10));
267
+ expect(signOutSpy).not.toHaveBeenCalled();
268
+ expect(onSignOutSpy).not.toHaveBeenCalled();
269
+ siweConfig.options.signOutOnDisconnect = true;
270
+ siweConfig.options.signOutOnAccountChange = true;
271
+ });
272
+ });
273
+ describe('siwe.options.signOutOnAccountChange', () => {
274
+ beforeEach(() => {
275
+ ChainController.setActiveCaipNetwork({
276
+ ...networks.mainnet,
277
+ caipNetworkId: 'eip155:1',
278
+ chainNamespace: 'eip155'
279
+ });
280
+ AccountController.setCaipAddress('eip155:1:mock-address', 'eip155');
281
+ });
282
+ it('should sign out on account change', async () => {
283
+ const siwx = mapToSIWX(siweConfig);
284
+ vi.spyOn(siweConfig.methods, 'getSession').mockResolvedValue({
285
+ address: 'mock-address',
286
+ chainId: 1
287
+ });
288
+ const signOutSpy = vi.spyOn(siweConfig.methods, 'signOut');
289
+ const onSignOutSpy = vi.spyOn(siweConfig.methods, 'onSignOut');
290
+ OptionsController.setSIWX(siwx);
291
+ AccountController.setCaipAddress('eip155:1:mock-address2', 'eip155');
292
+ await new Promise(resolve => setTimeout(resolve, 10));
293
+ expect(signOutSpy).toHaveBeenCalled();
294
+ expect(onSignOutSpy).toHaveBeenCalled();
295
+ });
296
+ it('should not sign out on account change if disabled', async () => {
297
+ siweConfig.options.signOutOnAccountChange = false;
298
+ const siwx = mapToSIWX(siweConfig);
299
+ vi.spyOn(siweConfig.methods, 'getSession').mockResolvedValue({
300
+ address: 'mock-address',
301
+ chainId: 1
302
+ });
303
+ const signOutSpy = vi.spyOn(siweConfig.methods, 'signOut');
304
+ const onSignOutSpy = vi.spyOn(siweConfig.methods, 'onSignOut');
305
+ OptionsController.setSIWX(siwx);
306
+ AccountController.setCaipAddress('eip155:1:mock-address2', 'eip155');
307
+ await new Promise(resolve => setTimeout(resolve, 10));
308
+ expect(signOutSpy).not.toHaveBeenCalled();
309
+ expect(onSignOutSpy).not.toHaveBeenCalled();
310
+ siweConfig.options.signOutOnAccountChange = true;
311
+ });
312
+ });
313
+ });
314
+ //# sourceMappingURL=mapToSIWX.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapToSIWX.test.js","sourceRoot":"","sources":["../../../tests/mapToSIWX.test.ts"],"names":[],"mappings":"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"}