@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
package/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# Flashnet SDK
|
|
2
2
|
|
|
3
|
-
A comprehensive SDK for interacting with Flashnet's Spark
|
|
3
|
+
A comprehensive SDK for interacting with Flashnet's Spark AMM functionality.
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
7
|
- **Spark Wallet Integration** - Full wallet functionality based on `@buildonspark/issuer-sdk` or `@buildonspark/spark-sdk`
|
|
8
8
|
- **AMM Operations** - Create pools (single-sided & constant product), swap tokens, add/remove liquidity
|
|
9
9
|
- **Multi-Network Support** - Works across Mainnet and Regtest
|
|
10
|
-
- **Intent-Based Signing** -
|
|
10
|
+
- **Intent-Based Signing** - Transaction signing via intent
|
|
11
11
|
- **Custom Signers** - Support for arbitrary signing implementations (hardware wallets, remote signers, etc.)
|
|
12
12
|
- **TypeScript First** - Full type safety and IntelliSense support
|
|
13
13
|
|
|
@@ -21,6 +21,44 @@ npm install @flashnet/sdk
|
|
|
21
21
|
yarn add @flashnet/sdk
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
+
### Optional Dependencies
|
|
25
|
+
|
|
26
|
+
The `@buildonspark/spark-sdk` and `@buildonspark/issuer-sdk` are now **optional peer dependencies**. You only need to install them if you're using the full `FlashnetClient` with wallet integration:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# For full wallet integration (frontend)
|
|
30
|
+
bun i @flashnet/sdk @buildonspark/spark-sdk @buildonspark/issuer-sdk
|
|
31
|
+
|
|
32
|
+
# For backend/lightweight usage (no wallet)
|
|
33
|
+
bun i @flashnet/sdk
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## 🆕 Modular Imports
|
|
37
|
+
|
|
38
|
+
The SDK now supports modular imports for better tree-shaking and smaller bundle sizes:
|
|
39
|
+
|
|
40
|
+
```typescript
|
|
41
|
+
// Import only what you need - no wallet dependencies required
|
|
42
|
+
import { AuthManager } from "@flashnet/sdk/auth";
|
|
43
|
+
import { ApiClient } from "@flashnet/sdk/api";
|
|
44
|
+
import { encodeSparkAddress } from "@flashnet/sdk/utils";
|
|
45
|
+
import type { Signer } from "@flashnet/sdk/types";
|
|
46
|
+
|
|
47
|
+
// Full SDK (requires wallet dependencies)
|
|
48
|
+
import { FlashnetClient } from "@flashnet/sdk";
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Available exports:
|
|
52
|
+
|
|
53
|
+
- `@flashnet/sdk/auth` - Authentication utilities
|
|
54
|
+
- `@flashnet/sdk/api` - API client and typed endpoints
|
|
55
|
+
- `@flashnet/sdk/utils` - Utility functions (addresses, intents, etc.)
|
|
56
|
+
- `@flashnet/sdk/types` - TypeScript types
|
|
57
|
+
- `@flashnet/sdk/config` - Network configurations
|
|
58
|
+
- `@flashnet/sdk/client` - FlashnetClient (requires wallet)
|
|
59
|
+
|
|
60
|
+
For detailed modular usage examples, see [docs/modular-usage.md](docs/modular-usage.md).
|
|
61
|
+
|
|
24
62
|
## Usage Options
|
|
25
63
|
|
|
26
64
|
The Flashnet SDK offers two approaches to suit different needs:
|
|
@@ -148,6 +186,7 @@ const swap = await client.executeSwap({
|
|
|
148
186
|
import {
|
|
149
187
|
ApiClient,
|
|
150
188
|
AuthManager,
|
|
189
|
+
TypedAmmApi,
|
|
151
190
|
getNetworkConfig,
|
|
152
191
|
encodeSparkAddress,
|
|
153
192
|
generatePoolSwapIntentMessage,
|
|
@@ -158,7 +197,7 @@ import {
|
|
|
158
197
|
// Setup
|
|
159
198
|
const config = getNetworkConfig("MAINNET");
|
|
160
199
|
const apiClient = new ApiClient(config);
|
|
161
|
-
const api = apiClient
|
|
200
|
+
const api = new TypedAmmApi(apiClient); // Create typed API wrapper
|
|
162
201
|
|
|
163
202
|
// Authenticate with wallet
|
|
164
203
|
const signer = createWalletSigner(wallet);
|
|
@@ -302,6 +341,8 @@ await client.addLiquidity({
|
|
|
302
341
|
assetBAmount: 5000n,
|
|
303
342
|
});
|
|
304
343
|
|
|
344
|
+
await client.getLpPosition("pool-id");
|
|
345
|
+
|
|
305
346
|
// Remove liquidity
|
|
306
347
|
await client.removeLiquidity({
|
|
307
348
|
poolId: "pool-id",
|
|
@@ -347,7 +388,8 @@ const pools = await client.ammGet("/v1/pools");
|
|
|
347
388
|
const swapResult = await client.ammPost("/v1/swap", swapData);
|
|
348
389
|
|
|
349
390
|
// Typed API wrapper
|
|
350
|
-
|
|
391
|
+
import { TypedAmmApi } from "@flashnet/sdk";
|
|
392
|
+
const api = new TypedAmmApi(client);
|
|
351
393
|
const pools = await api.listPools({ limit: 10 });
|
|
352
394
|
```
|
|
353
395
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export type * from "./src/types";
|
|
2
1
|
export type { RequestOptions } from "./src/api/client";
|
|
3
2
|
export { ApiClient } from "./src/api/client";
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
3
|
+
export { isApiError, isFlashnetError, TypedAmmApi, } from "./src/api/typed-endpoints";
|
|
4
|
+
export { commonValidationRules, constantProductPoolValidationRules, ValidationError, type ValidationRule, type ValidationRules, validateBps, validateNamespace, validatePositiveAmount, validatePublicKey, validateRequest, validateSignature, } from "./src/api/validation";
|
|
5
|
+
export { FlashnetClient, type FlashnetClientOptions, type TokenBalance, type WalletBalance, } from "./src/client/FlashnetClient";
|
|
6
6
|
export * from "./src/config";
|
|
7
|
+
export type * from "./src/types";
|
|
7
8
|
export { fromSmallestUnit, generateNonce, toSmallestUnit } from "./src/utils";
|
|
8
9
|
export { AuthManager } from "./src/utils/auth";
|
|
10
|
+
export { generateAddLiquidityIntentMessage, generateConstantProductPoolInitializationIntentMessage, generatePoolConfirmInitialDepositIntentMessage, generatePoolInitializationIntentMessage, generatePoolSwapIntentMessage, generateRegisterHostIntentMessage, generateRemoveLiquidityIntentMessage, generateWithdrawHostFeesIntentMessage, } from "./src/utils/intents";
|
|
9
11
|
export { createWalletSigner } from "./src/utils/signer";
|
|
10
|
-
export { generateAddLiquidityIntentMessage, generatePoolConfirmInitialDepositIntentMessage, generatePoolInitializationIntentMessage, generateConstantProductPoolInitializationIntentMessage, generatePoolSwapIntentMessage, generateRemoveLiquidityIntentMessage, generateRegisterHostIntentMessage, generateWithdrawHostFeesIntentMessage, } from "./src/utils/intents";
|
|
11
12
|
export { convertSparkAddressToNetwork, decodeSparkAddress, encodeSparkAddress, getNetworkFromAddress, isValidPublicKey, isValidSparkAddress, looksLikePublicKey, type SparkAddressFormat, } from "./src/utils/spark-address";
|
|
12
|
-
export { FlashnetClient, type FlashnetClientOptions, type TokenBalance, type WalletBalance, } from "./src/client/FlashnetClient";
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,eAAe,EACf,WAAW,GACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,qBAAqB,EACrB,kCAAkC,EAClC,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,6BAA6B,CAAC;AAGrC,cAAc,cAAc,CAAC;AAC7B,mBAAmB,aAAa,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,iCAAiC,EACjC,sDAAsD,EACtD,8CAA8C,EAC9C,uCAAuC,EACvC,6BAA6B,EAC7B,iCAAiC,EACjC,oCAAoC,EACpC,qCAAqC,GACtC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,kBAAkB,GACxB,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var client = require('./src/api/client.js');
|
|
4
|
+
var typedEndpoints = require('./src/api/typed-endpoints.js');
|
|
5
|
+
var validation = require('./src/api/validation.js');
|
|
6
|
+
var FlashnetClient = require('./src/client/FlashnetClient.js');
|
|
7
|
+
var index$1 = require('./src/config/index.js');
|
|
8
|
+
var index = require('./src/utils/index.js');
|
|
9
|
+
var auth = require('./src/utils/auth.js');
|
|
10
|
+
var intents = require('./src/utils/intents.js');
|
|
11
|
+
var signer = require('./src/utils/signer.js');
|
|
12
|
+
var sparkAddress = require('./src/utils/spark-address.js');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
exports.ApiClient = client.ApiClient;
|
|
17
|
+
exports.TypedAmmApi = typedEndpoints.TypedAmmApi;
|
|
18
|
+
exports.isApiError = typedEndpoints.isApiError;
|
|
19
|
+
exports.isFlashnetError = typedEndpoints.isFlashnetError;
|
|
20
|
+
exports.ValidationError = validation.ValidationError;
|
|
21
|
+
exports.commonValidationRules = validation.commonValidationRules;
|
|
22
|
+
exports.constantProductPoolValidationRules = validation.constantProductPoolValidationRules;
|
|
23
|
+
exports.validateBps = validation.validateBps;
|
|
24
|
+
exports.validateNamespace = validation.validateNamespace;
|
|
25
|
+
exports.validatePositiveAmount = validation.validatePositiveAmount;
|
|
26
|
+
exports.validatePublicKey = validation.validatePublicKey;
|
|
27
|
+
exports.validateRequest = validation.validateRequest;
|
|
28
|
+
exports.validateSignature = validation.validateSignature;
|
|
29
|
+
exports.FlashnetClient = FlashnetClient.FlashnetClient;
|
|
30
|
+
exports.BTC_ASSET_PUBKEY = index$1.BTC_ASSET_PUBKEY;
|
|
31
|
+
exports.BTC_DECIMALS = index$1.BTC_DECIMALS;
|
|
32
|
+
exports.DEFAULT_HOST_NAMESPACE = index$1.DEFAULT_HOST_NAMESPACE;
|
|
33
|
+
exports.DEFAULT_SLIPPAGE_BPS = index$1.DEFAULT_SLIPPAGE_BPS;
|
|
34
|
+
exports.NETWORK_CONFIGS = index$1.NETWORK_CONFIGS;
|
|
35
|
+
exports.getNetworkConfig = index$1.getNetworkConfig;
|
|
36
|
+
exports.fromSmallestUnit = index.fromSmallestUnit;
|
|
37
|
+
exports.generateNonce = index.generateNonce;
|
|
38
|
+
exports.toSmallestUnit = index.toSmallestUnit;
|
|
39
|
+
exports.AuthManager = auth.AuthManager;
|
|
40
|
+
exports.generateAddLiquidityIntentMessage = intents.generateAddLiquidityIntentMessage;
|
|
41
|
+
exports.generateConstantProductPoolInitializationIntentMessage = intents.generateConstantProductPoolInitializationIntentMessage;
|
|
42
|
+
exports.generatePoolConfirmInitialDepositIntentMessage = intents.generatePoolConfirmInitialDepositIntentMessage;
|
|
43
|
+
exports.generatePoolInitializationIntentMessage = intents.generatePoolInitializationIntentMessage;
|
|
44
|
+
exports.generatePoolSwapIntentMessage = intents.generatePoolSwapIntentMessage;
|
|
45
|
+
exports.generateRegisterHostIntentMessage = intents.generateRegisterHostIntentMessage;
|
|
46
|
+
exports.generateRemoveLiquidityIntentMessage = intents.generateRemoveLiquidityIntentMessage;
|
|
47
|
+
exports.generateWithdrawHostFeesIntentMessage = intents.generateWithdrawHostFeesIntentMessage;
|
|
48
|
+
exports.createWalletSigner = signer.createWalletSigner;
|
|
49
|
+
exports.convertSparkAddressToNetwork = sparkAddress.convertSparkAddressToNetwork;
|
|
50
|
+
exports.decodeSparkAddress = sparkAddress.decodeSparkAddress;
|
|
51
|
+
exports.encodeSparkAddress = sparkAddress.encodeSparkAddress;
|
|
52
|
+
exports.getNetworkFromAddress = sparkAddress.getNetworkFromAddress;
|
|
53
|
+
exports.isValidPublicKey = sparkAddress.isValidPublicKey;
|
|
54
|
+
exports.isValidSparkAddress = sparkAddress.isValidSparkAddress;
|
|
55
|
+
exports.looksLikePublicKey = sparkAddress.looksLikePublicKey;
|
|
56
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { NetworkConfig } from "../config";
|
|
2
|
-
import { TypedAmmApi } from "./typed-endpoints";
|
|
3
2
|
export interface RequestOptions {
|
|
4
3
|
headers?: Record<string, string>;
|
|
5
4
|
body?: any;
|
|
@@ -8,7 +7,6 @@ export interface RequestOptions {
|
|
|
8
7
|
export declare class ApiClient {
|
|
9
8
|
private config;
|
|
10
9
|
private authToken?;
|
|
11
|
-
readonly amm: TypedAmmApi;
|
|
12
10
|
constructor(config: NetworkConfig);
|
|
13
11
|
setAuthToken(token: string): void;
|
|
14
12
|
private makeRequest;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CAC1C;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAS;gBAEf,MAAM,EAAE,aAAa;IAIjC,YAAY,CAAC,KAAK,EAAE,MAAM;YAIZ,WAAW;IA0EnB,OAAO,CAAC,CAAC,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,EACT,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC;IAOP,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAS7D,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IASjE,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;CAU1E"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
class ApiClient {
|
|
3
4
|
config;
|
|
4
5
|
authToken;
|
|
5
|
-
amm;
|
|
6
6
|
constructor(config) {
|
|
7
7
|
this.config = config;
|
|
8
|
-
this.amm = new TypedAmmApi(this);
|
|
9
8
|
}
|
|
10
9
|
setAuthToken(token) {
|
|
11
10
|
this.authToken = token;
|
|
@@ -82,4 +81,6 @@ export class ApiClient {
|
|
|
82
81
|
return this.makeRequest(`${this.config.sparkScanUrl}${path}`, "GET", options);
|
|
83
82
|
}
|
|
84
83
|
}
|
|
85
|
-
|
|
84
|
+
|
|
85
|
+
exports.ApiClient = ApiClient;
|
|
86
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sources":["../../../../../../src/api/client.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typed-endpoints.d.ts","sourceRoot":"","sources":["../../../../src/api/typed-endpoints.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Typed API endpoints for the Flashnet AMM Gateway
|
|
5
|
+
*/
|
|
6
|
+
class TypedAmmApi {
|
|
7
|
+
client;
|
|
8
|
+
constructor(client) {
|
|
9
|
+
this.client = client;
|
|
10
|
+
}
|
|
11
|
+
// ===== Authentication Endpoints =====
|
|
12
|
+
/**
|
|
13
|
+
* Request authentication challenge
|
|
14
|
+
* @POST /v1/auth/challenge
|
|
15
|
+
*/
|
|
16
|
+
async getChallenge(request) {
|
|
17
|
+
return this.client.ammPost("/v1/auth/challenge", request);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Verify challenge and get access token
|
|
21
|
+
* @POST /v1/auth/verify
|
|
22
|
+
*/
|
|
23
|
+
async verify(request) {
|
|
24
|
+
return this.client.ammPost("/v1/auth/verify", request);
|
|
25
|
+
}
|
|
26
|
+
// ===== Host Endpoints =====
|
|
27
|
+
/**
|
|
28
|
+
* Register a new host
|
|
29
|
+
* @POST /v1/hosts/register
|
|
30
|
+
* @requires Bearer token
|
|
31
|
+
*/
|
|
32
|
+
async registerHost(request) {
|
|
33
|
+
return this.client.ammPost("/v1/hosts/register", request);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get host information
|
|
37
|
+
* @GET /v1/hosts/{namespace}
|
|
38
|
+
*/
|
|
39
|
+
async getHost(namespace) {
|
|
40
|
+
return this.client.ammGet(`/v1/hosts/${namespace}`);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Withdraw host fees
|
|
44
|
+
* @POST /v1/hosts/withdraw-fees
|
|
45
|
+
* @requires Bearer token
|
|
46
|
+
*/
|
|
47
|
+
async withdrawHostFees(request) {
|
|
48
|
+
return this.client.ammPost("/v1/hosts/withdraw-fees", request);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get pool host fees
|
|
52
|
+
* @POST /v1/hosts/pool-fees
|
|
53
|
+
* @requires Bearer token
|
|
54
|
+
*/
|
|
55
|
+
async getPoolHostFees(request) {
|
|
56
|
+
return this.client.ammPost("/v1/hosts/pool-fees", request);
|
|
57
|
+
}
|
|
58
|
+
// ===== Pool Endpoints =====
|
|
59
|
+
/**
|
|
60
|
+
* Create constant product pool
|
|
61
|
+
* @POST /v1/pools/constant-product
|
|
62
|
+
* @requires Bearer token
|
|
63
|
+
*/
|
|
64
|
+
async createConstantProductPool(request) {
|
|
65
|
+
return this.client.ammPost("/v1/pools/constant-product", request);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Create single-sided pool
|
|
69
|
+
* @POST /v1/pools/single-sided
|
|
70
|
+
* @requires Bearer token
|
|
71
|
+
*/
|
|
72
|
+
async createSingleSidedPool(request) {
|
|
73
|
+
return this.client.ammPost("/v1/pools/single-sided", request);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Confirm initial deposit for single-sided pool
|
|
77
|
+
* @POST /v1/pools/single-sided/confirm-initial-deposit
|
|
78
|
+
* @requires Bearer token
|
|
79
|
+
*/
|
|
80
|
+
async confirmInitialDeposit(request) {
|
|
81
|
+
return this.client.ammPost("/v1/pools/single-sided/confirm-initial-deposit", request);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* List pools with filters
|
|
85
|
+
* @GET /v1/pools
|
|
86
|
+
*/
|
|
87
|
+
async listPools(query) {
|
|
88
|
+
return this.client.ammGet("/v1/pools", {
|
|
89
|
+
params: query,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get pool details
|
|
94
|
+
* @GET /v1/pools/{poolId}
|
|
95
|
+
*/
|
|
96
|
+
async getPool(poolId) {
|
|
97
|
+
return this.client.ammGet(`/v1/pools/${poolId}`);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Get LP position details
|
|
101
|
+
* @GET /v1/pools/{poolId}/lp/{providerPublicKey}
|
|
102
|
+
* @requires Bearer token
|
|
103
|
+
*/
|
|
104
|
+
async getLpPosition(poolId, providerPublicKey) {
|
|
105
|
+
return this.client.ammGet(`/v1/pools/${poolId}/lp/${providerPublicKey}`);
|
|
106
|
+
}
|
|
107
|
+
// ===== Liquidity Endpoints =====
|
|
108
|
+
/**
|
|
109
|
+
* Add liquidity to pool
|
|
110
|
+
* @POST /v1/liquidity/add
|
|
111
|
+
* @requires Bearer token
|
|
112
|
+
*/
|
|
113
|
+
async addLiquidity(request) {
|
|
114
|
+
return this.client.ammPost("/v1/liquidity/add", request);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Simulate adding liquidity
|
|
118
|
+
* @POST /v1/liquidity/add/simulate
|
|
119
|
+
*/
|
|
120
|
+
async simulateAddLiquidity(request) {
|
|
121
|
+
return this.client.ammPost("/v1/liquidity/add/simulate", request);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Remove liquidity from pool
|
|
125
|
+
* @POST /v1/liquidity/remove
|
|
126
|
+
* @requires Bearer token
|
|
127
|
+
*/
|
|
128
|
+
async removeLiquidity(request) {
|
|
129
|
+
return this.client.ammPost("/v1/liquidity/remove", request);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Simulate removing liquidity
|
|
133
|
+
* @POST /v1/liquidity/remove/simulate
|
|
134
|
+
*/
|
|
135
|
+
async simulateRemoveLiquidity(request) {
|
|
136
|
+
return this.client.ammPost("/v1/liquidity/remove/simulate", request);
|
|
137
|
+
}
|
|
138
|
+
// ===== Swap Endpoints =====
|
|
139
|
+
/**
|
|
140
|
+
* Execute swap
|
|
141
|
+
* @POST /v1/swap
|
|
142
|
+
* @requires Bearer token
|
|
143
|
+
*/
|
|
144
|
+
async executeSwap(request) {
|
|
145
|
+
return this.client.ammPost("/v1/swap", request);
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Simulate swap
|
|
149
|
+
* @POST /v1/swap/simulate
|
|
150
|
+
*/
|
|
151
|
+
async simulateSwap(request) {
|
|
152
|
+
return this.client.ammPost("/v1/swap/simulate", request);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Get swaps for a pool
|
|
156
|
+
* @GET /v1/pools/{lpPubkey}/swaps
|
|
157
|
+
*/
|
|
158
|
+
async getPoolSwaps(lpPubkey, query) {
|
|
159
|
+
return this.client.ammGet(`/v1/pools/${lpPubkey}/swaps`, { params: query });
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Get global swaps
|
|
163
|
+
* @GET /v1/swaps
|
|
164
|
+
*/
|
|
165
|
+
async getGlobalSwaps(query) {
|
|
166
|
+
return this.client.ammGet("/v1/swaps", {
|
|
167
|
+
params: query,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Get user swaps
|
|
172
|
+
* @GET /v1/swaps/user/{userPublicKey}
|
|
173
|
+
*/
|
|
174
|
+
async getUserSwaps(userPublicKey, query) {
|
|
175
|
+
return this.client.ammGet(`/v1/swaps/user/${userPublicKey}`, { params: query });
|
|
176
|
+
}
|
|
177
|
+
// ===== Status Endpoints =====
|
|
178
|
+
/**
|
|
179
|
+
* Ping settlement service
|
|
180
|
+
* @GET /v1/ping
|
|
181
|
+
*/
|
|
182
|
+
async ping() {
|
|
183
|
+
return this.client.ammGet("/v1/ping");
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Error checking utilities
|
|
188
|
+
*/
|
|
189
|
+
function isFlashnetError(error) {
|
|
190
|
+
return (typeof error === "object" &&
|
|
191
|
+
error !== null &&
|
|
192
|
+
"code" in error &&
|
|
193
|
+
"msg" in error &&
|
|
194
|
+
typeof error.code === "number" &&
|
|
195
|
+
typeof error.msg === "string");
|
|
196
|
+
}
|
|
197
|
+
function isApiError(error) {
|
|
198
|
+
return (typeof error === "object" &&
|
|
199
|
+
error !== null &&
|
|
200
|
+
"error" in error &&
|
|
201
|
+
typeof error.error === "object");
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
exports.TypedAmmApi = TypedAmmApi;
|
|
205
|
+
exports.isApiError = isApiError;
|
|
206
|
+
exports.isFlashnetError = isFlashnetError;
|
|
207
|
+
//# sourceMappingURL=typed-endpoints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typed-endpoints.js","sources":["../../../../../../src/api/typed-endpoints.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -32,10 +32,10 @@ export declare class ValidationError extends Error {
|
|
|
32
32
|
/**
|
|
33
33
|
* Validates a request object against a set of rules
|
|
34
34
|
*/
|
|
35
|
-
export declare function validateRequest<T extends Record<string,
|
|
35
|
+
export declare function validateRequest<T extends Record<string, unknown>>(request: T, rules: ValidationRules<T>): void;
|
|
36
36
|
export interface ValidationRule {
|
|
37
37
|
required?: boolean;
|
|
38
|
-
validator?: (value:
|
|
38
|
+
validator?: (value: unknown) => boolean;
|
|
39
39
|
message?: string;
|
|
40
40
|
}
|
|
41
41
|
export type ValidationRules<T> = {
|
|
@@ -57,7 +57,7 @@ export declare const commonValidationRules: {
|
|
|
57
57
|
};
|
|
58
58
|
nonce: {
|
|
59
59
|
required: boolean;
|
|
60
|
-
validator: (v:
|
|
60
|
+
validator: (v: unknown) => boolean;
|
|
61
61
|
message: string;
|
|
62
62
|
};
|
|
63
63
|
amount: {
|
|
@@ -67,7 +67,7 @@ export declare const commonValidationRules: {
|
|
|
67
67
|
};
|
|
68
68
|
bps: {
|
|
69
69
|
required: boolean;
|
|
70
|
-
validator: (v:
|
|
70
|
+
validator: (v: unknown) => boolean;
|
|
71
71
|
message: string;
|
|
72
72
|
};
|
|
73
73
|
};
|
|
@@ -92,7 +92,7 @@ export declare const constantProductPoolValidationRules: {
|
|
|
92
92
|
};
|
|
93
93
|
lpFeeRateBps: {
|
|
94
94
|
required: boolean;
|
|
95
|
-
validator: (v:
|
|
95
|
+
validator: (v: unknown) => boolean;
|
|
96
96
|
message: string;
|
|
97
97
|
};
|
|
98
98
|
integratorNamespace: {
|
|
@@ -102,7 +102,7 @@ export declare const constantProductPoolValidationRules: {
|
|
|
102
102
|
};
|
|
103
103
|
nonce: {
|
|
104
104
|
required: boolean;
|
|
105
|
-
validator: (v:
|
|
105
|
+
validator: (v: unknown) => boolean;
|
|
106
106
|
message: string;
|
|
107
107
|
};
|
|
108
108
|
signature: {
|
|
@@ -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"}
|