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.
- package/README.md +13 -0
- package/dist/ble/framing.d.ts.map +1 -1
- package/dist/ble/framing.js +2 -2
- package/dist/ble/framing.js.map +1 -1
- package/dist/ble/index.d.ts +2 -2
- package/dist/ble/index.d.ts.map +1 -1
- package/dist/ble/index.js +2 -2
- package/dist/ble/index.js.map +1 -1
- package/dist/ble/web-ble-transport.d.ts +1 -1
- package/dist/ble/web-ble-transport.d.ts.map +1 -1
- package/dist/ble/web-ble-transport.js +23 -12
- package/dist/ble/web-ble-transport.js.map +1 -1
- package/dist/crypto.d.ts.map +1 -1
- package/dist/crypto.js +29 -12
- package/dist/crypto.js.map +1 -1
- package/dist/dapp-session.d.ts.map +1 -1
- package/dist/dapp-session.js +15 -5
- package/dist/dapp-session.js.map +1 -1
- package/dist/emitter.d.ts +1 -3
- package/dist/emitter.d.ts.map +1 -1
- package/dist/emitter.js +4 -2
- package/dist/emitter.js.map +1 -1
- package/dist/evm/eip1193.d.ts +2 -2
- package/dist/evm/eip1193.d.ts.map +1 -1
- package/dist/evm/eip1193.js +32 -18
- package/dist/evm/eip1193.js.map +1 -1
- package/dist/evm/index.d.ts +2 -2
- package/dist/evm/index.d.ts.map +1 -1
- package/dist/evm/index.js.map +1 -1
- package/dist/wallet-session.d.ts.map +1 -1
- package/dist/wallet-session.js +4 -3
- package/dist/wallet-session.js.map +1 -1
- package/dist/ws-transport.d.ts +1 -1
- package/dist/ws-transport.d.ts.map +1 -1
- package/dist/ws-transport.js +12 -4
- package/dist/ws-transport.js.map +1 -1
- package/package.json +20 -1
- package/src/__tests__/adversarial/crypto-attacks.test.ts +240 -233
- package/src/__tests__/adversarial/malicious-dapp.test.ts +228 -194
- package/src/__tests__/adversarial/malicious-relay.test.ts +292 -220
- package/src/__tests__/adversarial/malicious-wallet.test.ts +246 -180
- package/src/__tests__/spec-compliance/canonical-json.test.ts +105 -105
- package/src/__tests__/spec-compliance/crypto-vectors.test.ts +149 -154
- package/src/__tests__/spec-compliance/message-format.test.ts +180 -151
- package/src/__tests__/spec-compliance/sequence-numbers.test.ts +142 -149
- package/src/__tests__/spec-compliance/state-machine.test.ts +203 -180
- package/src/ble/framing.test.ts +122 -114
- package/src/ble/framing.ts +48 -51
- package/src/ble/index.ts +7 -7
- package/src/ble/web-ble-transport.test.ts +93 -84
- package/src/ble/web-ble-transport.ts +70 -57
- package/src/ble/web-bluetooth.d.ts +19 -19
- package/src/canonical-json.test.ts +301 -285
- package/src/crypto-directional.test.ts +155 -129
- package/src/crypto-hardening.test.ts +292 -283
- package/src/crypto.test.ts +364 -346
- package/src/crypto.ts +185 -175
- package/src/dapp-session.test.ts +522 -385
- package/src/dapp-session.ts +17 -11
- package/src/emitter.test.ts +122 -122
- package/src/emitter.ts +20 -18
- package/src/evm/eip1193.test.ts +283 -205
- package/src/evm/eip1193.ts +162 -138
- package/src/evm/index.ts +5 -5
- package/src/evm/wagmi.test.ts +1 -1
- package/src/integration.test.ts +329 -201
- package/src/security.test.ts +331 -238
- package/src/sequence-validation.test.ts +6 -9
- package/src/test-helpers.ts +102 -78
- package/src/types.test.ts +45 -50
- package/src/wallet-session.test.ts +611 -383
- package/src/wallet-session.ts +7 -9
- package/src/ws-transport.test.ts +141 -139
- package/src/ws-transport.ts +51 -41
package/dist/ws-transport.d.ts
CHANGED
|
@@ -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
|
|
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,
|
|
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"}
|
package/dist/ws-transport.js
CHANGED
|
@@ -22,9 +22,15 @@ export class WebSocketTransport {
|
|
|
22
22
|
this.protocols = options.protocols ?? ['walletpair.v1'];
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
onMessage(handler) {
|
|
26
|
-
|
|
27
|
-
|
|
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 {
|
|
53
|
+
catch {
|
|
54
|
+
/* bad json */
|
|
55
|
+
}
|
|
48
56
|
}
|
|
49
57
|
};
|
|
50
58
|
ws.onclose = () => {
|
package/dist/ws-transport.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-transport.js","sourceRoot":"","sources":["../src/ws-transport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,MAAM,OAAO,kBAAkB;IAC7B,KAAK,GAAmB,cAAc,
|
|
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.
|
|
23
|
+
"version": "1.0.5",
|
|
5
24
|
"main": "./dist/index.js",
|
|
6
25
|
"license": "MIT",
|
|
7
26
|
"files": [
|