@0xsequence/guard 3.0.1 → 3.0.3

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/guard@3.0.1 build /home/taylan/development/sequence/sequence.js/packages/services/guard
3
+ > @0xsequence/guard@3.0.3 build /home/taylan/development/sequence/sequence.js/packages/services/guard
4
4
  > tsc
5
5
 
@@ -1,4 +1,4 @@
1
1
 
2
- > @0xsequence/guard@3.0.1 lint /home/taylan/development/sequence/sequence.js/packages/services/guard
2
+ > @0xsequence/guard@3.0.3 lint /home/taylan/development/sequence/sequence.js/packages/services/guard
3
3
  > eslint . --max-warnings 0
4
4
 
@@ -1,4 +1,4 @@
1
1
 
2
- > @0xsequence/guard@3.0.1 typecheck /home/taylan/development/sequence/sequence.js/packages/services/guard
2
+ > @0xsequence/guard@3.0.3 typecheck /home/taylan/development/sequence/sequence.js/packages/services/guard
3
3
  > tsc --noEmit
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @0xsequence/guard
2
2
 
3
+ ## 3.0.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 3.0.3
8
+
9
+ ## 3.0.2
10
+
11
+ ### Patch Changes
12
+
13
+ - allow native self transfer
14
+
3
15
  ## 3.0.1
4
16
 
5
17
  ### Patch Changes
package/dist/sequence.js CHANGED
@@ -38,7 +38,7 @@ export class Guard {
38
38
  throw new Types.AuthRequiredError('PIN');
39
39
  }
40
40
  console.error(error);
41
- throw new Error('Error signing with guard');
41
+ throw new Error('Error signing with guard', { cause: error });
42
42
  }
43
43
  }
44
44
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xsequence/guard",
3
- "version": "3.0.1",
3
+ "version": "3.0.3",
4
4
  "description": "guard sub-package for Sequence",
5
5
  "repository": "https://github.com/0xsequence/sequence.js/tree/master/packages/services/guard",
6
6
  "author": "Sequence Platforms ULC",
package/src/sequence.ts CHANGED
@@ -50,7 +50,7 @@ export class Guard implements Types.Guard {
50
50
  throw new Types.AuthRequiredError('PIN')
51
51
  }
52
52
  console.error(error)
53
- throw new Error('Error signing with guard')
53
+ throw new Error('Error signing with guard', { cause: error })
54
54
  }
55
55
  }
56
56
  }
@@ -116,6 +116,21 @@ describe('Sequence', () => {
116
116
  ).rejects.toThrow('Error signing with guard')
117
117
  })
118
118
 
119
+ it('Should preserve the original guard failure as cause', async () => {
120
+ mockFetch.mockRejectedValueOnce(new Error('Network error'))
121
+
122
+ try {
123
+ await guard.signPayload(testWallet, 42161, PayloadType.ConfigUpdate, testMessageDigest, testMessage)
124
+ throw new Error('Expected signPayload to throw')
125
+ } catch (error) {
126
+ expect(error).toBeInstanceOf(Error)
127
+ expect((error as Error).message).toBe('Error signing with guard')
128
+ expect((error as Error & { cause?: unknown }).cause).toBeInstanceOf(Error)
129
+ expect((error as Error & { cause?: Error }).cause?.name).toBe('WebrpcRequestFailed')
130
+ expect((error as Error & { cause?: Error }).cause?.message).toBe('request failed')
131
+ }
132
+ })
133
+
119
134
  it('Should include proper headers and signer address in request', async () => {
120
135
  const mockGuardAddress = '0x9876543210987654321098765432109876543210' as Address.Address
121
136
  const customGuard = new Guard('https://guard.sequence.app', mockGuardAddress, fetch)
@@ -1,76 +0,0 @@
1
-
2
- > @0xsequence/guard@3.0.0 test /home/taylan/development/sequence/sequence.js/packages/services/guard
3
- > vitest run
4
-
5
-
6
-  RUN  v4.0.18 /home/taylan/development/sequence/sequence.js/packages/services/guard
7
-
8
- stderr | test/sequence.test.ts > Sequence > GuardSigner > sign() > Should throw error when guard service fails
9
- WebrpcRequestFailed: request failed
10
- at WebrpcRequestFailedError.new (/home/taylan/development/sequence/sequence.js/packages/services/guard/src/client/guard.gen.ts:655:12)
11
- at /home/taylan/development/sequence/sequence.js/packages/services/guard/src/client/guard.gen.ts:441:40
12
-  at processTicksAndRejections (node:internal/process/task_queues:103:5)
13
- at Guard.signPayload (/home/taylan/development/sequence/sequence.js/packages/services/guard/src/sequence.ts:30:19) {
14
- code: -1,
15
- status: 0,
16
- cause: 'fetch(): Network error',
17
- msg: 'request failed'
18
- }
19
-
20
- stderr | test/sequence.test.ts > Sequence > GuardSigner > sign() > Should throw error when guard service returns invalid response
21
- Error: Invalid JSON
22
- at Object.text (/home/taylan/development/sequence/sequence.js/packages/services/guard/test/sequence.test.ts:109:19)
23
- at buildResponse (/home/taylan/development/sequence/sequence.js/packages/services/guard/src/client/guard.gen.ts:607:14)
24
- at fetch.then.WebrpcRequestFailedError.new.cause (/home/taylan/development/sequence/sequence.js/packages/services/guard/src/client/guard.gen.ts:434:16)
25
-  at processTicksAndRejections (node:internal/process/task_queues:103:5)
26
- at Guard.signPayload (/home/taylan/development/sequence/sequence.js/packages/services/guard/src/sequence.ts:30:19)
27
-
28
- stderr | test/sequence.test.ts > Sequence > GuardSigner > sign() > Error Handling > Should handle malformed guard service response
29
- InvalidHexTypeError [Hex.InvalidHexTypeError]: Value `undefined` of type `undefined` is an invalid hex type.
30
-
31
- Hex types must be represented as `"0x${string}"`.
32
- at Module.assert (file:///home/taylan/development/sequence/sequence.js/node_modules/.pnpm/ox@0.9.17_typescript@5.9.3_zod@4.2.0/node_modules/ox/_esm/core/Hex.js:28:15)
33
- at Guard.signPayload (/home/taylan/development/sequence/sequence.js/packages/services/guard/src/sequence.ts:43:11)
34
-  at processTicksAndRejections (node:internal/process/task_queues:103:5)
35
- at /home/taylan/development/sequence/sequence.js/packages/services/guard/test/sequence.test.ts:154:11
36
- at file:///home/taylan/development/sequence/sequence.js/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:915:20 {
37
- details: undefined,
38
- docs: 'https://oxlib.sh',
39
- docsOrigin: 'https://oxlib.sh',
40
- docsPath: undefined,
41
- shortMessage: 'Value `undefined` of type `undefined` is an invalid hex type.',
42
- showVersion: false,
43
- version: 'ox@0.1.1',
44
- cause: undefined
45
- }
46
-
47
- stderr | test/sequence.test.ts > Sequence > GuardSigner > sign() > Error Handling > Should handle network timeout errors
48
- WebrpcRequestFailed: request failed
49
- at WebrpcRequestFailedError.new (/home/taylan/development/sequence/sequence.js/packages/services/guard/src/client/guard.gen.ts:655:12)
50
- at /home/taylan/development/sequence/sequence.js/packages/services/guard/src/client/guard.gen.ts:441:40
51
- at Guard.signPayload (/home/taylan/development/sequence/sequence.js/packages/services/guard/src/sequence.ts:30:19)
52
- at /home/taylan/development/sequence/sequence.js/packages/services/guard/test/sequence.test.ts:164:11
53
- at file:///home/taylan/development/sequence/sequence.js/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:915:20 {
54
- code: -1,
55
- status: 0,
56
- cause: 'fetch(): Timeout',
57
- msg: 'request failed'
58
- }
59
-
60
- stderr | test/sequence.test.ts > Sequence > GuardSigner > sign() > Error Handling > Should handle HTTP error responses
61
- Internal server error: endpoint error
62
- at WebrpcEndpointError.new (/home/taylan/development/sequence/sequence.js/packages/services/guard/src/client/guard.gen.ts:655:12)
63
- at /home/taylan/development/sequence/sequence.js/packages/services/guard/src/client/guard.gen.ts:623:54 {
64
- code: 0,
65
- status: 0,
66
- cause: undefined,
67
- msg: 'endpoint error'
68
- }
69
-
70
- ✓ test/sequence.test.ts (8 tests) 109ms
71
-
72
-  Test Files  1 passed (1)
73
-  Tests  8 passed (8)
74
-  Start at  12:35:17
75
-  Duration  375ms (transform 58ms, setup 0ms, import 181ms, tests 109ms, environment 0ms)
76
-