walletpair-sdk 1.0.3 → 1.0.5

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 (74) hide show
  1. package/README.md +13 -0
  2. package/dist/ble/framing.d.ts.map +1 -1
  3. package/dist/ble/framing.js +2 -2
  4. package/dist/ble/framing.js.map +1 -1
  5. package/dist/ble/index.d.ts +2 -2
  6. package/dist/ble/index.d.ts.map +1 -1
  7. package/dist/ble/index.js +2 -2
  8. package/dist/ble/index.js.map +1 -1
  9. package/dist/ble/web-ble-transport.d.ts +1 -1
  10. package/dist/ble/web-ble-transport.d.ts.map +1 -1
  11. package/dist/ble/web-ble-transport.js +23 -12
  12. package/dist/ble/web-ble-transport.js.map +1 -1
  13. package/dist/crypto.d.ts.map +1 -1
  14. package/dist/crypto.js +29 -12
  15. package/dist/crypto.js.map +1 -1
  16. package/dist/dapp-session.d.ts.map +1 -1
  17. package/dist/dapp-session.js +15 -5
  18. package/dist/dapp-session.js.map +1 -1
  19. package/dist/emitter.d.ts +1 -3
  20. package/dist/emitter.d.ts.map +1 -1
  21. package/dist/emitter.js +4 -2
  22. package/dist/emitter.js.map +1 -1
  23. package/dist/evm/eip1193.d.ts +2 -2
  24. package/dist/evm/eip1193.d.ts.map +1 -1
  25. package/dist/evm/eip1193.js +32 -18
  26. package/dist/evm/eip1193.js.map +1 -1
  27. package/dist/evm/index.d.ts +2 -2
  28. package/dist/evm/index.d.ts.map +1 -1
  29. package/dist/evm/index.js.map +1 -1
  30. package/dist/wallet-session.d.ts.map +1 -1
  31. package/dist/wallet-session.js +4 -3
  32. package/dist/wallet-session.js.map +1 -1
  33. package/dist/ws-transport.d.ts +1 -1
  34. package/dist/ws-transport.d.ts.map +1 -1
  35. package/dist/ws-transport.js +12 -4
  36. package/dist/ws-transport.js.map +1 -1
  37. package/package.json +20 -1
  38. package/src/__tests__/adversarial/crypto-attacks.test.ts +240 -233
  39. package/src/__tests__/adversarial/malicious-dapp.test.ts +228 -194
  40. package/src/__tests__/adversarial/malicious-relay.test.ts +292 -220
  41. package/src/__tests__/adversarial/malicious-wallet.test.ts +246 -180
  42. package/src/__tests__/spec-compliance/canonical-json.test.ts +105 -105
  43. package/src/__tests__/spec-compliance/crypto-vectors.test.ts +149 -154
  44. package/src/__tests__/spec-compliance/message-format.test.ts +180 -151
  45. package/src/__tests__/spec-compliance/sequence-numbers.test.ts +142 -149
  46. package/src/__tests__/spec-compliance/state-machine.test.ts +203 -180
  47. package/src/ble/framing.test.ts +122 -114
  48. package/src/ble/framing.ts +48 -51
  49. package/src/ble/index.ts +7 -7
  50. package/src/ble/web-ble-transport.test.ts +93 -84
  51. package/src/ble/web-ble-transport.ts +70 -57
  52. package/src/ble/web-bluetooth.d.ts +19 -19
  53. package/src/canonical-json.test.ts +301 -285
  54. package/src/crypto-directional.test.ts +155 -129
  55. package/src/crypto-hardening.test.ts +292 -283
  56. package/src/crypto.test.ts +364 -346
  57. package/src/crypto.ts +185 -175
  58. package/src/dapp-session.test.ts +522 -385
  59. package/src/dapp-session.ts +17 -11
  60. package/src/emitter.test.ts +122 -122
  61. package/src/emitter.ts +20 -18
  62. package/src/evm/eip1193.test.ts +283 -205
  63. package/src/evm/eip1193.ts +162 -138
  64. package/src/evm/index.ts +5 -5
  65. package/src/evm/wagmi.test.ts +1 -1
  66. package/src/integration.test.ts +329 -201
  67. package/src/security.test.ts +331 -238
  68. package/src/sequence-validation.test.ts +6 -9
  69. package/src/test-helpers.ts +102 -78
  70. package/src/types.test.ts +45 -50
  71. package/src/wallet-session.test.ts +611 -383
  72. package/src/wallet-session.ts +7 -9
  73. package/src/ws-transport.test.ts +141 -139
  74. package/src/ws-transport.ts +51 -41
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Works in browsers, Node.js 22+, Deno, Bun — anything with a global WebSocket.
5
5
  */
6
- import type { Transport, TransportState, ProtocolMessage } from './types.js';
6
+ import type { ProtocolMessage, Transport, TransportState } from './types.js';
7
7
  export interface WebSocketTransportOptions {
8
8
  url: string;
9
9
  protocols?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"ws-transport.d.ts","sourceRoot":"","sources":["../src/ws-transport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7E,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,qBAAa,kBAAmB,YAAW,SAAS;IAClD,KAAK,EAAE,cAAc,CAAkB;IAEvC,OAAO,CAAC,EAAE,CAA0B;IACpC,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,SAAS,CAAW;IAE5B,OAAO,CAAC,cAAc,CAAiD;IACvE,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,WAAW,CAA6B;gBAEpC,OAAO,EAAE,yBAAyB,GAAG,MAAM;IAUvD,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI;IACxD,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAClC,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAEjC,wEAAwE;IACxE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCxB,IAAI,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IAKhC,UAAU,IAAI,IAAI;CAQnB"}
1
+ {"version":3,"file":"ws-transport.d.ts","sourceRoot":"","sources":["../src/ws-transport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE5E,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,qBAAa,kBAAmB,YAAW,SAAS;IAClD,KAAK,EAAE,cAAc,CAAiB;IAEtC,OAAO,CAAC,EAAE,CAAyB;IACnC,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,SAAS,CAAU;IAE3B,OAAO,CAAC,cAAc,CAAgD;IACtE,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,WAAW,CAA4B;gBAEnC,OAAO,EAAE,yBAAyB,GAAG,MAAM;IAUvD,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI;IAGxD,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAGlC,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAIjC,wEAAwE;IACxE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAuCxB,IAAI,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IAKhC,UAAU,IAAI,IAAI;CAQnB"}
@@ -22,9 +22,15 @@ export class WebSocketTransport {
22
22
  this.protocols = options.protocols ?? ['walletpair.v1'];
23
23
  }
24
24
  }
25
- onMessage(handler) { this.messageHandler = handler; }
26
- onClose(handler) { this.closeHandler = handler; }
27
- onOpen(handler) { this.openHandler = handler; }
25
+ onMessage(handler) {
26
+ this.messageHandler = handler;
27
+ }
28
+ onClose(handler) {
29
+ this.closeHandler = handler;
30
+ }
31
+ onOpen(handler) {
32
+ this.openHandler = handler;
33
+ }
28
34
  /** Update the relay URL (useful for reconnect to a different relay). */
29
35
  setUrl(url) {
30
36
  this.url = url;
@@ -44,7 +50,9 @@ export class WebSocketTransport {
44
50
  try {
45
51
  this.messageHandler(JSON.parse(event.data));
46
52
  }
47
- catch { /* bad json */ }
53
+ catch {
54
+ /* bad json */
55
+ }
48
56
  }
49
57
  };
50
58
  ws.onclose = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"ws-transport.js","sourceRoot":"","sources":["../src/ws-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws-transport.js","sourceRoot":"","sources":["../src/ws-transport.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,26 @@
1
1
  {
2
+ "scripts": {
3
+ "build": "zile",
4
+ "changeset:publish": "zile publish:prepare && changeset publish && zile publish:post",
5
+ "changeset:version": "changeset version",
6
+ "check": "biome check --fix --unsafe",
7
+ "check:types": "tsc",
8
+ "dev": "zile dev",
9
+ "test": "vitest"
10
+ },
11
+ "devDependencies": {
12
+ "@biomejs/biome": "latest",
13
+ "@changesets/cli": "latest",
14
+ "@types/node": "latest",
15
+ "typescript": "latest",
16
+ "vitest": "latest",
17
+ "zile": "latest"
18
+ },
19
+ "packageManager": "npm@11.14.1",
20
+ "[!start-pkg]": "",
2
21
  "name": "walletpair-sdk",
3
22
  "type": "module",
4
- "version": "1.0.3",
23
+ "version": "1.0.5",
5
24
  "main": "./dist/index.js",
6
25
  "license": "MIT",
7
26
  "files": [