@winbit32/wallet-kit 0.1.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.
Files changed (63) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +117 -0
  3. package/dist/cosign/bytes.d.ts +10 -0
  4. package/dist/cosign/bytes.d.ts.map +1 -0
  5. package/dist/cosign/bytes.js +37 -0
  6. package/dist/cosign/bytes.js.map +1 -0
  7. package/dist/cosign/config.d.ts +58 -0
  8. package/dist/cosign/config.d.ts.map +1 -0
  9. package/dist/cosign/config.js +54 -0
  10. package/dist/cosign/config.js.map +1 -0
  11. package/dist/cosign/cosignSend.d.ts +104 -0
  12. package/dist/cosign/cosignSend.d.ts.map +1 -0
  13. package/dist/cosign/cosignSend.js +157 -0
  14. package/dist/cosign/cosignSend.js.map +1 -0
  15. package/dist/cosign/index.d.ts +33 -0
  16. package/dist/cosign/index.d.ts.map +1 -0
  17. package/dist/cosign/index.js +49 -0
  18. package/dist/cosign/index.js.map +1 -0
  19. package/dist/cosign/initiator.d.ts +121 -0
  20. package/dist/cosign/initiator.d.ts.map +1 -0
  21. package/dist/cosign/initiator.js +270 -0
  22. package/dist/cosign/initiator.js.map +1 -0
  23. package/dist/cosign/orchardFrost.d.ts +140 -0
  24. package/dist/cosign/orchardFrost.d.ts.map +1 -0
  25. package/dist/cosign/orchardFrost.js +227 -0
  26. package/dist/cosign/orchardFrost.js.map +1 -0
  27. package/dist/cosign/relay.d.ts +100 -0
  28. package/dist/cosign/relay.d.ts.map +1 -0
  29. package/dist/cosign/relay.js +359 -0
  30. package/dist/cosign/relay.js.map +1 -0
  31. package/dist/cosign/seed.d.ts +32 -0
  32. package/dist/cosign/seed.d.ts.map +1 -0
  33. package/dist/cosign/seed.js +69 -0
  34. package/dist/cosign/seed.js.map +1 -0
  35. package/dist/cosign/transports.d.ts +127 -0
  36. package/dist/cosign/transports.d.ts.map +1 -0
  37. package/dist/cosign/transports.js +426 -0
  38. package/dist/cosign/transports.js.map +1 -0
  39. package/dist/cosign/vaultShare.d.ts +65 -0
  40. package/dist/cosign/vaultShare.d.ts.map +1 -0
  41. package/dist/cosign/vaultShare.js +157 -0
  42. package/dist/cosign/vaultShare.js.map +1 -0
  43. package/dist/index.d.ts +16 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +43 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/monero/types.d.ts +75 -0
  48. package/dist/monero/types.d.ts.map +1 -0
  49. package/dist/monero/types.js +9 -0
  50. package/dist/monero/types.js.map +1 -0
  51. package/dist/scanner/baseUrl.d.ts +24 -0
  52. package/dist/scanner/baseUrl.d.ts.map +1 -0
  53. package/dist/scanner/baseUrl.js +35 -0
  54. package/dist/scanner/baseUrl.js.map +1 -0
  55. package/dist/scanner/moneroScannerClient.d.ts +97 -0
  56. package/dist/scanner/moneroScannerClient.d.ts.map +1 -0
  57. package/dist/scanner/moneroScannerClient.js +125 -0
  58. package/dist/scanner/moneroScannerClient.js.map +1 -0
  59. package/dist/scanner/zcashScannerClient.d.ts +116 -0
  60. package/dist/scanner/zcashScannerClient.d.ts.map +1 -0
  61. package/dist/scanner/zcashScannerClient.js +150 -0
  62. package/dist/scanner/zcashScannerClient.js.map +1 -0
  63. package/package.json +37 -0
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Wallet Scanner API Client (Orchard + UTXOs)
3
+ *
4
+ * Wraps the Winbit32 wallet-scanner service endpoints:
5
+ * - POST /wallet-scanner/orchard/export-ufvk
6
+ * - POST /wallet-scanner/orchard/scan-ufvk
7
+ * - POST /wallet-scanner/orchard/scan-ufvk/job
8
+ * - GET /wallet-scanner/orchard/scan-ufvk/job/{jobId}
9
+ * - DELETE /wallet-scanner/orchard/scan-ufvk/job/{jobId}
10
+ * - POST /wallet-scanner/utxos
11
+ */
12
+ export interface WalletScannerClientConfig {
13
+ baseUrl?: string;
14
+ apiKey?: string;
15
+ }
16
+ export declare const createWalletScannerClient: (config?: WalletScannerClientConfig) => {
17
+ exportUfvkRemote: (body: {
18
+ mnemonic: string;
19
+ purpose?: number;
20
+ coinType?: number;
21
+ account?: number;
22
+ change?: number;
23
+ addressIndex?: number;
24
+ }) => Promise<{
25
+ success: boolean;
26
+ data?: {
27
+ ufvk: string;
28
+ } | undefined;
29
+ error?: string | undefined;
30
+ }>;
31
+ scanUfvkImmediate: (body: {
32
+ ufvk: string;
33
+ birthdayHeight?: number;
34
+ }) => Promise<{
35
+ success: boolean;
36
+ data?: {
37
+ notes: Array<{
38
+ tx_hash: string;
39
+ block_height: number;
40
+ value: number;
41
+ nullifier: string;
42
+ commitment: string;
43
+ ephemeral_key: string;
44
+ }>;
45
+ } | undefined;
46
+ error?: string | undefined;
47
+ }>;
48
+ startOrchardScanJob: (body: {
49
+ ufvk: string;
50
+ birthdayHeight?: number;
51
+ endHeight?: number;
52
+ witness?: boolean;
53
+ autoDetect?: boolean;
54
+ forceRescan?: boolean;
55
+ }, opts?: {
56
+ apiKey?: string;
57
+ }) => Promise<{
58
+ success: boolean;
59
+ data?: {
60
+ jobId: string;
61
+ jobToken: string;
62
+ } | undefined;
63
+ error?: string | undefined;
64
+ }>;
65
+ getOrchardScanJob: (jobId: string, auth: {
66
+ apiKey?: string;
67
+ jobToken?: string;
68
+ }) => Promise<{
69
+ success: boolean;
70
+ data?: {
71
+ job: {
72
+ status: string;
73
+ progress?: any;
74
+ results?: {
75
+ notes: any[];
76
+ };
77
+ createdAt?: string;
78
+ startedAt?: string;
79
+ finishedAt?: string;
80
+ };
81
+ } | undefined;
82
+ }>;
83
+ cancelOrchardScanJob: (jobId: string, auth: {
84
+ apiKey?: string;
85
+ jobToken?: string;
86
+ }) => Promise<{
87
+ success: boolean;
88
+ data?: {
89
+ cancelled: boolean;
90
+ } | undefined;
91
+ }>;
92
+ getUtxos: (address: string) => Promise<{
93
+ success: boolean;
94
+ data?: {
95
+ address: string;
96
+ type: string;
97
+ source: string;
98
+ utxoCount: number;
99
+ utxos: any[];
100
+ durationMs: number;
101
+ currentBlockHeight?: number | undefined;
102
+ } | undefined;
103
+ }>;
104
+ broadcastRawTransaction: (body: {
105
+ rawTxHex: string;
106
+ allowHighFees?: boolean;
107
+ }) => Promise<{
108
+ success: boolean;
109
+ data?: {
110
+ txid: string;
111
+ } | undefined;
112
+ error?: string | undefined;
113
+ }>;
114
+ };
115
+ export type WalletScannerClientType = ReturnType<typeof createWalletScannerClient>;
116
+ //# sourceMappingURL=zcashScannerClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zcashScannerClient.d.ts","sourceRoot":"","sources":["../../src/scanner/zcashScannerClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,yBAAyB;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AA8BD,eAAO,MAAM,yBAAyB,YAAY,yBAAyB;6BAY1C;QAC9B,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;KACtB;iBAMqC,OAAO;;kBAAiB,MAAM;;;;8BAIpC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE;iBAO9D,OAAO;;mBACA,MAAM;gBAAE,OAAO,EAAE,MAAM,CAAC;gBAAC,YAAY,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAC;gBAAC,SAAS,EAAE,MAAM,CAAC;gBAAC,UAAU,EAAE,MAAM,CAAC;gBAAC,aAAa,EAAE,MAAM,CAAA;aAAE,CAAC;;;;gCAU7G;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,SAAS;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;iBAMrJ,OAAO;;mBAAkB,MAAM;sBAAY,MAAM;;;;+BAItD,MAAM,QAAQ;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;iBAS1E,OAAO;;iBACF;gBAAE,QAAQ,MAAM,CAAC;gBAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;gBAAC,OAAO,CAAC,EAAE;oBAAE,KAAK,EAAE,GAAG,EAAE,CAAA;iBAAE,CAAC;gBAAC,SAAS,CAAC,EAAE,MAAM,CAAC;gBAAC,SAAS,CAAC,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,MAAM,CAAA;aAAE;;;kCAKvG,MAAM,QAAQ;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;iBAQlD,OAAO;;uBAAsB,OAAO;;;wBAIhD,MAAM;iBAOrB,OAAO;;qBACE,MAAM;kBAAQ,MAAM;oBAAU,MAAM;uBAAa,MAAM;mBAAS,GAAG,EAAE;wBAAc,MAAM;;;;oCAOvE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE;iBAgBvE,OAAO;;kBACD,MAAM;;;;CAazB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ /**
3
+ * Wallet Scanner API Client (Orchard + UTXOs)
4
+ *
5
+ * Wraps the Winbit32 wallet-scanner service endpoints:
6
+ * - POST /wallet-scanner/orchard/export-ufvk
7
+ * - POST /wallet-scanner/orchard/scan-ufvk
8
+ * - POST /wallet-scanner/orchard/scan-ufvk/job
9
+ * - GET /wallet-scanner/orchard/scan-ufvk/job/{jobId}
10
+ * - DELETE /wallet-scanner/orchard/scan-ufvk/job/{jobId}
11
+ * - POST /wallet-scanner/utxos
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.createWalletScannerClient = void 0;
15
+ const DEFAULT_BASE_URL = 'https://api.zcash.winbit32.com/api';
16
+ const BROADCAST_TIMEOUT_MS = 120000;
17
+ /**
18
+ * Host apps (Winbit32) wrap window.fetch with a gRPC-web interceptor;
19
+ * broadcasts must bypass it. Embedders without an interceptor just get
20
+ * plain fetch.
21
+ */
22
+ const getRawFetch = () => {
23
+ if (typeof window === 'undefined')
24
+ return fetch;
25
+ const windowAny = window;
26
+ return windowAny.__WB32_FETCH_ORIGINAL__ || windowAny.__WB32_NATIVE_FETCH__ || windowAny.fetch || fetch;
27
+ };
28
+ async function handleJsonResponse(res) {
29
+ let payload = null;
30
+ try {
31
+ payload = await res.json();
32
+ }
33
+ catch (e) {
34
+ throw new Error(`Invalid JSON response (status ${res.status})`);
35
+ }
36
+ if (!res.ok) {
37
+ const msg = payload?.error || payload?.message || `HTTP ${res.status}`;
38
+ throw new Error(msg);
39
+ }
40
+ return payload;
41
+ }
42
+ const createWalletScannerClient = (config = {}) => {
43
+ const baseUrl = (config.baseUrl || DEFAULT_BASE_URL).replace(/\/$/, '');
44
+ const withHeaders = (extra) => {
45
+ const headers = { 'Content-Type': 'application/json' };
46
+ if (config.apiKey)
47
+ headers['X-API-Key'] = config.apiKey;
48
+ if (extra)
49
+ Object.assign(headers, extra);
50
+ return headers;
51
+ };
52
+ return {
53
+ // Prefer local derivation; this remote export is here for completeness
54
+ exportUfvkRemote: async (body) => {
55
+ const res = await fetch(`${baseUrl}/wallet-scanner/orchard/export-ufvk`, {
56
+ method: 'POST',
57
+ headers: withHeaders(),
58
+ body: JSON.stringify(body)
59
+ });
60
+ return handleJsonResponse(res);
61
+ },
62
+ // Immediate scan (if supported). Returns decrypted note metadata.
63
+ scanUfvkImmediate: async (body) => {
64
+ const res = await fetch(`${baseUrl}/wallet-scanner/orchard/scan-ufvk`, {
65
+ method: 'POST',
66
+ headers: withHeaders(),
67
+ body: JSON.stringify(body)
68
+ });
69
+ return handleJsonResponse(res);
70
+ },
71
+ // Start async scan job. Returns jobId and per-job token.
72
+ // Non-blocking: the POST returns immediately even with autoDetect:true
73
+ // (the server resolves the birthday in the background, surfaced via
74
+ // progress.phase 'detecting-birthday'). Poll getOrchardScanJob until
75
+ // job.status === 'succeeded'.
76
+ startOrchardScanJob: async (body, opts) => {
77
+ const res = await fetch(`${baseUrl}/wallet-scanner/orchard/scan-ufvk/job`, {
78
+ method: 'POST',
79
+ headers: withHeaders(opts?.apiKey ? { 'X-API-Key': opts.apiKey } : undefined),
80
+ body: JSON.stringify(body)
81
+ });
82
+ return handleJsonResponse(res);
83
+ },
84
+ // Poll job status using API key or per-job token
85
+ getOrchardScanJob: async (jobId, auth) => {
86
+ const headers = withHeaders();
87
+ if (auth.jobToken)
88
+ headers['X-Job-Token'] = auth.jobToken;
89
+ if (auth.apiKey)
90
+ headers['X-API-Key'] = auth.apiKey;
91
+ const res = await fetch(`${baseUrl}/wallet-scanner/orchard/scan-ufvk/job/${jobId}`, {
92
+ method: 'GET',
93
+ headers
94
+ });
95
+ return handleJsonResponse(res);
96
+ },
97
+ // Cancel a running job
98
+ cancelOrchardScanJob: async (jobId, auth) => {
99
+ const headers = withHeaders();
100
+ if (auth.jobToken)
101
+ headers['X-Job-Token'] = auth.jobToken;
102
+ if (auth.apiKey)
103
+ headers['X-API-Key'] = auth.apiKey;
104
+ const res = await fetch(`${baseUrl}/wallet-scanner/orchard/scan-ufvk/job/${jobId}`, {
105
+ method: 'DELETE',
106
+ headers
107
+ });
108
+ return handleJsonResponse(res);
109
+ },
110
+ // Normalised UTXOs for provided address (transparent subset for unified)
111
+ getUtxos: async (address) => {
112
+ const res = await fetch(`${baseUrl}/wallet-scanner/utxos`, {
113
+ method: 'POST',
114
+ headers: withHeaders(),
115
+ body: JSON.stringify({ address })
116
+ });
117
+ return handleJsonResponse(res);
118
+ },
119
+ // Broadcast a signed transparent transaction hex blob.
120
+ // Uses native fetch directly to bypass any gRPC-web fetch interceptor,
121
+ // and an AbortController for proper timeout handling.
122
+ broadcastRawTransaction: async (body) => {
123
+ const url = `${baseUrl}/wallet-scanner/transactions/broadcast`;
124
+ const nativeFetch = getRawFetch();
125
+ const controller = new AbortController();
126
+ const timer = setTimeout(() => controller.abort(), BROADCAST_TIMEOUT_MS);
127
+ const init = {
128
+ method: 'POST',
129
+ headers: withHeaders(),
130
+ body: JSON.stringify(body),
131
+ signal: controller.signal
132
+ };
133
+ try {
134
+ const res = await nativeFetch(url, init);
135
+ return await handleJsonResponse(res);
136
+ }
137
+ catch (error) {
138
+ if (error?.name === 'AbortError') {
139
+ throw new Error(`Broadcast request timed out after ${BROADCAST_TIMEOUT_MS / 1000}s`);
140
+ }
141
+ throw error;
142
+ }
143
+ finally {
144
+ clearTimeout(timer);
145
+ }
146
+ }
147
+ };
148
+ };
149
+ exports.createWalletScannerClient = createWalletScannerClient;
150
+ //# sourceMappingURL=zcashScannerClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zcashScannerClient.js","sourceRoot":"","sources":["../../src/scanner/zcashScannerClient.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "@winbit32/wallet-kit",
3
+ "version": "0.1.0",
4
+ "description": "Embeddable Zcash + Monero wallet primitives extracted from Winbit32: scanner API clients and the WB32COSIGN FROST/Orchard cosign client with a headless initiator pipeline. Framework-agnostic, browser-first, Node >= 18.",
5
+ "license": "MIT",
6
+ "author": "Winbit32",
7
+ "homepage": "https://winbit32.com",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/FungeLLC/WINBIT32.git",
11
+ "directory": "packages/wallet-kit"
12
+ },
13
+ "type": "commonjs",
14
+ "main": "./dist/index.js",
15
+ "types": "./dist/index.d.ts",
16
+ "exports": {
17
+ ".": {
18
+ "types": "./dist/index.d.ts",
19
+ "default": "./dist/index.js"
20
+ }
21
+ },
22
+ "files": [
23
+ "dist",
24
+ "README.md"
25
+ ],
26
+ "sideEffects": false,
27
+ "scripts": {
28
+ "build": "tsc -p tsconfig.json",
29
+ "clean": "rm -rf dist"
30
+ },
31
+ "devDependencies": {
32
+ "typescript": "^5.0.0"
33
+ },
34
+ "publishConfig": {
35
+ "access": "public"
36
+ }
37
+ }