@0xsequence/wallet-core 3.0.1 → 3.0.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,5 +1,5 @@
1
1
 
2
2
 
3
- > @0xsequence/wallet-core@3.0.1 build /home/taylan/development/sequence/sequence.js/packages/wallet/core
3
+ > @0xsequence/wallet-core@3.0.2 build /home/taylan/development/sequence/sequence.js/packages/wallet/core
4
4
  > tsc
5
5
 
@@ -1,4 +1,4 @@
1
1
 
2
- > @0xsequence/wallet-core@3.0.1 lint /home/taylan/development/sequence/sequence.js/packages/wallet/core
2
+ > @0xsequence/wallet-core@3.0.2 lint /home/taylan/development/sequence/sequence.js/packages/wallet/core
3
3
  > eslint . --max-warnings 0
4
4
 
@@ -1,4 +1,4 @@
1
1
 
2
- > @0xsequence/wallet-core@3.0.1 typecheck /home/taylan/development/sequence/sequence.js/packages/wallet/core
2
+ > @0xsequence/wallet-core@3.0.2 typecheck /home/taylan/development/sequence/sequence.js/packages/wallet/core
3
3
  > tsc --noEmit
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @0xsequence/wallet-core
2
2
 
3
+ ## 3.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - allow native self transfer
8
+ - Updated dependencies
9
+ - @0xsequence/guard@3.0.2
10
+ - @0xsequence/relayer@3.0.2
11
+ - @0xsequence/wallet-primitives@3.0.2
12
+
3
13
  ## 3.0.1
4
14
 
5
15
  ### Patch Changes
package/dist/wallet.js CHANGED
@@ -243,7 +243,7 @@ export class Wallet {
243
243
  if (call.delegateCall) {
244
244
  throw new Error('delegate calls are not allowed in safe mode');
245
245
  }
246
- if (Address.isEqual(call.to, this.address)) {
246
+ if (Address.isEqual(call.to, this.address) && call.data !== '0x') {
247
247
  throw new Error('calls to the wallet contract itself are not allowed in safe mode');
248
248
  }
249
249
  }
@@ -326,7 +326,7 @@ export class Wallet {
326
326
  if (call.delegateCall) {
327
327
  throw new Error('delegate calls are not allowed in safe mode');
328
328
  }
329
- if (Address.isEqual(call.to, this.address)) {
329
+ if (Address.isEqual(call.to, this.address) && call.data !== '0x') {
330
330
  throw new Error('calls to the wallet contract itself are not allowed in safe mode');
331
331
  }
332
332
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xsequence/wallet-core",
3
- "version": "3.0.1",
3
+ "version": "3.0.2",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -27,9 +27,9 @@
27
27
  "mipd": "^0.0.7",
28
28
  "ox": "^0.9.17",
29
29
  "viem": "^2.40.3",
30
- "@0xsequence/relayer": "^3.0.1",
31
- "@0xsequence/wallet-primitives": "^3.0.1",
32
- "@0xsequence/guard": "^3.0.1"
30
+ "@0xsequence/relayer": "^3.0.2",
31
+ "@0xsequence/guard": "^3.0.2",
32
+ "@0xsequence/wallet-primitives": "^3.0.2"
33
33
  },
34
34
  "scripts": {
35
35
  "build": "tsc",
package/src/wallet.ts CHANGED
@@ -342,7 +342,7 @@ export class Wallet {
342
342
  if (call.delegateCall) {
343
343
  throw new Error('delegate calls are not allowed in safe mode')
344
344
  }
345
- if (Address.isEqual(call.to, this.address)) {
345
+ if (Address.isEqual(call.to, this.address) && call.data !== '0x') {
346
346
  throw new Error('calls to the wallet contract itself are not allowed in safe mode')
347
347
  }
348
348
  }
@@ -455,7 +455,7 @@ export class Wallet {
455
455
  if (call.delegateCall) {
456
456
  throw new Error('delegate calls are not allowed in safe mode')
457
457
  }
458
- if (Address.isEqual(call.to, this.address)) {
458
+ if (Address.isEqual(call.to, this.address) && call.data !== '0x') {
459
459
  throw new Error('calls to the wallet contract itself are not allowed in safe mode')
460
460
  }
461
461
  }
@@ -1,290 +0,0 @@
1
-
2
- > @0xsequence/wallet-core@3.0.0 test /home/taylan/development/sequence/sequence.js/packages/wallet/core
3
- > vitest run
4
-
5
-
6
-  RUN  v4.0.18 /home/taylan/development/sequence/sequence.js/packages/wallet/core
7
-
8
- ✓ test/signers-pk-encrypted.test.ts (19 tests) 29ms
9
- ✓ test/state/debug.test.ts (14 tests) 17ms
10
- ✓ test/state/local/memory.test.ts (16 tests) 7ms
11
- ✓ test/envelope.test.ts (39 tests) 10ms
12
- ✓ test/signers-passkey.test.ts (29 tests) 22ms
13
- ✓ test/signers-pk.test.ts (16 tests) 52ms
14
- ✓ test/relayer/bundler.test.ts (13 tests) 8ms
15
- ✓ test/signers-index.test.ts (7 tests) 6ms
16
- ✓ test/state/cached.test.ts (32 tests) 32ms
17
- ✓ test/state/utils.test.ts (14 tests) 41ms
18
- stdout | test/utils/session/permission-builder.test.ts > PermissionBuilder > should build an exact match permission
19
- random calldata 0x13c07e55dfcc1767dc61947cf4e682647766111b1a6eccbb142b129a33561172792fd57005cdccd72748c3712c683432100286ff7ec0350355e3
20
- random calldata 0x676403f8db056f24887c114919b8d73c
21
- random calldata 0x1cef0b331be4ab4bcedaf8c60ef55cd08d9f8860cbd690f98f089cc4eb790fb0b7fbda64a4c99af02d01c8af7fc8d1ac24bd49
22
- random calldata 0x6241c96dc68afea32ed2b8bb7de83e64c5972f8118aaeb3a6f9efb42cba1a3e0a89e283649ce9c40e01fb5fe297265c5cd2f44bcf4775834006f67b3e5
23
- random calldata 0xfd645629d946efed2d538e40b6236f9a32bbfe7f5d9a911e8d4ae6e3c84aa04db842d8d138644b0748a4eb0da4f2b6099feba18c098306953ee5f61d64dc94d47cfbc6ae4afc5c42fc4c21c8abfe042a410132f8e0b8dadbf969169b6f80ca18
24
- random calldata 0x413a7b1c2623423d03469e0d1be53bf6c007f178b9a2e08ffdc7ea77192fdf69656783434f350bd5bffd9076364559785805d8e56548efbe122328b23f3a162bcfc7baa248cfa3b336bd12a7e7f50eebb3805b9eef
25
- random calldata 0x550e368c11c8718b4b555d700a916ba152192b12cf2504deb7
26
- random calldata 0x9a9f47cadb002c7c9d320bfc3c230521b0f78d9a6ef5c2f90d89b5632e98f7f395af3acc5cf2bee8ff528012a52d7127b6a41acbbbcb3a72278a954b4d81bc3a3b13b8d9d3240b47798ba9790700f58c4216aae2f5a2a10c0145cf6c65
27
- random calldata 0x
28
- random calldata 0x34dd00e3b98f155f8e0e984bde
29
-
30
- stdout | test/wallet.test.ts
31
- [dotenv@17.3.1] injecting env (0) from .env.test.local -- tip: ⚙️ specify custom .env file path with { path: '/custom/path/.env' }
32
-
33
- ✓ test/signers-guard.test.ts (4 tests) 18ms
34
- stdout | test/session-manager.test.ts
35
- [dotenv@17.3.1] injecting env (0) from .env.test.local -- tip: ⚙️ specify custom .env file path with { path: '/custom/path/.env' }
36
-
37
- ✓ test/signers-session-explicit.test.ts (25 tests) 18ms
38
- ✓ test/utils/session/permission-builder.test.ts (28 tests) 42ms
39
- ❯ test/wallet.test.ts (8 tests | 4 failed) 57ms
40
-  × should sign a message 42ms
41
-  × should sign a typed data message 3ms
42
-  × should sign a message 2ms
43
-  × should sign a typed data message 2ms
44
- ✓ Should reject unsafe wallet creation 2ms
45
- ✓ Should reject unsafe wallet update 3ms
46
- ✓ Should accept unsafe wallet creation in unsafe mode 1ms
47
- ✓ Should accept unsafe wallet update in unsafe mode 1ms
48
- ✓ test/signers-session-implicit.test.ts (28 tests) 88ms
49
- ❯ test/session-manager.test.ts (90 tests | 85 failed) 205ms
50
-  × should load from state 35ms
51
-  × should create and sign with an implicit session 35ms
52
-  × should create and sign with a multiple implicit sessions 8ms
53
-  × should fail to sign with a multiple implicit sessions with different identity signers 8ms
54
-  × should create and sign with an explicit session 2ms
55
-  × should create and sign with an explicit session with 0 chainId 2ms
56
- ✓ should fail to sign with an expired explicit session 4ms
57
-  × signs a payload using an implicit session 3ms
58
-  × signs a payload using an explicit session with allowAll and value limit 1ms
59
-  × signs using explicit session with onlyOnce, consumes usage and rejects second call 1ms
60
-  × signs an ERC20 approve using an explicit session 1ms
61
-  × signs a payload sending value using an explicit session 1ms
62
-  × signs a payload sending two transactions with cumulative rules using an explicit session 1ms
63
-  × using explicit session, sends value, then uses a non-incremental permission 1ms
64
-  × two explicit sessions with same value limit: exhaust first then second send uses second session (increment from non-increment calls only) 1ms
65
-  × prepareIncrement returns null when calls contain only an increment call (no non-increment calls) 1ms
66
-  × prepareIncrement([increment, nonIncrementCall]) produces same increment data as prepareIncrement([nonIncrementCall]) 1ms
67
-  × payload with implicit and explicit: increment built only from explicit non-increment call 1ms
68
-  × should load from state 1ms
69
-  × should create and sign with an implicit session 3ms
70
-  × should create and sign with a multiple implicit sessions 3ms
71
-  × should fail to sign with a multiple implicit sessions with different identity signers 3ms
72
-  × should create and sign with an explicit session 1ms
73
-  × should create and sign with an explicit session with 0 chainId 1ms
74
- ✓ should fail to sign with an expired explicit session 1ms
75
-  × signs a payload using an implicit session 1ms
76
-  × signs a payload using an explicit session with allowAll and value limit 1ms
77
-  × signs using explicit session with onlyOnce, consumes usage and rejects second call 1ms
78
-  × signs an ERC20 approve using an explicit session 1ms
79
-  × signs a payload sending value using an explicit session 1ms
80
-  × signs a payload sending two transactions with cumulative rules using an explicit session 1ms
81
-  × using explicit session, sends value, then uses a non-incremental permission 1ms
82
-  × two explicit sessions with same value limit: exhaust first then second send uses second session (increment from non-increment calls only) 1ms
83
-  × prepareIncrement returns null when calls contain only an increment call (no non-increment calls) 1ms
84
-  × prepareIncrement([increment, nonIncrementCall]) produces same increment data as prepareIncrement([nonIncrementCall]) 1ms
85
-  × payload with implicit and explicit: increment built only from explicit non-increment call 1ms
86
-  × should load from state 2ms
87
-  × should create and sign with an implicit session 2ms
88
-  × should create and sign with a multiple implicit sessions 3ms
89
-  × should fail to sign with a multiple implicit sessions with different identity signers 3ms
90
-  × should create and sign with an explicit session 1ms
91
-  × should create and sign with an explicit session with 0 chainId 1ms
92
- ✓ should fail to sign with an expired explicit session 1ms
93
-  × signs a payload using an implicit session 1ms
94
-  × signs a payload using an explicit session with allowAll and value limit 1ms
95
-  × signs using explicit session with onlyOnce, consumes usage and rejects second call 1ms
96
-  × signs an ERC20 approve using an explicit session 1ms
97
-  × signs a payload sending value using an explicit session 1ms
98
-  × signs a payload sending two transactions with cumulative rules using an explicit session 1ms
99
-  × using explicit session, sends value, then uses a non-incremental permission 1ms
100
-  × two explicit sessions with same value limit: exhaust first then second send uses second session (increment from non-increment calls only) 1ms
101
-  × prepareIncrement returns null when calls contain only an increment call (no non-increment calls) 1ms
102
-  × prepareIncrement([increment, nonIncrementCall]) produces same increment data as prepareIncrement([nonIncrementCall]) 1ms
103
-  × payload with implicit and explicit: increment built only from explicit non-increment call 1ms
104
-  × should load from state 1ms
105
-  × should create and sign with an implicit session 2ms
106
-  × should create and sign with a multiple implicit sessions 6ms
107
-  × should fail to sign with a multiple implicit sessions with different identity signers 4ms
108
-  × should create and sign with an explicit session 1ms
109
-  × should create and sign with an explicit session with 0 chainId 1ms
110
- ✓ should fail to sign with an expired explicit session 1ms
111
-  × signs a payload using an implicit session 1ms
112
-  × signs a payload using an explicit session with allowAll and value limit 1ms
113
-  × signs using explicit session with onlyOnce, consumes usage and rejects second call 1ms
114
-  × signs an ERC20 approve using an explicit session 1ms
115
-  × signs a payload sending value using an explicit session 1ms
116
-  × signs a payload sending two transactions with cumulative rules using an explicit session 1ms
117
-  × using explicit session, sends value, then uses a non-incremental permission 1ms
118
-  × two explicit sessions with same value limit: exhaust first then second send uses second session (increment from non-increment calls only) 3ms
119
-  × prepareIncrement returns null when calls contain only an increment call (no non-increment calls) 1ms
120
-  × prepareIncrement([increment, nonIncrementCall]) produces same increment data as prepareIncrement([nonIncrementCall]) 1ms
121
-  × payload with implicit and explicit: increment built only from explicit non-increment call 1ms
122
-  × should load from state 1ms
123
-  × should create and sign with an implicit session 3ms
124
-  × should create and sign with a multiple implicit sessions 3ms
125
-  × should fail to sign with a multiple implicit sessions with different identity signers 3ms
126
-  × should create and sign with an explicit session 1ms
127
-  × should create and sign with an explicit session with 0 chainId 1ms
128
- ✓ should fail to sign with an expired explicit session 2ms
129
-  × signs a payload using an implicit session 1ms
130
-  × signs a payload using an explicit session with allowAll and value limit 1ms
131
-  × signs using explicit session with onlyOnce, consumes usage and rejects second call 1ms
132
-  × signs an ERC20 approve using an explicit session 1ms
133
-  × signs a payload sending value using an explicit session 1ms
134
-  × signs a payload sending two transactions with cumulative rules using an explicit session 1ms
135
-  × using explicit session, sends value, then uses a non-incremental permission 1ms
136
-  × two explicit sessions with same value limit: exhaust first then second send uses second session (increment from non-increment calls only) 2ms
137
-  × prepareIncrement returns null when calls contain only an increment call (no non-increment calls) 1ms
138
-  × prepareIncrement([increment, nonIncrementCall]) produces same increment data as prepareIncrement([nonIncrementCall]) 1ms
139
-  × payload with implicit and explicit: increment built only from explicit non-increment call 1ms
140
-
141
- ⎯⎯⎯⎯⎯⎯ Failed Tests 89 ⎯⎯⎯⎯⎯⎯⎯
142
-
143
-  FAIL  test/session-manager.test.ts > SessionManager (Dev1) > should load from state
144
-  FAIL  test/session-manager.test.ts > SessionManager (Dev1) > should create and sign with an implicit session
145
-  FAIL  test/session-manager.test.ts > SessionManager (Dev1) > should create and sign with a multiple implicit sessions
146
-  FAIL  test/session-manager.test.ts > SessionManager (Dev1) > should fail to sign with a multiple implicit sessions with different identity signers
147
-  FAIL  test/session-manager.test.ts > SessionManager (Dev1) > should create and sign with an explicit session
148
-  FAIL  test/session-manager.test.ts > SessionManager (Dev1) > should create and sign with an explicit session with 0 chainId
149
-  FAIL  test/session-manager.test.ts > SessionManager (Dev1) > signs a payload using an implicit session
150
-  FAIL  test/session-manager.test.ts > SessionManager (Dev1) > signs a payload using an explicit session with allowAll and value limit
151
-  FAIL  test/session-manager.test.ts > SessionManager (Dev1) > signs using explicit session with onlyOnce, consumes usage and rejects second call
152
-  FAIL  test/session-manager.test.ts > SessionManager (Dev1) > signs an ERC20 approve using an explicit session
153
-  FAIL  test/session-manager.test.ts > SessionManager (Dev1) > signs a payload sending value using an explicit session
154
-  FAIL  test/session-manager.test.ts > SessionManager (Dev1) > signs a payload sending two transactions with cumulative rules using an explicit session
155
-  FAIL  test/session-manager.test.ts > SessionManager (Dev1) > using explicit session, sends value, then uses a non-incremental permission
156
-  FAIL  test/session-manager.test.ts > SessionManager (Dev1) > two explicit sessions with same value limit: exhaust first then second send uses second session (increment from non-increment calls only)
157
-  FAIL  test/session-manager.test.ts > SessionManager (Dev1) > increment built from non-increment calls only > prepareIncrement returns null when calls contain only an increment call (no non-increment calls)
158
-  FAIL  test/session-manager.test.ts > SessionManager (Dev1) > increment built from non-increment calls only > prepareIncrement([increment, nonIncrementCall]) produces same increment data as prepareIncrement([nonIncrementCall])
159
-  FAIL  test/session-manager.test.ts > SessionManager (Dev1) > increment built from non-increment calls only > payload with implicit and explicit: increment built only from explicit non-increment call
160
-  FAIL  test/session-manager.test.ts > SessionManager (Dev2) > should load from state
161
-  FAIL  test/session-manager.test.ts > SessionManager (Dev2) > should create and sign with an implicit session
162
-  FAIL  test/session-manager.test.ts > SessionManager (Dev2) > should create and sign with a multiple implicit sessions
163
-  FAIL  test/session-manager.test.ts > SessionManager (Dev2) > should fail to sign with a multiple implicit sessions with different identity signers
164
-  FAIL  test/session-manager.test.ts > SessionManager (Dev2) > should create and sign with an explicit session
165
-  FAIL  test/session-manager.test.ts > SessionManager (Dev2) > should create and sign with an explicit session with 0 chainId
166
-  FAIL  test/session-manager.test.ts > SessionManager (Dev2) > signs a payload using an implicit session
167
-  FAIL  test/session-manager.test.ts > SessionManager (Dev2) > signs a payload using an explicit session with allowAll and value limit
168
-  FAIL  test/session-manager.test.ts > SessionManager (Dev2) > signs using explicit session with onlyOnce, consumes usage and rejects second call
169
-  FAIL  test/session-manager.test.ts > SessionManager (Dev2) > signs an ERC20 approve using an explicit session
170
-  FAIL  test/session-manager.test.ts > SessionManager (Dev2) > signs a payload sending value using an explicit session
171
-  FAIL  test/session-manager.test.ts > SessionManager (Dev2) > signs a payload sending two transactions with cumulative rules using an explicit session
172
-  FAIL  test/session-manager.test.ts > SessionManager (Dev2) > using explicit session, sends value, then uses a non-incremental permission
173
-  FAIL  test/session-manager.test.ts > SessionManager (Dev2) > two explicit sessions with same value limit: exhaust first then second send uses second session (increment from non-increment calls only)
174
-  FAIL  test/session-manager.test.ts > SessionManager (Dev2) > increment built from non-increment calls only > prepareIncrement returns null when calls contain only an increment call (no non-increment calls)
175
-  FAIL  test/session-manager.test.ts > SessionManager (Dev2) > increment built from non-increment calls only > prepareIncrement([increment, nonIncrementCall]) produces same increment data as prepareIncrement([nonIncrementCall])
176
-  FAIL  test/session-manager.test.ts > SessionManager (Dev2) > increment built from non-increment calls only > payload with implicit and explicit: increment built only from explicit non-increment call
177
-  FAIL  test/session-manager.test.ts > SessionManager (Rc3) > should load from state
178
-  FAIL  test/session-manager.test.ts > SessionManager (Rc3) > should create and sign with an implicit session
179
-  FAIL  test/session-manager.test.ts > SessionManager (Rc3) > should create and sign with a multiple implicit sessions
180
-  FAIL  test/session-manager.test.ts > SessionManager (Rc3) > should fail to sign with a multiple implicit sessions with different identity signers
181
-  FAIL  test/session-manager.test.ts > SessionManager (Rc3) > should create and sign with an explicit session
182
-  FAIL  test/session-manager.test.ts > SessionManager (Rc3) > should create and sign with an explicit session with 0 chainId
183
-  FAIL  test/session-manager.test.ts > SessionManager (Rc3) > signs a payload using an implicit session
184
-  FAIL  test/session-manager.test.ts > SessionManager (Rc3) > signs a payload using an explicit session with allowAll and value limit
185
-  FAIL  test/session-manager.test.ts > SessionManager (Rc3) > signs using explicit session with onlyOnce, consumes usage and rejects second call
186
-  FAIL  test/session-manager.test.ts > SessionManager (Rc3) > signs an ERC20 approve using an explicit session
187
-  FAIL  test/session-manager.test.ts > SessionManager (Rc3) > signs a payload sending value using an explicit session
188
-  FAIL  test/session-manager.test.ts > SessionManager (Rc3) > signs a payload sending two transactions with cumulative rules using an explicit session
189
-  FAIL  test/session-manager.test.ts > SessionManager (Rc3) > using explicit session, sends value, then uses a non-incremental permission
190
-  FAIL  test/session-manager.test.ts > SessionManager (Rc3) > two explicit sessions with same value limit: exhaust first then second send uses second session (increment from non-increment calls only)
191
-  FAIL  test/session-manager.test.ts > SessionManager (Rc3) > increment built from non-increment calls only > prepareIncrement returns null when calls contain only an increment call (no non-increment calls)
192
-  FAIL  test/session-manager.test.ts > SessionManager (Rc3) > increment built from non-increment calls only > prepareIncrement([increment, nonIncrementCall]) produces same increment data as prepareIncrement([nonIncrementCall])
193
-  FAIL  test/session-manager.test.ts > SessionManager (Rc3) > increment built from non-increment calls only > payload with implicit and explicit: increment built only from explicit non-increment call
194
-  FAIL  test/session-manager.test.ts > SessionManager (Rc4) > should load from state
195
-  FAIL  test/session-manager.test.ts > SessionManager (Rc4) > should create and sign with an implicit session
196
-  FAIL  test/session-manager.test.ts > SessionManager (Rc4) > should create and sign with a multiple implicit sessions
197
-  FAIL  test/session-manager.test.ts > SessionManager (Rc4) > should fail to sign with a multiple implicit sessions with different identity signers
198
-  FAIL  test/session-manager.test.ts > SessionManager (Rc4) > should create and sign with an explicit session
199
-  FAIL  test/session-manager.test.ts > SessionManager (Rc4) > should create and sign with an explicit session with 0 chainId
200
-  FAIL  test/session-manager.test.ts > SessionManager (Rc4) > signs a payload using an implicit session
201
-  FAIL  test/session-manager.test.ts > SessionManager (Rc4) > signs a payload using an explicit session with allowAll and value limit
202
-  FAIL  test/session-manager.test.ts > SessionManager (Rc4) > signs using explicit session with onlyOnce, consumes usage and rejects second call
203
-  FAIL  test/session-manager.test.ts > SessionManager (Rc4) > signs an ERC20 approve using an explicit session
204
-  FAIL  test/session-manager.test.ts > SessionManager (Rc4) > signs a payload sending value using an explicit session
205
-  FAIL  test/session-manager.test.ts > SessionManager (Rc4) > signs a payload sending two transactions with cumulative rules using an explicit session
206
-  FAIL  test/session-manager.test.ts > SessionManager (Rc4) > using explicit session, sends value, then uses a non-incremental permission
207
-  FAIL  test/session-manager.test.ts > SessionManager (Rc4) > two explicit sessions with same value limit: exhaust first then second send uses second session (increment from non-increment calls only)
208
-  FAIL  test/session-manager.test.ts > SessionManager (Rc4) > increment built from non-increment calls only > prepareIncrement returns null when calls contain only an increment call (no non-increment calls)
209
-  FAIL  test/session-manager.test.ts > SessionManager (Rc4) > increment built from non-increment calls only > prepareIncrement([increment, nonIncrementCall]) produces same increment data as prepareIncrement([nonIncrementCall])
210
-  FAIL  test/session-manager.test.ts > SessionManager (Rc4) > increment built from non-increment calls only > payload with implicit and explicit: increment built only from explicit non-increment call
211
-  FAIL  test/session-manager.test.ts > SessionManager (Rc5) > should load from state
212
-  FAIL  test/session-manager.test.ts > SessionManager (Rc5) > should create and sign with an implicit session
213
-  FAIL  test/session-manager.test.ts > SessionManager (Rc5) > should create and sign with a multiple implicit sessions
214
-  FAIL  test/session-manager.test.ts > SessionManager (Rc5) > should fail to sign with a multiple implicit sessions with different identity signers
215
-  FAIL  test/session-manager.test.ts > SessionManager (Rc5) > should create and sign with an explicit session
216
-  FAIL  test/session-manager.test.ts > SessionManager (Rc5) > should create and sign with an explicit session with 0 chainId
217
-  FAIL  test/session-manager.test.ts > SessionManager (Rc5) > signs a payload using an implicit session
218
-  FAIL  test/session-manager.test.ts > SessionManager (Rc5) > signs a payload using an explicit session with allowAll and value limit
219
-  FAIL  test/session-manager.test.ts > SessionManager (Rc5) > signs using explicit session with onlyOnce, consumes usage and rejects second call
220
-  FAIL  test/session-manager.test.ts > SessionManager (Rc5) > signs an ERC20 approve using an explicit session
221
-  FAIL  test/session-manager.test.ts > SessionManager (Rc5) > signs a payload sending value using an explicit session
222
-  FAIL  test/session-manager.test.ts > SessionManager (Rc5) > signs a payload sending two transactions with cumulative rules using an explicit session
223
-  FAIL  test/session-manager.test.ts > SessionManager (Rc5) > using explicit session, sends value, then uses a non-incremental permission
224
-  FAIL  test/session-manager.test.ts > SessionManager (Rc5) > two explicit sessions with same value limit: exhaust first then second send uses second session (increment from non-increment calls only)
225
-  FAIL  test/session-manager.test.ts > SessionManager (Rc5) > increment built from non-increment calls only > prepareIncrement returns null when calls contain only an increment call (no non-increment calls)
226
-  FAIL  test/session-manager.test.ts > SessionManager (Rc5) > increment built from non-increment calls only > prepareIncrement([increment, nonIncrementCall]) produces same increment data as prepareIncrement([nonIncrementCall])
227
-  FAIL  test/session-manager.test.ts > SessionManager (Rc5) > increment built from non-increment calls only > payload with implicit and explicit: increment built only from explicit non-increment call
228
-  FAIL  test/wallet.test.ts > Wallet > deployed > should sign a message
229
-  FAIL  test/wallet.test.ts > Wallet > deployed > should sign a typed data message
230
-  FAIL  test/wallet.test.ts > Wallet > not-deployed > should sign a message
231
-  FAIL  test/wallet.test.ts > Wallet > not-deployed > should sign a typed data message
232
- RpcResponse.InternalError: fetch failed
233
-  ❯ ../../../node_modules/.pnpm/ox@0.9.17_typescript@5.9.3_zod@4.2.0/node_modules/ox/_esm/core/internal/promise.js:20:25
234
-
235
- Caused by: TypeError: fetch failed
236
-  ❯ ../../../node_modules/.pnpm/ox@0.9.17_typescript@5.9.3_zod@4.2.0/node_modules/ox/_esm/core/internal/promise.js:20:25
237
-
238
- {
239
- stack: 'AggregateError: \n' +
240
- ' at internalConnectMultiple (node:net:1134:18)\n' +
241
- ' at internalConnectMultiple (node:net:1210:5)\n' +
242
- ' at afterConnectMultiple (node:net:1715:7)',
243
- errors: [
244
- {
245
- stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n' +
246
- ' at createConnectionError (node:net:1678:14)\n' +
247
- ' at afterConnectMultiple (node:net:1708:16)',
248
- message: 'connect ECONNREFUSED 127.0.0.1:8545',
249
- errno: -111,
250
- code: 'ECONNREFUSED',
251
- syscall: 'connect',
252
- address: '127.0.0.1',
253
- port: 8545,
254
- constructor: 'Function<Error>',
255
- name: 'Error',
256
- toString: 'Function<toString>'
257
- },
258
- {
259
- stack: 'Error: connect ENETUNREACH ::1:8545 - Local (:::0)\n' +
260
- ' at internalConnectMultiple (node:net:1206:16)\n' +
261
- ' at afterConnectMultiple (node:net:1715:7)',
262
- message: 'connect ENETUNREACH ::1:8545 - Local (:::0)',
263
- errno: -101,
264
- code: 'ENETUNREACH',
265
- syscall: 'connect',
266
- address: '::1',
267
- port: 8545,
268
- constructor: 'Function<Error>',
269
- name: 'Error',
270
- toString: 'Function<toString>'
271
- }
272
- ],
273
- code: 'ECONNREFUSED',
274
- constructor: 'Function<AggregateError>',
275
- name: 'Caused by: AggregateError',
276
- message: '',
277
- toString: 'Function<toString>',
278
- stacks: []
279
- }
280
- ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
281
- Serialized Error: { errors: [ { stack: 'Error: connect ECONNREFUSED 127.0.0.1:8545\n at createConnectionError (node:net:1678:14)\n at afterConnectMultiple (node:net:1708:16)', message: 'connect ECONNREFUSED 127.0.0.1:8545', errno: -111, code: 'ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 8545, constructor: 'Function<Error>', name: 'Error', toString: 'Function<toString>' }, { stack: 'Error: connect ENETUNREACH ::1:8545 - Local (:::0)\n at internalConnectMultiple (node:net:1206:16)\n at afterConnectMultiple (node:net:1715:7)', message: 'connect ENETUNREACH ::1:8545 - Local (:::0)', errno: -101, code: 'ENETUNREACH', syscall: 'connect', address: '::1', port: 8545, constructor: 'Function<Error>', name: 'Error', toString: 'Function<toString>' } ], code: 'ECONNREFUSED' }
282
- ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/89]⎯
283
-
284
-
285
-  Test Files  2 failed | 14 passed (16)
286
-  Tests  89 failed | 293 passed (382)
287
-  Start at  12:35:18
288
-  Duration  1.36s (transform 3.62s, setup 0ms, import 12.03s, tests 651ms, environment 2ms)
289
-
290
-  ELIFECYCLE  Test failed. See above for more details.