@sequence0/sdk 1.0.0 → 1.0.1

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 (52) hide show
  1. package/README.md +36 -5
  2. package/dist/chains/bitcoin.d.ts +15 -3
  3. package/dist/chains/bitcoin.d.ts.map +1 -1
  4. package/dist/chains/bitcoin.js +23 -3
  5. package/dist/chains/bitcoin.js.map +1 -1
  6. package/dist/chains/ethereum.d.ts +3 -0
  7. package/dist/chains/ethereum.d.ts.map +1 -1
  8. package/dist/chains/ethereum.js +108 -16
  9. package/dist/chains/ethereum.js.map +1 -1
  10. package/dist/core/client.d.ts +117 -4
  11. package/dist/core/client.d.ts.map +1 -1
  12. package/dist/core/client.js +416 -36
  13. package/dist/core/client.js.map +1 -1
  14. package/dist/core/types.d.ts +39 -2
  15. package/dist/core/types.d.ts.map +1 -1
  16. package/dist/index.d.ts +11 -4
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +31 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/utils/discovery.d.ts +15 -1
  21. package/dist/utils/discovery.d.ts.map +1 -1
  22. package/dist/utils/discovery.js +36 -9
  23. package/dist/utils/discovery.js.map +1 -1
  24. package/dist/utils/errors.d.ts +26 -0
  25. package/dist/utils/errors.d.ts.map +1 -1
  26. package/dist/utils/errors.js +32 -1
  27. package/dist/utils/errors.js.map +1 -1
  28. package/dist/utils/fee.d.ts +107 -0
  29. package/dist/utils/fee.d.ts.map +1 -0
  30. package/dist/utils/fee.js +220 -0
  31. package/dist/utils/fee.js.map +1 -0
  32. package/dist/utils/http.d.ts +97 -1
  33. package/dist/utils/http.d.ts.map +1 -1
  34. package/dist/utils/http.js +238 -6
  35. package/dist/utils/http.js.map +1 -1
  36. package/dist/utils/logger.d.ts +43 -0
  37. package/dist/utils/logger.d.ts.map +1 -0
  38. package/dist/utils/logger.js +129 -0
  39. package/dist/utils/logger.js.map +1 -0
  40. package/dist/utils/rate-limiter.d.ts +43 -0
  41. package/dist/utils/rate-limiter.d.ts.map +1 -0
  42. package/dist/utils/rate-limiter.js +99 -0
  43. package/dist/utils/rate-limiter.js.map +1 -0
  44. package/dist/utils/validation.d.ts +74 -0
  45. package/dist/utils/validation.d.ts.map +1 -0
  46. package/dist/utils/validation.js +380 -0
  47. package/dist/utils/validation.js.map +1 -0
  48. package/dist/wallet/wallet.d.ts +12 -1
  49. package/dist/wallet/wallet.d.ts.map +1 -1
  50. package/dist/wallet/wallet.js +76 -11
  51. package/dist/wallet/wallet.js.map +1 -1
  52. package/package.json +8 -2
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qCAAsD;AAWtD,MAAa,UAAU;IAKnB,YAAY,OAAoB;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAM,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG;YACX,cAAc,EAAE,kBAAkB;YAClC,GAAG,OAAO,CAAC,OAAO;SACrB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,IAAY;QACrB,OAAO,IAAI,CAAC,OAAO,CAAI,KAAK,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,IAAY,EAAE,IAAc;QACtC,OAAO,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAC,OAAO,CAAI,MAAc,EAAE,IAAY,EAAE,IAAc;QACjE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjE,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC9B,MAAM;gBACN,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC7C,MAAM,EAAE,UAAU,CAAC,MAAM;aAC5B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBACxD,IAAI,YAAoB,CAAC;gBACzB,IAAI,CAAC;oBACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBACrC,YAAY,GAAG,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;gBAC7C,CAAC;gBAAC,MAAM,CAAC;oBACL,YAAY,GAAG,SAAS,IAAI,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC1D,CAAC;gBACD,MAAM,IAAI,qBAAY,CAClB,GAAG,MAAM,IAAI,IAAI,YAAY,YAAY,EAAE,EAC3C,QAAQ,CAAC,MAAM,CAClB,CAAC;YACN,CAAC;YAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,qBAAY;gBAAE,MAAM,KAAK,CAAC;YAC/C,IAAK,KAAe,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACzC,MAAM,IAAI,qBAAY,CAAC,cAAc,IAAI,oBAAoB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YACnF,CAAC;YACD,MAAM,IAAI,qBAAY,CAAC,wBAAwB,GAAG,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACvF,CAAC;gBAAS,CAAC;YACP,YAAY,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACL,CAAC;CACJ;AA7DD,gCA6DC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Debug Logger for Sequence0 SDK
3
+ *
4
+ * Optional logging that never exposes sensitive data:
5
+ * - Private keys are never logged
6
+ * - Wallet addresses are masked: 0x1234...abcd
7
+ * - Full signatures are never logged
8
+ * - Only method, endpoint, status code, and latency are logged
9
+ */
10
+ export interface Logger {
11
+ debug(message: string, meta?: Record<string, unknown>): void;
12
+ warn(message: string, meta?: Record<string, unknown>): void;
13
+ error(message: string, meta?: Record<string, unknown>): void;
14
+ }
15
+ /**
16
+ * Mask an address for safe debug logging.
17
+ * "0x1234567890abcdef..." -> "0x1234...cdef"
18
+ */
19
+ export declare function maskAddress(address: string): string;
20
+ /**
21
+ * Mask sensitive fields in an object for safe logging.
22
+ * Returns a new object — never mutates the original.
23
+ */
24
+ export declare function maskSensitive(data: Record<string, unknown>): Record<string, unknown>;
25
+ /**
26
+ * Default console-based debug logger.
27
+ * Only logs when debug mode is enabled.
28
+ */
29
+ export declare class DebugLogger implements Logger {
30
+ private enabled;
31
+ private prefix;
32
+ constructor(enabled?: boolean, prefix?: string);
33
+ debug(message: string, meta?: Record<string, unknown>): void;
34
+ warn(message: string, meta?: Record<string, unknown>): void;
35
+ error(message: string, meta?: Record<string, unknown>): void;
36
+ }
37
+ /** No-op logger that suppresses all output */
38
+ export declare class NullLogger implements Logger {
39
+ debug(): void;
40
+ warn(): void;
41
+ error(): void;
42
+ }
43
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,MAAM;IACnB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAChE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAanD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkDpF;AAED;;;GAGG;AACH,qBAAa,WAAY,YAAW,MAAM;IACtC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,UAAQ,EAAE,MAAM,SAAgB;IAKnD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAU5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAU3D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAS/D;AAED,8CAA8C;AAC9C,qBAAa,UAAW,YAAW,MAAM;IACrC,KAAK,IAAI,IAAI;IACb,IAAI,IAAI,IAAI;IACZ,KAAK,IAAI,IAAI;CAChB"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ /**
3
+ * Debug Logger for Sequence0 SDK
4
+ *
5
+ * Optional logging that never exposes sensitive data:
6
+ * - Private keys are never logged
7
+ * - Wallet addresses are masked: 0x1234...abcd
8
+ * - Full signatures are never logged
9
+ * - Only method, endpoint, status code, and latency are logged
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.NullLogger = exports.DebugLogger = void 0;
13
+ exports.maskAddress = maskAddress;
14
+ exports.maskSensitive = maskSensitive;
15
+ /**
16
+ * Mask an address for safe debug logging.
17
+ * "0x1234567890abcdef..." -> "0x1234...cdef"
18
+ */
19
+ function maskAddress(address) {
20
+ if (!address || address.length < 10)
21
+ return '***';
22
+ if (address.startsWith('0x') && address.length >= 12) {
23
+ return `${address.slice(0, 6)}...${address.slice(-4)}`;
24
+ }
25
+ // Non-EVM addresses
26
+ if (address.length >= 12) {
27
+ return `${address.slice(0, 6)}...${address.slice(-4)}`;
28
+ }
29
+ return '***';
30
+ }
31
+ /**
32
+ * Mask sensitive fields in an object for safe logging.
33
+ * Returns a new object — never mutates the original.
34
+ */
35
+ function maskSensitive(data) {
36
+ const masked = {};
37
+ for (const [key, value] of Object.entries(data)) {
38
+ const lowerKey = key.toLowerCase();
39
+ // Never log these
40
+ if (lowerKey.includes('privatekey') ||
41
+ lowerKey.includes('private_key') ||
42
+ lowerKey.includes('secret') ||
43
+ lowerKey.includes('mnemonic') ||
44
+ lowerKey.includes('seed') ||
45
+ lowerKey === 'apikey' ||
46
+ lowerKey === 'api_key') {
47
+ masked[key] = '[REDACTED]';
48
+ continue;
49
+ }
50
+ // Mask signatures (show only prefix)
51
+ if (lowerKey === 'signature' || lowerKey === 'sig') {
52
+ if (typeof value === 'string' && value.length > 16) {
53
+ masked[key] = `${value.slice(0, 10)}...[${value.length} chars]`;
54
+ }
55
+ else {
56
+ masked[key] = value;
57
+ }
58
+ continue;
59
+ }
60
+ // Mask addresses
61
+ if (lowerKey === 'address' || lowerKey === 'from' || lowerKey === 'to') {
62
+ if (typeof value === 'string') {
63
+ masked[key] = maskAddress(value);
64
+ }
65
+ else {
66
+ masked[key] = value;
67
+ }
68
+ continue;
69
+ }
70
+ // Recursively mask nested objects
71
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
72
+ masked[key] = maskSensitive(value);
73
+ continue;
74
+ }
75
+ masked[key] = value;
76
+ }
77
+ return masked;
78
+ }
79
+ /**
80
+ * Default console-based debug logger.
81
+ * Only logs when debug mode is enabled.
82
+ */
83
+ class DebugLogger {
84
+ constructor(enabled = false, prefix = '[Sequence0]') {
85
+ this.enabled = enabled;
86
+ this.prefix = prefix;
87
+ }
88
+ debug(message, meta) {
89
+ if (!this.enabled)
90
+ return;
91
+ const safe = meta ? maskSensitive(meta) : undefined;
92
+ if (safe) {
93
+ console.debug(`${this.prefix} ${message}`, safe);
94
+ }
95
+ else {
96
+ console.debug(`${this.prefix} ${message}`);
97
+ }
98
+ }
99
+ warn(message, meta) {
100
+ if (!this.enabled)
101
+ return;
102
+ const safe = meta ? maskSensitive(meta) : undefined;
103
+ if (safe) {
104
+ console.warn(`${this.prefix} ${message}`, safe);
105
+ }
106
+ else {
107
+ console.warn(`${this.prefix} ${message}`);
108
+ }
109
+ }
110
+ error(message, meta) {
111
+ // Errors are always logged, even if debug is off
112
+ const safe = meta ? maskSensitive(meta) : undefined;
113
+ if (safe) {
114
+ console.error(`${this.prefix} ${message}`, safe);
115
+ }
116
+ else {
117
+ console.error(`${this.prefix} ${message}`);
118
+ }
119
+ }
120
+ }
121
+ exports.DebugLogger = DebugLogger;
122
+ /** No-op logger that suppresses all output */
123
+ class NullLogger {
124
+ debug() { }
125
+ warn() { }
126
+ error() { }
127
+ }
128
+ exports.NullLogger = NullLogger;
129
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Client-Side Rate Limiter (Token Bucket)
3
+ *
4
+ * Prevents clients from exceeding the server's rate limit (100 req/s on mainnet)
5
+ * by throttling outgoing requests. Excess requests are queued rather
6
+ * than rejected, so callers never see a rate-limit error from the SDK.
7
+ */
8
+ export interface RateLimiterOptions {
9
+ /** Maximum requests per second (default: 25, under server's 100/s mainnet limit) */
10
+ maxRequestsPerSecond?: number;
11
+ /** Maximum queued requests before rejecting (default: 100) */
12
+ maxQueueSize?: number;
13
+ }
14
+ export declare class RateLimiter {
15
+ private tokens;
16
+ private maxTokens;
17
+ private refillRate;
18
+ private lastRefill;
19
+ private queue;
20
+ private maxQueueSize;
21
+ private drainTimer;
22
+ constructor(options?: RateLimiterOptions);
23
+ /**
24
+ * Acquire a token before making a request.
25
+ * Resolves immediately if tokens are available, otherwise queues.
26
+ */
27
+ acquire(): Promise<void>;
28
+ /**
29
+ * Get current state for debugging.
30
+ */
31
+ get state(): {
32
+ tokens: number;
33
+ queued: number;
34
+ };
35
+ /**
36
+ * Cancel all queued requests and stop the drain timer.
37
+ */
38
+ destroy(): void;
39
+ private refill;
40
+ private scheduleDrain;
41
+ private drain;
42
+ }
43
+ //# sourceMappingURL=rate-limiter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../src/utils/rate-limiter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,kBAAkB;IAC/B,oFAAoF;IACpF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAOD,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAA8C;gBAEpD,OAAO,GAAE,kBAAuB;IAS5C;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB9B;;OAEG;IACH,IAAI,KAAK,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAM9C;IAED;;OAEG;IACH,OAAO,IAAI,IAAI;IAcf,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,KAAK;CAchB"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ /**
3
+ * Client-Side Rate Limiter (Token Bucket)
4
+ *
5
+ * Prevents clients from exceeding the server's rate limit (100 req/s on mainnet)
6
+ * by throttling outgoing requests. Excess requests are queued rather
7
+ * than rejected, so callers never see a rate-limit error from the SDK.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.RateLimiter = void 0;
11
+ class RateLimiter {
12
+ constructor(options = {}) {
13
+ this.queue = [];
14
+ this.drainTimer = null;
15
+ const rps = options.maxRequestsPerSecond ?? 25;
16
+ this.maxTokens = rps;
17
+ this.tokens = rps;
18
+ this.refillRate = rps / 1000; // tokens per ms
19
+ this.lastRefill = Date.now();
20
+ this.maxQueueSize = options.maxQueueSize ?? 100;
21
+ }
22
+ /**
23
+ * Acquire a token before making a request.
24
+ * Resolves immediately if tokens are available, otherwise queues.
25
+ */
26
+ async acquire() {
27
+ this.refill();
28
+ if (this.tokens >= 1) {
29
+ this.tokens -= 1;
30
+ return;
31
+ }
32
+ // No tokens available — queue the request
33
+ if (this.queue.length >= this.maxQueueSize) {
34
+ throw new Error(`Rate limiter queue full (${this.maxQueueSize} pending requests). ` +
35
+ 'Reduce request rate or increase maxQueueSize.');
36
+ }
37
+ return new Promise((resolve, reject) => {
38
+ this.queue.push({ resolve, reject });
39
+ this.scheduleDrain();
40
+ });
41
+ }
42
+ /**
43
+ * Get current state for debugging.
44
+ */
45
+ get state() {
46
+ this.refill();
47
+ return {
48
+ tokens: Math.floor(this.tokens),
49
+ queued: this.queue.length,
50
+ };
51
+ }
52
+ /**
53
+ * Cancel all queued requests and stop the drain timer.
54
+ */
55
+ destroy() {
56
+ if (this.drainTimer) {
57
+ clearTimeout(this.drainTimer);
58
+ this.drainTimer = null;
59
+ }
60
+ const err = new Error('Rate limiter destroyed');
61
+ for (const entry of this.queue) {
62
+ entry.reject(err);
63
+ }
64
+ this.queue = [];
65
+ }
66
+ // ── Internals ──
67
+ refill() {
68
+ const now = Date.now();
69
+ const elapsed = now - this.lastRefill;
70
+ if (elapsed <= 0)
71
+ return;
72
+ this.tokens = Math.min(this.maxTokens, this.tokens + elapsed * this.refillRate);
73
+ this.lastRefill = now;
74
+ }
75
+ scheduleDrain() {
76
+ if (this.drainTimer)
77
+ return;
78
+ // Check every ~1/rps interval (e.g. 40ms for 25 rps)
79
+ const intervalMs = Math.max(1, Math.ceil(1000 / this.maxTokens));
80
+ this.drainTimer = setTimeout(() => {
81
+ this.drainTimer = null;
82
+ this.drain();
83
+ }, intervalMs);
84
+ }
85
+ drain() {
86
+ this.refill();
87
+ while (this.queue.length > 0 && this.tokens >= 1) {
88
+ this.tokens -= 1;
89
+ const entry = this.queue.shift();
90
+ entry.resolve();
91
+ }
92
+ // If there are still queued requests, schedule another drain
93
+ if (this.queue.length > 0) {
94
+ this.scheduleDrain();
95
+ }
96
+ }
97
+ }
98
+ exports.RateLimiter = RateLimiter;
99
+ //# sourceMappingURL=rate-limiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../src/utils/rate-limiter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Response Schema Validation & Input Validation
3
+ *
4
+ * Lightweight runtime checks for agent responses and user inputs.
5
+ * No external dependencies — uses simple type guards and regex.
6
+ */
7
+ import type { Chain, DkgResponse, SignResponse, SignResultResponse, HealthResponse, StatusResponse, WalletsResponse } from '../core/types';
8
+ /**
9
+ * Validate a DKG initiation response from an agent.
10
+ * Ensures wallet_id, status, participants, and threshold are present and valid.
11
+ */
12
+ export declare function validateDkgResponse(data: unknown, endpoint: string): DkgResponse;
13
+ /**
14
+ * Validate a DKG completion event (from WebSocket).
15
+ * Ensures wallet_id exists and public_key/address are valid.
16
+ */
17
+ export declare function validateDkgCompletion(data: unknown, endpoint: string): {
18
+ wallet_id: string;
19
+ public_key: string;
20
+ address?: string;
21
+ };
22
+ /**
23
+ * Validate a sign request response from an agent.
24
+ */
25
+ export declare function validateSignResponse(data: unknown, endpoint: string): SignResponse;
26
+ /**
27
+ * Validate a sign result (polling) response.
28
+ */
29
+ export declare function validateSignResultResponse(data: unknown, endpoint: string): SignResultResponse;
30
+ /**
31
+ * Validate a health response.
32
+ */
33
+ export declare function validateHealthResponse(data: unknown, endpoint: string): HealthResponse;
34
+ /**
35
+ * Validate a status response.
36
+ */
37
+ export declare function validateStatusResponse(data: unknown, endpoint: string): StatusResponse;
38
+ /**
39
+ * Validate a wallets list response.
40
+ */
41
+ export declare function validateWalletsResponse(data: unknown, endpoint: string): WalletsResponse;
42
+ /**
43
+ * Validate a wallet ID string.
44
+ */
45
+ export declare function validateWalletId(walletId: unknown): string;
46
+ /**
47
+ * Validate a chain name against the supported chains list.
48
+ */
49
+ export declare function validateChain(chain: unknown): Chain;
50
+ /**
51
+ * Validate an address format based on the target chain.
52
+ */
53
+ export declare function validateAddress(address: unknown, chain: Chain): string;
54
+ /**
55
+ * Validate a positive numeric amount (for transactions).
56
+ */
57
+ export declare function validateAmount(amount: unknown, paramName?: string): number;
58
+ /**
59
+ * Validate a string amount (wei, lamports, etc.) used in EVM transactions.
60
+ * Must represent a valid positive integer or bigint.
61
+ */
62
+ export declare function validateStringAmount(value: unknown, paramName?: string): string | bigint;
63
+ /**
64
+ * Validate a hex-encoded message for signing.
65
+ */
66
+ export declare function validateHexMessage(message: unknown, paramName?: string): string;
67
+ /**
68
+ * Validate threshold parameters.
69
+ */
70
+ export declare function validateThreshold(threshold: unknown): {
71
+ t: number;
72
+ n: number;
73
+ };
74
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACR,KAAK,EACL,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,eAAe,EAClB,MAAM,eAAe,CAAC;AAgCvB;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CA2ChF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CA2CA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAmClF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAiE9F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAmBtF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CA2BtF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CAsCxF;AA8CD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAuB1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAgBnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAyCtE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,SAAW,GAAG,MAAM,CA8B5E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,SAAU,GAAG,MAAM,GAAG,MAAM,CAwCzF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,SAAY,GAAG,MAAM,CAgBlF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAiC9E"}