@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.
- package/README.md +46 -4
- package/dist/{index.d.ts → cjs/index.d.ts} +5 -5
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +56 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/{src → cjs/src}/api/client.d.ts +0 -2
- package/dist/cjs/src/api/client.d.ts.map +1 -0
- package/dist/{src → cjs/src}/api/client.js +6 -5
- package/dist/cjs/src/api/client.js.map +1 -0
- package/dist/cjs/src/api/index.d.ts +4 -0
- package/dist/cjs/src/api/index.d.ts.map +1 -0
- package/dist/{src → cjs/src}/api/typed-endpoints.d.ts +1 -1
- package/dist/cjs/src/api/typed-endpoints.d.ts.map +1 -0
- package/dist/cjs/src/api/typed-endpoints.js +207 -0
- package/dist/cjs/src/api/typed-endpoints.js.map +1 -0
- package/dist/{src → cjs/src}/api/validation.d.ts +6 -6
- package/dist/cjs/src/api/validation.d.ts.map +1 -0
- package/dist/cjs/src/api/validation.js +140 -0
- package/dist/cjs/src/api/validation.js.map +1 -0
- package/dist/{src → cjs/src}/client/FlashnetClient.d.ts +2 -2
- package/dist/cjs/src/client/FlashnetClient.d.ts.map +1 -0
- package/dist/cjs/src/client/FlashnetClient.js +804 -0
- package/dist/cjs/src/client/FlashnetClient.js.map +1 -0
- package/dist/cjs/src/config/index.d.ts.map +1 -0
- package/dist/cjs/src/config/index.js +49 -0
- package/dist/cjs/src/config/index.js.map +1 -0
- package/dist/{src → cjs/src}/types/index.d.ts +4 -0
- package/dist/cjs/src/types/index.d.ts.map +1 -0
- package/dist/cjs/src/types/index.js +9 -0
- package/dist/cjs/src/types/index.js.map +1 -0
- package/dist/{src → cjs/src}/utils/auth.d.ts +1 -1
- package/dist/cjs/src/utils/auth.d.ts.map +1 -0
- package/dist/cjs/src/utils/auth.js +89 -0
- package/dist/cjs/src/utils/auth.js.map +1 -0
- package/dist/cjs/src/utils/index.d.ts.map +1 -0
- package/dist/cjs/src/utils/index.js +29 -0
- package/dist/cjs/src/utils/index.js.map +1 -0
- package/dist/cjs/src/utils/intents.d.ts.map +1 -0
- package/dist/cjs/src/utils/intents.js +144 -0
- package/dist/cjs/src/utils/intents.js.map +1 -0
- package/dist/cjs/src/utils/signer.d.ts.map +1 -0
- package/dist/cjs/src/utils/signer.js +38 -0
- package/dist/cjs/src/utils/signer.js.map +1 -0
- package/dist/{src → cjs/src}/utils/spark-address.d.ts +2 -2
- package/dist/cjs/src/utils/spark-address.d.ts.map +1 -0
- package/dist/cjs/src/utils/spark-address.js +238 -0
- package/dist/cjs/src/utils/spark-address.js.map +1 -0
- package/dist/esm/index.d.ts +13 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +11 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/src/api/client.d.ts +18 -0
- package/dist/esm/src/api/client.d.ts.map +1 -0
- package/dist/esm/src/api/client.js +84 -0
- package/dist/esm/src/api/client.js.map +1 -0
- package/dist/esm/src/api/index.d.ts +4 -0
- package/dist/esm/src/api/index.d.ts.map +1 -0
- package/dist/esm/src/api/typed-endpoints.d.ts +135 -0
- package/dist/esm/src/api/typed-endpoints.d.ts.map +1 -0
- package/dist/{src → esm/src}/api/typed-endpoints.js +6 -5
- package/dist/esm/src/api/typed-endpoints.js.map +1 -0
- package/dist/esm/src/api/validation.d.ts +114 -0
- package/dist/esm/src/api/validation.d.ts.map +1 -0
- package/dist/{src → esm/src}/api/validation.js +14 -12
- package/dist/esm/src/api/validation.js.map +1 -0
- package/dist/esm/src/client/FlashnetClient.d.ts +216 -0
- package/dist/esm/src/client/FlashnetClient.d.ts.map +1 -0
- package/dist/{src → esm/src}/client/FlashnetClient.js +21 -19
- package/dist/esm/src/client/FlashnetClient.js.map +1 -0
- package/dist/esm/src/config/index.d.ts +14 -0
- package/dist/esm/src/config/index.d.ts.map +1 -0
- package/dist/{src → esm/src}/config/index.js +9 -7
- package/dist/esm/src/config/index.js.map +1 -0
- package/dist/esm/src/types/index.d.ts +488 -0
- package/dist/esm/src/types/index.d.ts.map +1 -0
- package/dist/esm/src/types/index.js +9 -0
- package/dist/esm/src/types/index.js.map +1 -0
- package/dist/esm/src/utils/auth.d.ts +26 -0
- package/dist/esm/src/utils/auth.d.ts.map +1 -0
- package/dist/{src → esm/src}/utils/auth.js +4 -2
- package/dist/esm/src/utils/auth.js.map +1 -0
- package/dist/esm/src/utils/index.d.ts +8 -0
- package/dist/esm/src/utils/index.d.ts.map +1 -0
- package/dist/esm/src/utils/index.js +18 -0
- package/dist/esm/src/utils/index.js.map +1 -0
- package/dist/esm/src/utils/intents.d.ts +86 -0
- package/dist/esm/src/utils/intents.d.ts.map +1 -0
- package/dist/{src → esm/src}/utils/intents.js +11 -9
- package/dist/esm/src/utils/intents.js.map +1 -0
- package/dist/esm/src/utils/signer.d.ts +29 -0
- package/dist/esm/src/utils/signer.d.ts.map +1 -0
- package/dist/{src → esm/src}/utils/signer.js +4 -2
- package/dist/esm/src/utils/signer.js.map +1 -0
- package/dist/esm/src/utils/spark-address.d.ts +60 -0
- package/dist/esm/src/utils/spark-address.d.ts.map +1 -0
- package/dist/{src → esm/src}/utils/spark-address.js +25 -22
- package/dist/esm/src/utils/spark-address.js.map +1 -0
- package/package.json +64 -14
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -15
- package/dist/index.js.map +0 -1
- package/dist/src/api/client.d.ts.map +0 -1
- package/dist/src/api/client.js.map +0 -1
- package/dist/src/api/typed-endpoints.d.ts.map +0 -1
- package/dist/src/api/typed-endpoints.js.map +0 -1
- package/dist/src/api/validation.d.ts.map +0 -1
- package/dist/src/api/validation.js.map +0 -1
- package/dist/src/client/FlashnetClient.d.ts.map +0 -1
- package/dist/src/client/FlashnetClient.js.map +0 -1
- package/dist/src/config/index.d.ts.map +0 -1
- package/dist/src/config/index.js.map +0 -1
- package/dist/src/types/index.d.ts.map +0 -1
- package/dist/src/types/index.js +0 -2
- package/dist/src/types/index.js.map +0 -1
- package/dist/src/utils/auth.d.ts.map +0 -1
- package/dist/src/utils/auth.js.map +0 -1
- package/dist/src/utils/index.d.ts.map +0 -1
- package/dist/src/utils/index.js +0 -19
- package/dist/src/utils/index.js.map +0 -1
- package/dist/src/utils/intents.d.ts.map +0 -1
- package/dist/src/utils/intents.js.map +0 -1
- package/dist/src/utils/signer.d.ts.map +0 -1
- package/dist/src/utils/signer.js.map +0 -1
- package/dist/src/utils/spark-address.d.ts.map +0 -1
- package/dist/src/utils/spark-address.js.map +0 -1
- /package/dist/{src → cjs/src}/config/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/utils/index.d.ts +0 -0
- /package/dist/{src → cjs/src}/utils/intents.d.ts +0 -0
- /package/dist/{src → cjs/src}/utils/signer.d.ts +0 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validation helpers for API requests
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Validates that a public key is in the correct format
|
|
6
|
+
*/
|
|
7
|
+
export declare function validatePublicKey(publicKey: string): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Validates that a signature is in the correct format
|
|
10
|
+
*/
|
|
11
|
+
export declare function validateSignature(signature: string): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Validates that an amount is positive
|
|
14
|
+
*/
|
|
15
|
+
export declare function validatePositiveAmount(amount: number | string): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Validates that a BPS value is in the valid range
|
|
18
|
+
*/
|
|
19
|
+
export declare function validateBps(bps: number, min?: number, max?: number): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Validates a namespace string
|
|
22
|
+
*/
|
|
23
|
+
export declare function validateNamespace(namespace: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Common validation errors
|
|
26
|
+
*/
|
|
27
|
+
export declare class ValidationError extends Error {
|
|
28
|
+
field: string;
|
|
29
|
+
reason: string;
|
|
30
|
+
constructor(field: string, reason: string);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Validates a request object against a set of rules
|
|
34
|
+
*/
|
|
35
|
+
export declare function validateRequest<T extends Record<string, unknown>>(request: T, rules: ValidationRules<T>): void;
|
|
36
|
+
export interface ValidationRule {
|
|
37
|
+
required?: boolean;
|
|
38
|
+
validator?: (value: unknown) => boolean;
|
|
39
|
+
message?: string;
|
|
40
|
+
}
|
|
41
|
+
export type ValidationRules<T> = {
|
|
42
|
+
[K in keyof T]?: ValidationRule;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Pre-defined validation rules for common request types
|
|
46
|
+
*/
|
|
47
|
+
export declare const commonValidationRules: {
|
|
48
|
+
publicKey: {
|
|
49
|
+
required: boolean;
|
|
50
|
+
validator: typeof validatePublicKey;
|
|
51
|
+
message: string;
|
|
52
|
+
};
|
|
53
|
+
signature: {
|
|
54
|
+
required: boolean;
|
|
55
|
+
validator: typeof validateSignature;
|
|
56
|
+
message: string;
|
|
57
|
+
};
|
|
58
|
+
nonce: {
|
|
59
|
+
required: boolean;
|
|
60
|
+
validator: (v: unknown) => boolean;
|
|
61
|
+
message: string;
|
|
62
|
+
};
|
|
63
|
+
amount: {
|
|
64
|
+
required: boolean;
|
|
65
|
+
validator: typeof validatePositiveAmount;
|
|
66
|
+
message: string;
|
|
67
|
+
};
|
|
68
|
+
bps: {
|
|
69
|
+
required: boolean;
|
|
70
|
+
validator: (v: unknown) => boolean;
|
|
71
|
+
message: string;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Validation rules for CreateConstantProductPoolRequest
|
|
76
|
+
*/
|
|
77
|
+
export declare const constantProductPoolValidationRules: {
|
|
78
|
+
poolOwnerPublicKey: {
|
|
79
|
+
required: boolean;
|
|
80
|
+
validator: typeof validatePublicKey;
|
|
81
|
+
message: string;
|
|
82
|
+
};
|
|
83
|
+
assetATokenPublicKey: {
|
|
84
|
+
required: boolean;
|
|
85
|
+
validator: typeof validatePublicKey;
|
|
86
|
+
message: string;
|
|
87
|
+
};
|
|
88
|
+
assetBTokenPublicKey: {
|
|
89
|
+
required: boolean;
|
|
90
|
+
validator: typeof validatePublicKey;
|
|
91
|
+
message: string;
|
|
92
|
+
};
|
|
93
|
+
lpFeeRateBps: {
|
|
94
|
+
required: boolean;
|
|
95
|
+
validator: (v: unknown) => boolean;
|
|
96
|
+
message: string;
|
|
97
|
+
};
|
|
98
|
+
integratorNamespace: {
|
|
99
|
+
required: boolean;
|
|
100
|
+
validator: typeof validateNamespace;
|
|
101
|
+
message: string;
|
|
102
|
+
};
|
|
103
|
+
nonce: {
|
|
104
|
+
required: boolean;
|
|
105
|
+
validator: (v: unknown) => boolean;
|
|
106
|
+
message: string;
|
|
107
|
+
};
|
|
108
|
+
signature: {
|
|
109
|
+
required: boolean;
|
|
110
|
+
validator: typeof validateSignature;
|
|
111
|
+
message: string;
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/api/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAS5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAS5D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAGvE;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAAU,EACf,GAAG,GAAE,MAAc,GAClB,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAO5D;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IAE/B,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;gBADd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;CAKxB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GACxB,IAAI,CA4BN;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;KAC9B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc;CAChC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;uBAaf,OAAO;;;;;;;;;;uBAUP,OAAO;;;CAGzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;uBAR5B,OAAO;;;;;;;;;;uBAVP,OAAO;;;;;;;;CA8BzB,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
/**
|
|
5
5
|
* Validates that a public key is in the correct format
|
|
6
6
|
*/
|
|
7
|
-
|
|
7
|
+
function validatePublicKey(publicKey) {
|
|
8
8
|
// Check if it's a valid hex string of the correct length
|
|
9
9
|
// Bitcoin/Spark public keys are typically 33 bytes (66 hex chars) for compressed
|
|
10
10
|
// or 65 bytes (130 hex chars) for uncompressed
|
|
@@ -15,7 +15,7 @@ export function validatePublicKey(publicKey) {
|
|
|
15
15
|
/**
|
|
16
16
|
* Validates that a signature is in the correct format
|
|
17
17
|
*/
|
|
18
|
-
|
|
18
|
+
function validateSignature(signature) {
|
|
19
19
|
// Check if it's a valid hex string
|
|
20
20
|
// Signatures are typically 64-72 bytes (128-144 hex chars)
|
|
21
21
|
const hexRegex = /^[0-9a-fA-F]+$/;
|
|
@@ -26,20 +26,20 @@ export function validateSignature(signature) {
|
|
|
26
26
|
/**
|
|
27
27
|
* Validates that an amount is positive
|
|
28
28
|
*/
|
|
29
|
-
|
|
29
|
+
function validatePositiveAmount(amount) {
|
|
30
30
|
const numAmount = typeof amount === "string" ? parseFloat(amount) : amount;
|
|
31
|
-
return !isNaN(numAmount) && numAmount > 0;
|
|
31
|
+
return !Number.isNaN(numAmount) && numAmount > 0;
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* Validates that a BPS value is in the valid range
|
|
35
35
|
*/
|
|
36
|
-
|
|
36
|
+
function validateBps(bps, min = 0, max = 10000) {
|
|
37
37
|
return Number.isInteger(bps) && bps >= min && bps <= max;
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
* Validates a namespace string
|
|
41
41
|
*/
|
|
42
|
-
|
|
42
|
+
function validateNamespace(namespace) {
|
|
43
43
|
// Namespace must be between 3-32 characters
|
|
44
44
|
return (namespace.length >= 3 &&
|
|
45
45
|
namespace.length <= 32 &&
|
|
@@ -48,7 +48,7 @@ export function validateNamespace(namespace) {
|
|
|
48
48
|
/**
|
|
49
49
|
* Common validation errors
|
|
50
50
|
*/
|
|
51
|
-
|
|
51
|
+
class ValidationError extends Error {
|
|
52
52
|
field;
|
|
53
53
|
reason;
|
|
54
54
|
constructor(field, reason) {
|
|
@@ -61,7 +61,7 @@ export class ValidationError extends Error {
|
|
|
61
61
|
/**
|
|
62
62
|
* Validates a request object against a set of rules
|
|
63
63
|
*/
|
|
64
|
-
|
|
64
|
+
function validateRequest(request, rules) {
|
|
65
65
|
for (const [field, rule] of Object.entries(rules)) {
|
|
66
66
|
const value = request[field];
|
|
67
67
|
// Check required fields
|
|
@@ -82,7 +82,7 @@ export function validateRequest(request, rules) {
|
|
|
82
82
|
/**
|
|
83
83
|
* Pre-defined validation rules for common request types
|
|
84
84
|
*/
|
|
85
|
-
|
|
85
|
+
const commonValidationRules = {
|
|
86
86
|
publicKey: {
|
|
87
87
|
required: true,
|
|
88
88
|
validator: validatePublicKey,
|
|
@@ -105,14 +105,14 @@ export const commonValidationRules = {
|
|
|
105
105
|
},
|
|
106
106
|
bps: {
|
|
107
107
|
required: true,
|
|
108
|
-
validator: (v) => validateBps(v),
|
|
108
|
+
validator: (v) => typeof v === "number" && validateBps(v),
|
|
109
109
|
message: "BPS must be between 0 and 10000",
|
|
110
110
|
},
|
|
111
111
|
};
|
|
112
112
|
/**
|
|
113
113
|
* Validation rules for CreateConstantProductPoolRequest
|
|
114
114
|
*/
|
|
115
|
-
|
|
115
|
+
const constantProductPoolValidationRules = {
|
|
116
116
|
poolOwnerPublicKey: commonValidationRules.publicKey,
|
|
117
117
|
assetATokenPublicKey: commonValidationRules.publicKey,
|
|
118
118
|
assetBTokenPublicKey: commonValidationRules.publicKey,
|
|
@@ -125,4 +125,6 @@ export const constantProductPoolValidationRules = {
|
|
|
125
125
|
nonce: commonValidationRules.nonce,
|
|
126
126
|
signature: commonValidationRules.signature,
|
|
127
127
|
};
|
|
128
|
-
|
|
128
|
+
|
|
129
|
+
export { ValidationError, commonValidationRules, constantProductPoolValidationRules, validateBps, validateNamespace, validatePositiveAmount, validatePublicKey, validateRequest, validateSignature };
|
|
130
|
+
//# 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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"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import type { IssuerSparkWallet } from "@buildonspark/issuer-sdk";
|
|
2
|
+
import type { SparkWallet } from "@buildonspark/spark-sdk";
|
|
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
|
+
export interface TokenBalance {
|
|
5
|
+
balance: bigint;
|
|
6
|
+
tokenInfo?: {
|
|
7
|
+
tokenPublicKey: string;
|
|
8
|
+
tokenName: string;
|
|
9
|
+
tokenSymbol: string;
|
|
10
|
+
tokenDecimals: number;
|
|
11
|
+
maxSupply: bigint;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export interface WalletBalance {
|
|
15
|
+
balance: bigint;
|
|
16
|
+
tokenBalances: Map<string, TokenBalance>;
|
|
17
|
+
}
|
|
18
|
+
export interface FlashnetClientOptions {
|
|
19
|
+
autoAuthenticate?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* FlashnetClient - A comprehensive client for interacting with Flashnet AMM
|
|
23
|
+
*
|
|
24
|
+
* This client wraps a SparkWallet and provides:
|
|
25
|
+
* - Automatic network detection from the wallet
|
|
26
|
+
* - Automatic authentication
|
|
27
|
+
* - Balance checking before operations
|
|
28
|
+
* - All AMM operations (pools, swaps, liquidity, hosts)
|
|
29
|
+
* - Direct wallet access via client.wallet
|
|
30
|
+
*/
|
|
31
|
+
export declare class FlashnetClient {
|
|
32
|
+
private _wallet;
|
|
33
|
+
private apiClient;
|
|
34
|
+
private typedApi;
|
|
35
|
+
private authManager;
|
|
36
|
+
private network;
|
|
37
|
+
private publicKey;
|
|
38
|
+
private sparkAddress;
|
|
39
|
+
private isAuthenticated;
|
|
40
|
+
/**
|
|
41
|
+
* Get the underlying wallet instance for direct wallet operations
|
|
42
|
+
*/
|
|
43
|
+
get wallet(): IssuerSparkWallet | SparkWallet;
|
|
44
|
+
/**
|
|
45
|
+
* Get the network type
|
|
46
|
+
*/
|
|
47
|
+
get networkType(): NetworkType;
|
|
48
|
+
/**
|
|
49
|
+
* Get the wallet's public key
|
|
50
|
+
*/
|
|
51
|
+
get pubkey(): string;
|
|
52
|
+
/**
|
|
53
|
+
* Get the wallet's Spark address
|
|
54
|
+
*/
|
|
55
|
+
get address(): string;
|
|
56
|
+
/**
|
|
57
|
+
* Create a new FlashnetClient instance
|
|
58
|
+
* @param wallet - The SparkWallet to use
|
|
59
|
+
* @param options - Client options
|
|
60
|
+
*/
|
|
61
|
+
constructor(wallet: IssuerSparkWallet | SparkWallet, _options?: FlashnetClientOptions);
|
|
62
|
+
/**
|
|
63
|
+
* Initialize the client by deducing network and authenticating
|
|
64
|
+
* This is called automatically on first use if not called manually
|
|
65
|
+
*/
|
|
66
|
+
initialize(): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* Ensure the client is initialized
|
|
69
|
+
*/
|
|
70
|
+
private ensureInitialized;
|
|
71
|
+
/**
|
|
72
|
+
* Get wallet balance including BTC and token balances
|
|
73
|
+
*/
|
|
74
|
+
getBalance(): Promise<WalletBalance>;
|
|
75
|
+
/**
|
|
76
|
+
* Check if wallet has sufficient balance for an operation
|
|
77
|
+
*/
|
|
78
|
+
private checkBalance;
|
|
79
|
+
/**
|
|
80
|
+
* List pools with optional filters
|
|
81
|
+
*/
|
|
82
|
+
listPools(query?: ListPoolsQuery): Promise<ListPoolsResponse>;
|
|
83
|
+
/**
|
|
84
|
+
* Get detailed information about a specific pool
|
|
85
|
+
*/
|
|
86
|
+
getPool(poolId: string): Promise<PoolDetailsResponse>;
|
|
87
|
+
/**
|
|
88
|
+
* Get LP position details for a provider in a pool
|
|
89
|
+
*/
|
|
90
|
+
getLpPosition(poolId: string, providerPublicKey?: string): Promise<LpPositionDetailsResponse>;
|
|
91
|
+
/**
|
|
92
|
+
* Create a constant product pool
|
|
93
|
+
*/
|
|
94
|
+
createConstantProductPool(params: {
|
|
95
|
+
assetATokenPublicKey: string;
|
|
96
|
+
assetBTokenPublicKey: string;
|
|
97
|
+
lpFeeRateBps: number;
|
|
98
|
+
totalHostFeeRateBps: number;
|
|
99
|
+
integratorNamespace?: string;
|
|
100
|
+
initialLiquidity?: {
|
|
101
|
+
assetAAmount: bigint;
|
|
102
|
+
assetBAmount: bigint;
|
|
103
|
+
};
|
|
104
|
+
}): Promise<CreatePoolResponse>;
|
|
105
|
+
/**
|
|
106
|
+
* Create a single-sided pool with automatic initial deposit
|
|
107
|
+
*
|
|
108
|
+
* This method creates a single-sided pool and automatically handles the initial deposit.
|
|
109
|
+
* The initial reserve amount will be transferred to the pool and confirmed.
|
|
110
|
+
*/
|
|
111
|
+
createSingleSidedPool(params: {
|
|
112
|
+
assetATokenPublicKey: string;
|
|
113
|
+
assetBTokenPublicKey: string;
|
|
114
|
+
assetAInitialReserve: string;
|
|
115
|
+
assetAInitialVirtualReserve: string;
|
|
116
|
+
assetBInitialVirtualReserve: string;
|
|
117
|
+
threshold: string;
|
|
118
|
+
lpFeeRateBps: number;
|
|
119
|
+
totalHostFeeRateBps: number;
|
|
120
|
+
hostNamespace?: string;
|
|
121
|
+
}): Promise<CreatePoolResponse>;
|
|
122
|
+
/**
|
|
123
|
+
* Confirm initial deposit for single-sided pool
|
|
124
|
+
*
|
|
125
|
+
* Note: This is typically handled automatically by createSingleSidedPool().
|
|
126
|
+
* Use this method only if you need to manually confirm a deposit (e.g., after a failed attempt).
|
|
127
|
+
*/
|
|
128
|
+
confirmInitialDeposit(poolId: string, assetASparkTransferId: string): Promise<ConfirmDepositResponse>;
|
|
129
|
+
/**
|
|
130
|
+
* Simulate a swap without executing it
|
|
131
|
+
*/
|
|
132
|
+
simulateSwap(params: SimulateSwapRequest): Promise<SimulateSwapResponse>;
|
|
133
|
+
/**
|
|
134
|
+
* Execute a swap
|
|
135
|
+
*/
|
|
136
|
+
executeSwap(params: {
|
|
137
|
+
poolId: string;
|
|
138
|
+
assetInTokenPublicKey: string;
|
|
139
|
+
assetOutTokenPublicKey: string;
|
|
140
|
+
amountIn: bigint;
|
|
141
|
+
minAmountOut: bigint;
|
|
142
|
+
maxSlippageBps: number;
|
|
143
|
+
}): Promise<SwapResponse>;
|
|
144
|
+
/**
|
|
145
|
+
* Simulate adding liquidity
|
|
146
|
+
*/
|
|
147
|
+
simulateAddLiquidity(params: SimulateAddLiquidityRequest): Promise<SimulateAddLiquidityResponse>;
|
|
148
|
+
/**
|
|
149
|
+
* Add liquidity to a pool
|
|
150
|
+
*/
|
|
151
|
+
addLiquidity(params: {
|
|
152
|
+
poolId: string;
|
|
153
|
+
assetAAmount: bigint;
|
|
154
|
+
assetBAmount: bigint;
|
|
155
|
+
}): Promise<AddLiquidityResponse>;
|
|
156
|
+
/**
|
|
157
|
+
* Simulate removing liquidity
|
|
158
|
+
*/
|
|
159
|
+
simulateRemoveLiquidity(params: SimulateRemoveLiquidityRequest): Promise<SimulateRemoveLiquidityResponse>;
|
|
160
|
+
/**
|
|
161
|
+
* Remove liquidity from a pool
|
|
162
|
+
*/
|
|
163
|
+
removeLiquidity(params: {
|
|
164
|
+
poolId: string;
|
|
165
|
+
lpTokensToRemove: string;
|
|
166
|
+
}): Promise<RemoveLiquidityResponse>;
|
|
167
|
+
/**
|
|
168
|
+
* Register as a host
|
|
169
|
+
*/
|
|
170
|
+
registerHost(params: {
|
|
171
|
+
namespace: string;
|
|
172
|
+
minFeeBps: number;
|
|
173
|
+
feeRecipientPublicKey?: string;
|
|
174
|
+
}): Promise<RegisterHostResponse>;
|
|
175
|
+
/**
|
|
176
|
+
* Get host information
|
|
177
|
+
*/
|
|
178
|
+
getHost(namespace: string): Promise<GetHostResponse>;
|
|
179
|
+
/**
|
|
180
|
+
* Get pool host fees
|
|
181
|
+
*/
|
|
182
|
+
getPoolHostFees(hostNamespace: string, poolId: string): Promise<GetPoolHostFeesResponse>;
|
|
183
|
+
/**
|
|
184
|
+
* Withdraw host fees
|
|
185
|
+
*/
|
|
186
|
+
withdrawHostFees(params: {
|
|
187
|
+
lpIdentityPublicKey: string;
|
|
188
|
+
assetAAmount?: string;
|
|
189
|
+
assetBAmount?: string;
|
|
190
|
+
}): Promise<WithdrawHostFeesResponse>;
|
|
191
|
+
/**
|
|
192
|
+
* Get swaps for a specific pool
|
|
193
|
+
*/
|
|
194
|
+
getPoolSwaps(lpPubkey: string, query?: ListPoolSwapsQuery): Promise<ListPoolSwapsResponse>;
|
|
195
|
+
/**
|
|
196
|
+
* Get global swaps across all pools
|
|
197
|
+
*/
|
|
198
|
+
getGlobalSwaps(query?: ListGlobalSwapsQuery): Promise<ListGlobalSwapsResponse>;
|
|
199
|
+
/**
|
|
200
|
+
* Get swaps for a specific user
|
|
201
|
+
*/
|
|
202
|
+
getUserSwaps(userPublicKey?: string, query?: ListUserSwapsQuery): Promise<ListUserSwapsResponse>;
|
|
203
|
+
/**
|
|
204
|
+
* Ping the settlement service
|
|
205
|
+
*/
|
|
206
|
+
ping(): Promise<SettlementPingResponse>;
|
|
207
|
+
/**
|
|
208
|
+
* Helper method to add initial liquidity after pool creation
|
|
209
|
+
*/
|
|
210
|
+
private addInitialLiquidity;
|
|
211
|
+
/**
|
|
212
|
+
* Clean up wallet connections
|
|
213
|
+
*/
|
|
214
|
+
cleanup(): Promise<void>;
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=FlashnetClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlashnetClient.d.ts","sourceRoot":"","sources":["../../../../src/client/FlashnetClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { ApiClient } from
|
|
2
|
-
import { TypedAmmApi } from
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
|
|
1
|
+
import { ApiClient } from '../api/client.js';
|
|
2
|
+
import { TypedAmmApi } from '../api/typed-endpoints.js';
|
|
3
|
+
import { getNetworkConfig, BTC_ASSET_PUBKEY } from '../config/index.js';
|
|
4
|
+
import { Network } from '../types/index.js';
|
|
5
|
+
import { generateNonce } from '../utils/index.js';
|
|
6
|
+
import { AuthManager } from '../utils/auth.js';
|
|
7
|
+
import { generateConstantProductPoolInitializationIntentMessage, generatePoolInitializationIntentMessage, generatePoolConfirmInitialDepositIntentMessage, generatePoolSwapIntentMessage, generateAddLiquidityIntentMessage, generateRemoveLiquidityIntentMessage, generateRegisterHostIntentMessage, generateWithdrawHostFeesIntentMessage } from '../utils/intents.js';
|
|
8
|
+
import { createWalletSigner } from '../utils/signer.js';
|
|
9
|
+
import { getNetworkFromAddress, encodeSparkAddress } from '../utils/spark-address.js';
|
|
10
|
+
|
|
11
11
|
/**
|
|
12
12
|
* FlashnetClient - A comprehensive client for interacting with Flashnet AMM
|
|
13
13
|
*
|
|
@@ -18,7 +18,7 @@ import { Network } from "@buildonspark/spark-sdk/proto/spark";
|
|
|
18
18
|
* - All AMM operations (pools, swaps, liquidity, hosts)
|
|
19
19
|
* - Direct wallet access via client.wallet
|
|
20
20
|
*/
|
|
21
|
-
|
|
21
|
+
class FlashnetClient {
|
|
22
22
|
_wallet;
|
|
23
23
|
apiClient;
|
|
24
24
|
typedApi;
|
|
@@ -56,7 +56,7 @@ export class FlashnetClient {
|
|
|
56
56
|
* @param wallet - The SparkWallet to use
|
|
57
57
|
* @param options - Client options
|
|
58
58
|
*/
|
|
59
|
-
constructor(wallet,
|
|
59
|
+
constructor(wallet, _options = {}) {
|
|
60
60
|
this._wallet = wallet;
|
|
61
61
|
// We'll initialize these in the init method
|
|
62
62
|
// @ts-expect-error - wallet.config is protected
|
|
@@ -201,14 +201,14 @@ export class FlashnetClient {
|
|
|
201
201
|
requirements.btc = params.initialLiquidity.assetAAmount;
|
|
202
202
|
}
|
|
203
203
|
else {
|
|
204
|
-
requirements.tokens
|
|
204
|
+
requirements.tokens?.set(params.assetATokenPublicKey, params.initialLiquidity.assetAAmount);
|
|
205
205
|
}
|
|
206
206
|
if (params.assetBTokenPublicKey === BTC_ASSET_PUBKEY) {
|
|
207
207
|
requirements.btc =
|
|
208
208
|
(requirements.btc || 0n) + params.initialLiquidity.assetBAmount;
|
|
209
209
|
}
|
|
210
210
|
else {
|
|
211
|
-
requirements.tokens
|
|
211
|
+
requirements.tokens?.set(params.assetBTokenPublicKey, params.initialLiquidity.assetBAmount);
|
|
212
212
|
}
|
|
213
213
|
const balanceCheck = await this.checkBalance(requirements);
|
|
214
214
|
if (!balanceCheck.sufficient) {
|
|
@@ -262,7 +262,7 @@ export class FlashnetClient {
|
|
|
262
262
|
requirements.btc = BigInt(params.assetAInitialReserve);
|
|
263
263
|
}
|
|
264
264
|
else {
|
|
265
|
-
requirements.tokens
|
|
265
|
+
requirements.tokens?.set(params.assetATokenPublicKey, BigInt(params.assetAInitialReserve));
|
|
266
266
|
}
|
|
267
267
|
const balanceCheck = await this.checkBalance(requirements);
|
|
268
268
|
if (!balanceCheck.sufficient) {
|
|
@@ -399,7 +399,7 @@ export class FlashnetClient {
|
|
|
399
399
|
requirements.btc = params.amountIn;
|
|
400
400
|
}
|
|
401
401
|
else {
|
|
402
|
-
requirements.tokens
|
|
402
|
+
requirements.tokens?.set(params.assetInTokenPublicKey, params.amountIn);
|
|
403
403
|
}
|
|
404
404
|
const balanceCheck = await this.checkBalance(requirements);
|
|
405
405
|
if (!balanceCheck.sufficient) {
|
|
@@ -487,13 +487,13 @@ export class FlashnetClient {
|
|
|
487
487
|
requirements.btc = params.assetAAmount;
|
|
488
488
|
}
|
|
489
489
|
else {
|
|
490
|
-
requirements.tokens
|
|
490
|
+
requirements.tokens?.set(pool.assetATokenPublicKey, params.assetAAmount);
|
|
491
491
|
}
|
|
492
492
|
if (pool.assetBTokenPublicKey === BTC_ASSET_PUBKEY) {
|
|
493
493
|
requirements.btc = (requirements.btc || 0n) + params.assetBAmount;
|
|
494
494
|
}
|
|
495
495
|
else {
|
|
496
|
-
requirements.tokens
|
|
496
|
+
requirements.tokens?.set(pool.assetBTokenPublicKey, params.assetBAmount);
|
|
497
497
|
}
|
|
498
498
|
const balanceCheck = await this.checkBalance(requirements);
|
|
499
499
|
if (!balanceCheck.sufficient) {
|
|
@@ -797,4 +797,6 @@ export class FlashnetClient {
|
|
|
797
797
|
await this._wallet.cleanupConnections();
|
|
798
798
|
}
|
|
799
799
|
}
|
|
800
|
-
|
|
800
|
+
|
|
801
|
+
export { FlashnetClient };
|
|
802
|
+
//# sourceMappingURL=FlashnetClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlashnetClient.js","sources":["../../../../../../src/client/FlashnetClient.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { NetworkType } from "../types";
|
|
2
|
+
export interface NetworkConfig {
|
|
3
|
+
ammGatewayUrl: string;
|
|
4
|
+
mempoolApiUrl: string;
|
|
5
|
+
explorerUrl: string;
|
|
6
|
+
sparkScanUrl?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const NETWORK_CONFIGS: Record<NetworkType, NetworkConfig>;
|
|
9
|
+
export declare const BTC_ASSET_PUBKEY = "020202020202020202020202020202020202020202020202020202020202020202";
|
|
10
|
+
export declare const BTC_DECIMALS = 8;
|
|
11
|
+
export declare const DEFAULT_SLIPPAGE_BPS = 500;
|
|
12
|
+
export declare const DEFAULT_HOST_NAMESPACE = "flashnet_pools";
|
|
13
|
+
export declare function getNetworkConfig(network: NetworkType): NetworkConfig;
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE,aAAa,CA+B9D,CAAC;AAEF,eAAO,MAAM,gBAAgB,uEACyC,CAAC;AACvE,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AAEvD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,CAEpE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
const NETWORK_CONFIGS = {
|
|
2
2
|
MAINNET: {
|
|
3
3
|
ammGatewayUrl: "https://api.amm.flashnet.xyz",
|
|
4
4
|
mempoolApiUrl: "https://mempool.space",
|
|
@@ -30,11 +30,13 @@ export const NETWORK_CONFIGS = {
|
|
|
30
30
|
sparkScanUrl: "https://api.sparkscan.io",
|
|
31
31
|
},
|
|
32
32
|
};
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
const BTC_ASSET_PUBKEY = "020202020202020202020202020202020202020202020202020202020202020202";
|
|
34
|
+
const BTC_DECIMALS = 8;
|
|
35
|
+
const DEFAULT_SLIPPAGE_BPS = 500; // 5%
|
|
36
|
+
const DEFAULT_HOST_NAMESPACE = "flashnet_pools";
|
|
37
|
+
function getNetworkConfig(network) {
|
|
38
38
|
return NETWORK_CONFIGS[network];
|
|
39
39
|
}
|
|
40
|
-
|
|
40
|
+
|
|
41
|
+
export { BTC_ASSET_PUBKEY, BTC_DECIMALS, DEFAULT_HOST_NAMESPACE, DEFAULT_SLIPPAGE_BPS, NETWORK_CONFIGS, getNetworkConfig };
|
|
42
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/config/index.ts"],"sourcesContent":[null],"names":[],"mappings":"AASO,MAAM,eAAe,GAAuC;AACjE,IAAA,OAAO,EAAE;AACP,QAAA,aAAa,EAAE,8BAA8B;AAC7C,QAAA,aAAa,EAAE,uBAAuB;AACtC,QAAA,WAAW,EAAE,uBAAuB;AACpC,QAAA,YAAY,EAAE,0BAA0B;AACzC,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,aAAa,EAAE,2CAA2C;AAC1D,QAAA,aAAa,EAAE,sCAAsC;AACrD,QAAA,WAAW,EAAE,sCAAsC;AACnD,QAAA,YAAY,EAAE,0BAA0B;AACzC,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,aAAa,EAAE,2CAA2C;AAC1D,QAAA,aAAa,EAAE,sCAAsC;AACrD,QAAA,WAAW,EAAE,sCAAsC;AACnD,QAAA,YAAY,EAAE,0BAA0B;AACzC,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,aAAa,EAAE,2CAA2C;AAC1D,QAAA,aAAa,EAAE,sCAAsC;AACrD,QAAA,WAAW,EAAE,sCAAsC;AACnD,QAAA,YAAY,EAAE,0BAA0B;AACzC,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,aAAa,EAAE,uBAAuB;AACtC,QAAA,aAAa,EAAE,uBAAuB;AACtC,QAAA,WAAW,EAAE,uBAAuB;AACpC,QAAA,YAAY,EAAE,0BAA0B;AACzC,KAAA;;AAGI,MAAM,gBAAgB,GAC3B;AACK,MAAM,YAAY,GAAG;AACrB,MAAM,oBAAoB,GAAG,IAAI;AACjC,MAAM,sBAAsB,GAAG;AAEhC,SAAU,gBAAgB,CAAC,OAAoB,EAAA;AACnD,IAAA,OAAO,eAAe,CAAC,OAAO,CAAC;AACjC;;;;"}
|