@flashnet/sdk 0.1.1 → 0.2.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 (131) hide show
  1. package/README.md +46 -4
  2. package/dist/{index.d.ts → cjs/index.d.ts} +5 -5
  3. package/dist/cjs/index.d.ts.map +1 -0
  4. package/dist/cjs/index.js +56 -0
  5. package/dist/cjs/index.js.map +1 -0
  6. package/dist/cjs/package.json +3 -0
  7. package/dist/{src → cjs/src}/api/client.d.ts +0 -2
  8. package/dist/cjs/src/api/client.d.ts.map +1 -0
  9. package/dist/{src → cjs/src}/api/client.js +6 -5
  10. package/dist/cjs/src/api/client.js.map +1 -0
  11. package/dist/cjs/src/api/index.d.ts +4 -0
  12. package/dist/cjs/src/api/index.d.ts.map +1 -0
  13. package/dist/{src → cjs/src}/api/typed-endpoints.d.ts +1 -1
  14. package/dist/cjs/src/api/typed-endpoints.d.ts.map +1 -0
  15. package/dist/cjs/src/api/typed-endpoints.js +207 -0
  16. package/dist/cjs/src/api/typed-endpoints.js.map +1 -0
  17. package/dist/{src → cjs/src}/api/validation.d.ts +6 -6
  18. package/dist/cjs/src/api/validation.d.ts.map +1 -0
  19. package/dist/cjs/src/api/validation.js +140 -0
  20. package/dist/cjs/src/api/validation.js.map +1 -0
  21. package/dist/{src → cjs/src}/client/FlashnetClient.d.ts +2 -2
  22. package/dist/cjs/src/client/FlashnetClient.d.ts.map +1 -0
  23. package/dist/cjs/src/client/FlashnetClient.js +804 -0
  24. package/dist/cjs/src/client/FlashnetClient.js.map +1 -0
  25. package/dist/cjs/src/config/index.d.ts.map +1 -0
  26. package/dist/cjs/src/config/index.js +49 -0
  27. package/dist/cjs/src/config/index.js.map +1 -0
  28. package/dist/{src → cjs/src}/types/index.d.ts +4 -0
  29. package/dist/cjs/src/types/index.d.ts.map +1 -0
  30. package/dist/cjs/src/types/index.js +9 -0
  31. package/dist/cjs/src/types/index.js.map +1 -0
  32. package/dist/{src → cjs/src}/utils/auth.d.ts +1 -1
  33. package/dist/cjs/src/utils/auth.d.ts.map +1 -0
  34. package/dist/cjs/src/utils/auth.js +89 -0
  35. package/dist/cjs/src/utils/auth.js.map +1 -0
  36. package/dist/cjs/src/utils/index.d.ts.map +1 -0
  37. package/dist/cjs/src/utils/index.js +29 -0
  38. package/dist/cjs/src/utils/index.js.map +1 -0
  39. package/dist/cjs/src/utils/intents.d.ts.map +1 -0
  40. package/dist/cjs/src/utils/intents.js +144 -0
  41. package/dist/cjs/src/utils/intents.js.map +1 -0
  42. package/dist/cjs/src/utils/signer.d.ts.map +1 -0
  43. package/dist/cjs/src/utils/signer.js +38 -0
  44. package/dist/cjs/src/utils/signer.js.map +1 -0
  45. package/dist/{src → cjs/src}/utils/spark-address.d.ts +2 -2
  46. package/dist/cjs/src/utils/spark-address.d.ts.map +1 -0
  47. package/dist/cjs/src/utils/spark-address.js +238 -0
  48. package/dist/cjs/src/utils/spark-address.js.map +1 -0
  49. package/dist/esm/index.d.ts +13 -0
  50. package/dist/esm/index.d.ts.map +1 -0
  51. package/dist/esm/index.js +11 -0
  52. package/dist/esm/index.js.map +1 -0
  53. package/dist/esm/package.json +3 -0
  54. package/dist/esm/src/api/client.d.ts +18 -0
  55. package/dist/esm/src/api/client.d.ts.map +1 -0
  56. package/dist/esm/src/api/client.js +84 -0
  57. package/dist/esm/src/api/client.js.map +1 -0
  58. package/dist/esm/src/api/index.d.ts +4 -0
  59. package/dist/esm/src/api/index.d.ts.map +1 -0
  60. package/dist/esm/src/api/typed-endpoints.d.ts +135 -0
  61. package/dist/esm/src/api/typed-endpoints.d.ts.map +1 -0
  62. package/dist/{src → esm/src}/api/typed-endpoints.js +6 -5
  63. package/dist/esm/src/api/typed-endpoints.js.map +1 -0
  64. package/dist/esm/src/api/validation.d.ts +114 -0
  65. package/dist/esm/src/api/validation.d.ts.map +1 -0
  66. package/dist/{src → esm/src}/api/validation.js +14 -12
  67. package/dist/esm/src/api/validation.js.map +1 -0
  68. package/dist/esm/src/client/FlashnetClient.d.ts +216 -0
  69. package/dist/esm/src/client/FlashnetClient.d.ts.map +1 -0
  70. package/dist/{src → esm/src}/client/FlashnetClient.js +21 -19
  71. package/dist/esm/src/client/FlashnetClient.js.map +1 -0
  72. package/dist/esm/src/config/index.d.ts +14 -0
  73. package/dist/esm/src/config/index.d.ts.map +1 -0
  74. package/dist/{src → esm/src}/config/index.js +9 -7
  75. package/dist/esm/src/config/index.js.map +1 -0
  76. package/dist/esm/src/types/index.d.ts +488 -0
  77. package/dist/esm/src/types/index.d.ts.map +1 -0
  78. package/dist/esm/src/types/index.js +9 -0
  79. package/dist/esm/src/types/index.js.map +1 -0
  80. package/dist/esm/src/utils/auth.d.ts +26 -0
  81. package/dist/esm/src/utils/auth.d.ts.map +1 -0
  82. package/dist/{src → esm/src}/utils/auth.js +4 -2
  83. package/dist/esm/src/utils/auth.js.map +1 -0
  84. package/dist/esm/src/utils/index.d.ts +8 -0
  85. package/dist/esm/src/utils/index.d.ts.map +1 -0
  86. package/dist/esm/src/utils/index.js +18 -0
  87. package/dist/esm/src/utils/index.js.map +1 -0
  88. package/dist/esm/src/utils/intents.d.ts +86 -0
  89. package/dist/esm/src/utils/intents.d.ts.map +1 -0
  90. package/dist/{src → esm/src}/utils/intents.js +11 -9
  91. package/dist/esm/src/utils/intents.js.map +1 -0
  92. package/dist/esm/src/utils/signer.d.ts +29 -0
  93. package/dist/esm/src/utils/signer.d.ts.map +1 -0
  94. package/dist/{src → esm/src}/utils/signer.js +4 -2
  95. package/dist/esm/src/utils/signer.js.map +1 -0
  96. package/dist/esm/src/utils/spark-address.d.ts +60 -0
  97. package/dist/esm/src/utils/spark-address.d.ts.map +1 -0
  98. package/dist/{src → esm/src}/utils/spark-address.js +25 -22
  99. package/dist/esm/src/utils/spark-address.js.map +1 -0
  100. package/package.json +64 -14
  101. package/dist/index.d.ts.map +0 -1
  102. package/dist/index.js +0 -15
  103. package/dist/index.js.map +0 -1
  104. package/dist/src/api/client.d.ts.map +0 -1
  105. package/dist/src/api/client.js.map +0 -1
  106. package/dist/src/api/typed-endpoints.d.ts.map +0 -1
  107. package/dist/src/api/typed-endpoints.js.map +0 -1
  108. package/dist/src/api/validation.d.ts.map +0 -1
  109. package/dist/src/api/validation.js.map +0 -1
  110. package/dist/src/client/FlashnetClient.d.ts.map +0 -1
  111. package/dist/src/client/FlashnetClient.js.map +0 -1
  112. package/dist/src/config/index.d.ts.map +0 -1
  113. package/dist/src/config/index.js.map +0 -1
  114. package/dist/src/types/index.d.ts.map +0 -1
  115. package/dist/src/types/index.js +0 -2
  116. package/dist/src/types/index.js.map +0 -1
  117. package/dist/src/utils/auth.d.ts.map +0 -1
  118. package/dist/src/utils/auth.js.map +0 -1
  119. package/dist/src/utils/index.d.ts.map +0 -1
  120. package/dist/src/utils/index.js +0 -19
  121. package/dist/src/utils/index.js.map +0 -1
  122. package/dist/src/utils/intents.d.ts.map +0 -1
  123. package/dist/src/utils/intents.js.map +0 -1
  124. package/dist/src/utils/signer.d.ts.map +0 -1
  125. package/dist/src/utils/signer.js.map +0 -1
  126. package/dist/src/utils/spark-address.d.ts.map +0 -1
  127. package/dist/src/utils/spark-address.js.map +0 -1
  128. /package/dist/{src → cjs/src}/config/index.d.ts +0 -0
  129. /package/dist/{src → cjs/src}/utils/index.d.ts +0 -0
  130. /package/dist/{src → cjs/src}/utils/intents.d.ts +0 -0
  131. /package/dist/{src → cjs/src}/utils/signer.d.ts +0 -0
@@ -0,0 +1,140 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Validation helpers for API requests
5
+ */
6
+ /**
7
+ * Validates that a public key is in the correct format
8
+ */
9
+ function validatePublicKey(publicKey) {
10
+ // Check if it's a valid hex string of the correct length
11
+ // Bitcoin/Spark public keys are typically 33 bytes (66 hex chars) for compressed
12
+ // or 65 bytes (130 hex chars) for uncompressed
13
+ const hexRegex = /^[0-9a-fA-F]+$/;
14
+ return (hexRegex.test(publicKey) &&
15
+ (publicKey.length === 66 || publicKey.length === 130));
16
+ }
17
+ /**
18
+ * Validates that a signature is in the correct format
19
+ */
20
+ function validateSignature(signature) {
21
+ // Check if it's a valid hex string
22
+ // Signatures are typically 64-72 bytes (128-144 hex chars)
23
+ const hexRegex = /^[0-9a-fA-F]+$/;
24
+ return (hexRegex.test(signature) &&
25
+ signature.length >= 128 &&
26
+ signature.length <= 144);
27
+ }
28
+ /**
29
+ * Validates that an amount is positive
30
+ */
31
+ function validatePositiveAmount(amount) {
32
+ const numAmount = typeof amount === "string" ? parseFloat(amount) : amount;
33
+ return !Number.isNaN(numAmount) && numAmount > 0;
34
+ }
35
+ /**
36
+ * Validates that a BPS value is in the valid range
37
+ */
38
+ function validateBps(bps, min = 0, max = 10000) {
39
+ return Number.isInteger(bps) && bps >= min && bps <= max;
40
+ }
41
+ /**
42
+ * Validates a namespace string
43
+ */
44
+ function validateNamespace(namespace) {
45
+ // Namespace must be between 3-32 characters
46
+ return (namespace.length >= 3 &&
47
+ namespace.length <= 32 &&
48
+ /^[a-zA-Z0-9-_]+$/.test(namespace));
49
+ }
50
+ /**
51
+ * Common validation errors
52
+ */
53
+ class ValidationError extends Error {
54
+ field;
55
+ reason;
56
+ constructor(field, reason) {
57
+ super(`Validation failed for ${field}: ${reason}`);
58
+ this.field = field;
59
+ this.reason = reason;
60
+ this.name = "ValidationError";
61
+ }
62
+ }
63
+ /**
64
+ * Validates a request object against a set of rules
65
+ */
66
+ function validateRequest(request, rules) {
67
+ for (const [field, rule] of Object.entries(rules)) {
68
+ const value = request[field];
69
+ // Check required fields
70
+ if (rule.required &&
71
+ (value === undefined || value === null || value === "")) {
72
+ throw new ValidationError(String(field), "field is required");
73
+ }
74
+ // Skip validation for optional fields that are not provided
75
+ if (!rule.required && (value === undefined || value === null)) {
76
+ continue;
77
+ }
78
+ // Run custom validator if provided
79
+ if (rule.validator && !rule.validator(value)) {
80
+ throw new ValidationError(String(field), rule.message || "validation failed");
81
+ }
82
+ }
83
+ }
84
+ /**
85
+ * Pre-defined validation rules for common request types
86
+ */
87
+ const commonValidationRules = {
88
+ publicKey: {
89
+ required: true,
90
+ validator: validatePublicKey,
91
+ message: "invalid public key format",
92
+ },
93
+ signature: {
94
+ required: true,
95
+ validator: validateSignature,
96
+ message: "invalid signature format",
97
+ },
98
+ nonce: {
99
+ required: true,
100
+ validator: (v) => typeof v === "string" && v.length > 0,
101
+ message: "nonce must be a non-empty string",
102
+ },
103
+ amount: {
104
+ required: true,
105
+ validator: validatePositiveAmount,
106
+ message: "amount must be positive",
107
+ },
108
+ bps: {
109
+ required: true,
110
+ validator: (v) => typeof v === "number" && validateBps(v),
111
+ message: "BPS must be between 0 and 10000",
112
+ },
113
+ };
114
+ /**
115
+ * Validation rules for CreateConstantProductPoolRequest
116
+ */
117
+ const constantProductPoolValidationRules = {
118
+ poolOwnerPublicKey: commonValidationRules.publicKey,
119
+ assetATokenPublicKey: commonValidationRules.publicKey,
120
+ assetBTokenPublicKey: commonValidationRules.publicKey,
121
+ lpFeeRateBps: commonValidationRules.bps,
122
+ integratorNamespace: {
123
+ required: true,
124
+ validator: validateNamespace,
125
+ message: "invalid namespace format",
126
+ },
127
+ nonce: commonValidationRules.nonce,
128
+ signature: commonValidationRules.signature,
129
+ };
130
+
131
+ exports.ValidationError = ValidationError;
132
+ exports.commonValidationRules = commonValidationRules;
133
+ exports.constantProductPoolValidationRules = constantProductPoolValidationRules;
134
+ exports.validateBps = validateBps;
135
+ exports.validateNamespace = validateNamespace;
136
+ exports.validatePositiveAmount = validatePositiveAmount;
137
+ exports.validatePublicKey = validatePublicKey;
138
+ exports.validateRequest = validateRequest;
139
+ exports.validateSignature = validateSignature;
140
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sources":["../../../../../../src/api/validation.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { IssuerSparkWallet } from "@buildonspark/issuer-sdk";
2
2
  import type { SparkWallet } from "@buildonspark/spark-sdk";
3
- import type { NetworkType, ListPoolsQuery, ListPoolsResponse, PoolDetailsResponse, LpPositionDetailsResponse, SimulateSwapRequest, SimulateSwapResponse, SwapResponse, SimulateAddLiquidityRequest, SimulateAddLiquidityResponse, AddLiquidityResponse, SimulateRemoveLiquidityRequest, SimulateRemoveLiquidityResponse, RemoveLiquidityResponse, CreatePoolResponse, ConfirmDepositResponse, RegisterHostResponse, GetHostResponse, WithdrawHostFeesResponse, GetPoolHostFeesResponse, ListPoolSwapsQuery, ListPoolSwapsResponse, ListGlobalSwapsQuery, ListGlobalSwapsResponse, ListUserSwapsQuery, ListUserSwapsResponse, SettlementPingResponse } from "../types";
3
+ import { type AddLiquidityResponse, type ConfirmDepositResponse, type CreatePoolResponse, type GetHostResponse, type GetPoolHostFeesResponse, type ListGlobalSwapsQuery, type ListGlobalSwapsResponse, type ListPoolSwapsQuery, type ListPoolSwapsResponse, type ListPoolsQuery, type ListPoolsResponse, type ListUserSwapsQuery, type ListUserSwapsResponse, type LpPositionDetailsResponse, type NetworkType, type PoolDetailsResponse, type RegisterHostResponse, type RemoveLiquidityResponse, type SettlementPingResponse, type SimulateAddLiquidityRequest, type SimulateAddLiquidityResponse, type SimulateRemoveLiquidityRequest, type SimulateRemoveLiquidityResponse, type SimulateSwapRequest, type SimulateSwapResponse, type SwapResponse, type WithdrawHostFeesResponse } from "../types";
4
4
  export interface TokenBalance {
5
5
  balance: bigint;
6
6
  tokenInfo?: {
@@ -58,7 +58,7 @@ export declare class FlashnetClient {
58
58
  * @param wallet - The SparkWallet to use
59
59
  * @param options - Client options
60
60
  */
61
- constructor(wallet: IssuerSparkWallet | SparkWallet, options?: FlashnetClientOptions);
61
+ constructor(wallet: IssuerSparkWallet | SparkWallet, _options?: FlashnetClientOptions);
62
62
  /**
63
63
  * Initialize the client by deducing network and authenticating
64
64
  * This is called automatically on first use if not called manually
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlashnetClient.d.ts","sourceRoot":"","sources":["../../../../src/client/FlashnetClient.ts"],"names":[],"mappings":"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"}