@0xsequence/guard 3.0.0-beta.9 → 3.0.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.
@@ -1,5 +1,5 @@
1
1
 
2
- 
3
- > @0xsequence/guard@3.0.0-beta.9 build /Users/taylan/Development/Horizon/sequence.js/packages/services/guard
2
+
3
+ > @0xsequence/guard@3.0.0 build /home/taylan/development/sequence/sequence.js/packages/services/guard
4
4
  > tsc
5
5
 
@@ -0,0 +1,4 @@
1
+
2
+ > @0xsequence/guard@3.0.0 lint /home/taylan/development/sequence/sequence.js/packages/services/guard
3
+ > eslint . --max-warnings 0
4
+
@@ -0,0 +1,76 @@
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) 117ms
71
+
72
+  Test Files  1 passed (1)
73
+  Tests  8 passed (8)
74
+  Start at  14:58:15
75
+  Duration  355ms (transform 56ms, setup 0ms, import 158ms, tests 117ms, environment 0ms)
76
+
@@ -0,0 +1,4 @@
1
+
2
+ > @0xsequence/guard@3.0.0 typecheck /home/taylan/development/sequence/sequence.js/packages/services/guard
3
+ > tsc --noEmit
4
+
package/CHANGELOG.md CHANGED
@@ -1,5 +1,90 @@
1
1
  # @0xsequence/guard
2
2
 
3
+ ## 3.0.0
4
+
5
+ ### Patch Changes
6
+
7
+ - f68be62: ethauth support
8
+ - 49d8a2f: New chains, minor fixes
9
+ - 3411232: Beta release with dapp connector fixes
10
+ - 23cb9e9: New chains, relayer rpc fix
11
+ - f5f6a7a: dapp-client updates
12
+ - e7de3b1: Fix signer 404 error, minor fixes
13
+ - 493836f: multicall3 optimization
14
+ - 30e1f1a: 3.0.0 beta
15
+ - d5017e8: Beta release for v3
16
+ - 24a5fab: Final RC before 3.0.0
17
+ - e5e1a03: Apple auth fixes
18
+ - 0b63113: Apple auth fix
19
+ - a89134a: Userdata service updates
20
+ - 7c6c811: 3.0.0-beta.3 with fixes
21
+ - 3.0.0 release
22
+ - 98ce38b: 3.0.0-beta.2 with identity instrument updates
23
+ - 747e6b5: Relayer fee options fix
24
+ - 40c19ff: dapp client updates for EOA login
25
+ - 6d5de25: 3.0.0-beta.1
26
+ - 934acd1: RC5 upgrade
27
+
28
+ ## 3.0.0-beta.19
29
+
30
+ ### Patch Changes
31
+
32
+ - Final RC before 3.0.0
33
+
34
+ ## 3.0.0-beta.18
35
+
36
+ ### Patch Changes
37
+
38
+ - multicall3 optimization
39
+
40
+ ## 3.0.0-beta.17
41
+
42
+ ### Patch Changes
43
+
44
+ - New chains, relayer rpc fix
45
+
46
+ ## 3.0.0-beta.16
47
+
48
+ ### Patch Changes
49
+
50
+ - ethauth support
51
+
52
+ ## 3.0.0-beta.15
53
+
54
+ ### Patch Changes
55
+
56
+ - New chains, minor fixes
57
+
58
+ ## 3.0.0-beta.14
59
+
60
+ ### Patch Changes
61
+
62
+ - Relayer fee options fix
63
+
64
+ ## 3.0.0-beta.13
65
+
66
+ ### Patch Changes
67
+
68
+ - Userdata service updates
69
+
70
+ ## 3.0.0-beta.12
71
+
72
+ ### Patch Changes
73
+
74
+ - Beta release with dapp connector fixes
75
+
76
+ ## 3.0.0-beta.11
77
+
78
+ ### Patch Changes
79
+
80
+ - 3.0.0 beta
81
+
82
+ ## 3.0.0-beta.10
83
+
84
+ ### Patch Changes
85
+
86
+ - dapp-client updates
87
+
3
88
  ## 3.0.0-beta.9
4
89
 
5
90
  ### Patch Changes
package/dist/local.d.ts CHANGED
@@ -5,7 +5,7 @@ export declare class Guard implements Types.Guard {
5
5
  private readonly privateKey;
6
6
  readonly address: Address.Address;
7
7
  constructor(privateKey: Hex.Hex);
8
- signPayload(wallet: Address.Address, chainId: number, type: Client.PayloadType, digest: Bytes.Bytes, message: Bytes.Bytes, signatures?: Client.Signature[]): Promise<{
8
+ signPayload(_wallet: Address.Address, _chainId: number, _type: Client.PayloadType, digest: Bytes.Bytes, _message: Bytes.Bytes, _signatures?: Client.Signature[], _token?: Client.AuthToken): Promise<{
9
9
  r: bigint;
10
10
  s: bigint;
11
11
  yParity: number;
@@ -1 +1 @@
1
- {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../src/local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAmB,MAAM,IAAI,CAAA;AACzD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,qBAAa,KAAM,YAAW,KAAK,CAAC,KAAK;IAG3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,SAAgB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;gBAEX,UAAU,EAAE,GAAG,CAAC,GAAG;IAK1C,WAAW,CACf,MAAM,EAAE,OAAO,CAAC,OAAO,EACvB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,CAAC,WAAW,EACxB,MAAM,EAAE,KAAK,CAAC,KAAK,EACnB,OAAO,EAAE,KAAK,CAAC,KAAK,EACpB,UAAU,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE;;;;;CAIlC"}
1
+ {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../src/local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAa,MAAM,IAAI,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,qBAAa,KAAM,YAAW,KAAK,CAAC,KAAK;IAG3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,SAAgB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;gBAEX,UAAU,EAAE,GAAG,CAAC,GAAG;IAK1C,WAAW,CACf,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,WAAW,EACzB,MAAM,EAAE,KAAK,CAAC,KAAK,EACnB,QAAQ,EAAE,KAAK,CAAC,KAAK,EACrB,WAAW,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,EAChC,MAAM,CAAC,EAAE,MAAM,CAAC,SAAS;;;;;CAI5B"}
package/dist/local.js CHANGED
@@ -7,7 +7,7 @@ export class Guard {
7
7
  const publicKey = Secp256k1.getPublicKey({ privateKey: this.privateKey });
8
8
  this.address = Address.fromPublicKey(publicKey);
9
9
  }
10
- async signPayload(wallet, chainId, type, digest, message, signatures) {
10
+ async signPayload(_wallet, _chainId, _type, digest, _message, _signatures, _token) {
11
11
  return Secp256k1.sign({ privateKey: this.privateKey, payload: digest });
12
12
  }
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sequence.d.ts","sourceRoot":"","sources":["../src/sequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,KAAK,EAAQ,MAAM,IAAI,CAAA;AACzD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,qBAAa,KAAM,YAAW,KAAK,CAAC,KAAK;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAc;IACrC,SAAgB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;gBAE5B,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK;IAOtE,WAAW,CACf,MAAM,EAAE,OAAO,CAAC,OAAO,EACvB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,CAAC,WAAW,EACxB,MAAM,EAAE,KAAK,CAAC,KAAK,EACnB,OAAO,EAAE,KAAK,CAAC,KAAK,EACpB,UAAU,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,EAC/B,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS;;;;;CAiC3B"}
1
+ {"version":3,"file":"sequence.d.ts","sourceRoot":"","sources":["../src/sequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,KAAK,EAAE,MAAM,IAAI,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,qBAAa,KAAM,YAAW,KAAK,CAAC,KAAK;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAc;IACrC,SAAgB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;gBAE5B,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK;IAOtE,WAAW,CACf,MAAM,EAAE,OAAO,CAAC,OAAO,EACvB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,CAAC,WAAW,EACxB,MAAM,EAAE,KAAK,CAAC,KAAK,EACnB,OAAO,EAAE,KAAK,CAAC,KAAK,EACpB,UAAU,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,EAC/B,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS;;;;;CAiC3B"}
@@ -0,0 +1,4 @@
1
+ import { config as baseConfig } from "@repo/eslint-config/base"
2
+
3
+ /** @type {import("eslint").Linter.Config} */
4
+ export default baseConfig
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@0xsequence/guard",
3
- "version": "3.0.0-beta.9",
3
+ "version": "3.0.0",
4
4
  "description": "guard sub-package for Sequence",
5
5
  "repository": "https://github.com/0xsequence/sequence.js/tree/master/packages/services/guard",
6
- "author": "Sequence Platforms Inc.",
6
+ "author": "Sequence Platforms ULC",
7
7
  "license": "Apache-2.0",
8
8
  "type": "module",
9
9
  "publishConfig": {
@@ -17,10 +17,11 @@
17
17
  }
18
18
  },
19
19
  "devDependencies": {
20
- "@types/node": "^25.0.2",
20
+ "@types/node": "^25.3.0",
21
21
  "typescript": "^5.9.3",
22
- "vitest": "^4.0.15",
23
- "@repo/typescript-config": "^0.0.1-beta.1"
22
+ "vitest": "^4.0.18",
23
+ "@repo/eslint-config": "^0.0.1",
24
+ "@repo/typescript-config": "^0.0.1"
24
25
  },
25
26
  "dependencies": {
26
27
  "ox": "^0.9.17"
@@ -30,6 +31,7 @@
30
31
  "dev": "tsc --watch",
31
32
  "test": "vitest run",
32
33
  "test:coverage": "vitest run --coverage",
33
- "typecheck": "tsc --noEmit"
34
+ "typecheck": "tsc --noEmit",
35
+ "lint": "eslint . --max-warnings 0"
34
36
  }
35
37
  }
package/src/local.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Address, Hex, Bytes, Secp256k1, Hash } from 'ox'
1
+ import { Address, Hex, Bytes, Secp256k1 } from 'ox'
2
2
  import * as Client from './client/guard.gen.js'
3
3
  import * as Types from './types.js'
4
4
 
@@ -11,12 +11,13 @@ export class Guard implements Types.Guard {
11
11
  }
12
12
 
13
13
  async signPayload(
14
- wallet: Address.Address,
15
- chainId: number,
16
- type: Client.PayloadType,
14
+ _wallet: Address.Address,
15
+ _chainId: number,
16
+ _type: Client.PayloadType,
17
17
  digest: Bytes.Bytes,
18
- message: Bytes.Bytes,
19
- signatures?: Client.Signature[],
18
+ _message: Bytes.Bytes,
19
+ _signatures?: Client.Signature[],
20
+ _token?: Client.AuthToken,
20
21
  ) {
21
22
  return Secp256k1.sign({ privateKey: this.privateKey, payload: digest })
22
23
  }
package/src/sequence.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Address, Hex, Signature, Bytes, Hash } from 'ox'
1
+ import { Address, Hex, Signature, Bytes } from 'ox'
2
2
  import * as Client from './client/guard.gen.js'
3
3
  import * as Types from './types.js'
4
4
 
@@ -1,11 +1,11 @@
1
1
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
2
- import { Guard } from '../src/sequence'
3
- import { PayloadType } from '../src/client/guard.gen'
2
+ import { Guard } from '../src/sequence.js'
3
+ import { PayloadType } from '../src/client/guard.gen.js'
4
4
  import { Address, Bytes, Hex } from 'ox'
5
5
 
6
6
  // Mock fetch globally for guard API calls
7
7
  const mockFetch = vi.fn()
8
- global.fetch = mockFetch
8
+ globalThis.fetch = mockFetch
9
9
 
10
10
  describe('Sequence', () => {
11
11
  describe('GuardSigner', () => {
@@ -86,7 +86,7 @@ describe('Sequence', () => {
86
86
  ok: true,
87
87
  })
88
88
 
89
- await guard.signPayload(testWallet, 1, PayloadType.ConfigUpdate, testMessageDigest, testMessage)
89
+ await guard.signPayload(testWallet, customChainId, PayloadType.ConfigUpdate, testMessageDigest, testMessage)
90
90
 
91
91
  const requestBody = JSON.parse(mockFetch.mock.calls[0][1].body)
92
92
  expect(requestBody.request.chainId).toBe(1)