@bitflowlabs/core-sdk 2.0.2 → 2.1.3

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 (42) hide show
  1. package/dist/src/BitflowSDK.d.ts +6 -4
  2. package/dist/src/BitflowSDK.js +439 -239
  3. package/dist/src/BitflowSDK.js.map +1 -1
  4. package/dist/src/helpers/callReadOnlyHelper.d.ts +7 -1
  5. package/dist/src/helpers/callReadOnlyHelper.js +201 -26
  6. package/dist/src/helpers/callReadOnlyHelper.js.map +1 -1
  7. package/dist/src/keeper/keeperAPI.js +3 -48
  8. package/dist/src/keeper/keeperAPI.js.map +1 -1
  9. package/dist/src/keeper/types.d.ts +27 -10
  10. package/dist/src/keeper/types.js.map +1 -1
  11. package/dist/src/test/testMethods.js +10 -0
  12. package/dist/src/test/testMethods.js.map +1 -1
  13. package/package.json +2 -1
  14. package/src/BitflowSDK.ts +532 -269
  15. package/src/helpers/callReadOnlyHelper.ts +258 -32
  16. package/src/keeper/keeperAPI.ts +5 -68
  17. package/src/keeper/types.ts +28 -11
  18. package/src/test/testMethods.ts +19 -0
  19. package/dist/src/test-get-user.d.ts +0 -1
  20. package/dist/src/test-get-user.js +0 -77
  21. package/dist/src/test-get-user.js.map +0 -1
  22. package/dist/src/test-keeper-routes.d.ts +0 -1
  23. package/dist/src/test-keeper-routes.js +0 -67
  24. package/dist/src/test-keeper-routes.js.map +0 -1
  25. package/dist/src/test-order.d.ts +0 -1
  26. package/dist/src/test-order.js +0 -71
  27. package/dist/src/test-order.js.map +0 -1
  28. package/dist/src/test-raw-token-response.d.ts +0 -1
  29. package/dist/src/test-raw-token-response.js +0 -79
  30. package/dist/src/test-raw-token-response.js.map +0 -1
  31. package/dist/src/test-sdk.d.ts +0 -1
  32. package/dist/src/test-sdk.js +0 -229
  33. package/dist/src/test-sdk.js.map +0 -1
  34. package/dist/src/test-token.fetch.d.ts +0 -1
  35. package/dist/src/test-token.fetch.js +0 -63
  36. package/dist/src/test-token.fetch.js.map +0 -1
  37. package/src/test-get-user.ts +0 -87
  38. package/src/test-keeper-routes.ts +0 -76
  39. package/src/test-order.ts +0 -81
  40. package/src/test-raw-token-response.ts +0 -124
  41. package/src/test-sdk.ts +0 -262
  42. package/src/test-token.fetch.ts +0 -72
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const BitflowSDK_1 = require("./BitflowSDK");
5
- const dotenv_1 = tslib_1.__importDefault(require("dotenv"));
6
- dotenv_1.default.config();
7
- async function testKeeperRoutes() {
8
- var _a, _b;
9
- const sdk = new BitflowSDK_1.BitflowSDK({
10
- BITFLOW_API_HOST: process.env.BITFLOW_API_HOST,
11
- BITFLOW_API_KEY: process.env.BITFLOW_API_KEY,
12
- READONLY_CALL_API_HOST: process.env.READONLY_CALL_API_HOST,
13
- });
14
- console.log("Testing Keeper Routes Functionality...\n");
15
- // Test 1: Regular routes (without keeper parameter)
16
- console.log("1. Testing regular routes for token-aeusdc...");
17
- try {
18
- const regularRoutes = await sdk.getPossibleSwaps("token-stx");
19
- console.log("Regular routes count:", Object.keys(regularRoutes).length);
20
- console.log("Sample of regular routes:", JSON.stringify(Object.keys(regularRoutes).slice(0, 3), null, 2));
21
- }
22
- catch (error) {
23
- console.error("Error fetching regular routes:", error);
24
- }
25
- console.log("----------------------------------------\n");
26
- // Test 2: Keeper routes
27
- console.log("2. Testing keeper routes for token-aeusdc...");
28
- try {
29
- const keeperRoutes = await sdk.getKeeperPossibleSwaps("token-stx");
30
- console.log("Keeper routes count:", Object.keys(keeperRoutes).length);
31
- console.log("Sample of keeper routes:", JSON.stringify(Object.keys(keeperRoutes).slice(0, 3), null, 2));
32
- }
33
- catch (error) {
34
- console.error("Error fetching keeper routes:", error);
35
- }
36
- console.log("----------------------------------------\n");
37
- // Test 3: Compare routes
38
- console.log("3. Comparing regular vs keeper routes...");
39
- try {
40
- const regularRoutes = await sdk.getPossibleSwaps("token-stx");
41
- const keeperRoutes = await sdk.getKeeperPossibleSwaps("token-stx");
42
- console.log("Regular routes count:", Object.keys(regularRoutes).length);
43
- console.log("Keeper routes count:", Object.keys(keeperRoutes).length);
44
- // Compare the first route's structure
45
- const firstRegularTokenY = Object.keys(regularRoutes)[0];
46
- const firstKeeperTokenY = Object.keys(keeperRoutes)[0];
47
- if (firstRegularTokenY && firstKeeperTokenY) {
48
- console.log("\nSample Regular Route Structure:", {
49
- tokenY: firstRegularTokenY,
50
- routeCount: regularRoutes[firstRegularTokenY].length,
51
- firstRouteDexPath: (_a = regularRoutes[firstRegularTokenY][0]) === null || _a === void 0 ? void 0 : _a.dex_path,
52
- });
53
- console.log("\nSample Keeper Route Structure:", {
54
- tokenY: firstKeeperTokenY,
55
- routeCount: keeperRoutes[firstKeeperTokenY].length,
56
- firstRouteDexPath: (_b = keeperRoutes[firstKeeperTokenY][0]) === null || _b === void 0 ? void 0 : _b.dex_path,
57
- });
58
- }
59
- }
60
- catch (error) {
61
- console.error("Error comparing routes:", error);
62
- }
63
- }
64
- testKeeperRoutes()
65
- .then(() => console.log("\nAll tests completed"))
66
- .catch(console.error);
67
- //# sourceMappingURL=test-keeper-routes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-keeper-routes.js","sourceRoot":"","sources":["../../src/test-keeper-routes.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,71 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const BitflowSDK_1 = require("./BitflowSDK");
5
- const types_1 = require("./keeper/types");
6
- const dotenv_1 = tslib_1.__importDefault(require("dotenv"));
7
- dotenv_1.default.config();
8
- async function testCreateOrder() {
9
- console.log("Starting Order Creation Test...\n");
10
- const sdk = new BitflowSDK_1.BitflowSDK({
11
- BITFLOW_API_HOST: process.env.BITFLOW_API_HOST,
12
- BITFLOW_API_KEY: process.env.BITFLOW_API_KEY,
13
- READONLY_CALL_API_HOST: process.env.READONLY_CALL_API_HOST,
14
- KEEPER_API_KEY: process.env.KEEPER_API_KEY,
15
- });
16
- try {
17
- // First get a keeper contract
18
- console.log("Getting keeper contract...");
19
- const keeperContractResponse = await sdk.getOrCreateKeeperContract({
20
- stacksAddress: "SP228WEAEMYX21RW0TT5T38THPNDYPPGGVW2RP570",
21
- keeperType: types_1.KeeperType.MULTI_ACTION_V1,
22
- allActionsApproved: true,
23
- });
24
- if (!keeperContractResponse.keeperContract.contractIdentifier) {
25
- throw new Error("Failed to get keeper contract identifier");
26
- }
27
- console.log("\nCreating order with the following parameters:");
28
- const orderParams = {
29
- stacksAddress: "SP228WEAEMYX21RW0TT5T38THPNDYPPGGVW2RP570",
30
- keeperType: types_1.KeeperType.MULTI_ACTION_V1,
31
- contractIdentifier: keeperContractResponse.keeperContract.contractIdentifier,
32
- actionAmount: "100000000", // 1 BTC
33
- feeRecipient: "SP16BPKS1DN5AYQ5MDHFEYXTSP352QG6JS2E0N8YP",
34
- actionType: types_1.ActionType.SWAP_XYK_SWAP_HELPER,
35
- bitcoinTxId: "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
36
- minReceived: {
37
- amount: "0",
38
- autoAdjust: true,
39
- },
40
- actionAggregatorTokens: {
41
- tokenXId: "token-pbtc",
42
- tokenYId: "token-stx",
43
- },
44
- };
45
- console.log("Order Parameters:", JSON.stringify(orderParams, null, 2));
46
- console.log("\nSubmitting order...");
47
- const createOrderResponse = await sdk.createOrder(orderParams);
48
- console.log("\nOrder Creation Response:", JSON.stringify(createOrderResponse, null, 2));
49
- if (createOrderResponse.order) {
50
- console.log("\n✅ Order created successfully!");
51
- console.log(`Order ID: ${createOrderResponse.order.orderId}`);
52
- console.log(`Status: ${createOrderResponse.order.status}`);
53
- console.log(`Creation Date: ${createOrderResponse.order.creationDate}`);
54
- }
55
- else {
56
- console.log("\n❌ Failed to create order");
57
- if (createOrderResponse.error) {
58
- console.error("Error:", createOrderResponse.error);
59
- }
60
- }
61
- }
62
- catch (error) {
63
- console.error("\n❌ Test failed with error:", error);
64
- throw error;
65
- }
66
- }
67
- // Run the test
68
- testCreateOrder()
69
- .then(() => console.log("\nTest execution completed"))
70
- .catch(console.error);
71
- //# sourceMappingURL=test-order.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-order.js","sourceRoot":"","sources":["../../src/test-order.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,79 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const BitflowSDK_1 = require("./BitflowSDK");
5
- const dotenv_1 = tslib_1.__importDefault(require("dotenv"));
6
- dotenv_1.default.config();
7
- async function testRawTokenResponse() {
8
- const sdk = new BitflowSDK_1.BitflowSDK({
9
- BITFLOW_API_HOST: process.env.BITFLOW_API_HOST,
10
- BITFLOW_API_KEY: process.env.BITFLOW_API_KEY,
11
- READONLY_CALL_API_HOST: process.env.READONLY_CALL_API_HOST,
12
- });
13
- try {
14
- console.log("\nFetching raw token data...");
15
- const response = await fetch(`${process.env.BITFLOW_API_HOST}/getAllTokensAndPools?key=${process.env.BITFLOW_API_KEY}`);
16
- if (!response.ok) {
17
- throw new Error(`HTTP error! status: ${response.status}`);
18
- }
19
- const data = await response.json();
20
- // Log the shape of the response
21
- console.log("\nResponse Structure:");
22
- console.log(JSON.stringify({
23
- totalTokens: data.tokens.length,
24
- sampleKeys: Object.keys(data.tokens[0]),
25
- }, null, 2));
26
- // Find different types of tokens
27
- const layerOneToken = data.tokens.find((t) => t.layerOneAsset !== null);
28
- const bridgeToken = data.tokens.find((t) => t.bridge === "TRUE");
29
- const keeperToken = data.tokens.find((t) => t.isKeeperToken === true);
30
- console.log("\nToken Examples:");
31
- if (layerOneToken) {
32
- console.log("\n1. Token with LayerOneAsset:");
33
- console.log(JSON.stringify({
34
- name: layerOneToken.name,
35
- tokenId: layerOneToken["token-id"],
36
- layerOneAsset: layerOneToken.layerOneAsset,
37
- bridge: layerOneToken.bridge,
38
- isKeeperToken: layerOneToken.isKeeperToken,
39
- }, null, 2));
40
- }
41
- if (bridgeToken) {
42
- console.log("\n2. Bridge Token:");
43
- console.log(JSON.stringify({
44
- name: bridgeToken.name,
45
- tokenId: bridgeToken["token-id"],
46
- layerOneAsset: bridgeToken.layerOneAsset,
47
- bridge: bridgeToken.bridge,
48
- isKeeperToken: bridgeToken.isKeeperToken,
49
- }, null, 2));
50
- }
51
- if (keeperToken) {
52
- console.log("\n3. Keeper Token:");
53
- console.log(JSON.stringify({
54
- name: keeperToken.name,
55
- tokenId: keeperToken["token-id"],
56
- layerOneAsset: keeperToken.layerOneAsset,
57
- bridge: keeperToken.bridge,
58
- isKeeperToken: keeperToken.isKeeperToken,
59
- }, null, 2));
60
- }
61
- // Statistics
62
- console.log("\nStatistics:");
63
- console.log(JSON.stringify({
64
- totalTokens: data.tokens.length,
65
- layerOneTokens: data.tokens.filter((t) => t.layerOneAsset !== null).length,
66
- bridgeTokens: data.tokens.filter((t) => t.bridge === "TRUE")
67
- .length,
68
- keeperTokens: data.tokens.filter((t) => t.isKeeperToken === true)
69
- .length,
70
- }, null, 2));
71
- }
72
- catch (error) {
73
- console.error("Error fetching raw token data:", error);
74
- }
75
- }
76
- testRawTokenResponse()
77
- .then(() => console.log("\nTest completed"))
78
- .catch(console.error);
79
- //# sourceMappingURL=test-raw-token-response.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-raw-token-response.js","sourceRoot":"","sources":["../../src/test-raw-token-response.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAC1C,4DAA4B;AAE5B,gBAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,KAAK,UAAU,oBAAoB;IACjC,MAAM,GAAG,GAAG,IAAI,uBAAU,CAAC;QACzB,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAiB;QAC/C,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,eAAgB;QAC7C,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAuB;KAC5D,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,6BAA6B,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAC1F,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,gCAAgC;QAChC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;YACE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC/B,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACxC,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;QAEF,iCAAiC;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CACpC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,IAAI,CACrC,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACtE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC;QAE3E,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAEjC,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;gBACE,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC;gBAClC,aAAa,EAAE,aAAa,CAAC,aAAa;gBAC1C,MAAM,EAAE,aAAa,CAAC,MAAM;gBAC5B,aAAa,EAAE,aAAa,CAAC,aAAa;aAC3C,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;gBACE,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC;gBAChC,aAAa,EAAE,WAAW,CAAC,aAAa;gBACxC,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,aAAa,EAAE,WAAW,CAAC,aAAa;aACzC,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;gBACE,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC;gBAChC,aAAa,EAAE,WAAW,CAAC,aAAa;gBACxC,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,aAAa,EAAE,WAAW,CAAC,aAAa;aACzC,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;QACJ,CAAC;QAED,aAAa;QACb,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;YACE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC/B,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAChC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,IAAI,CACrC,CAAC,MAAM;YACR,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;iBAC9D,MAAM;YACT,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC;iBACnE,MAAM;SACV,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,oBAAoB,EAAE;KACnB,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;KAC3C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,229 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const BitflowSDK_1 = require("./BitflowSDK");
5
- const types_1 = require("./keeper/types");
6
- const dotenv_1 = tslib_1.__importDefault(require("dotenv"));
7
- dotenv_1.default.config();
8
- async function testBitflowSDK() {
9
- const sdk = new BitflowSDK_1.BitflowSDK({
10
- BITFLOW_API_HOST: process.env.BITFLOW_API_HOST,
11
- BITFLOW_API_KEY: process.env.BITFLOW_API_KEY,
12
- READONLY_CALL_API_HOST: process.env.READONLY_CALL_API_HOST,
13
- });
14
- const stacksAddress = "SP228WEAEMYX21RW0TT5T38THPNDYPPGGVW2RP570";
15
- const orderId = "cf4bb181-33e7-498a-9eb5-3d120abab9cf";
16
- console.log("Starting BitflowSDK tests...\n");
17
- // // 1) Test getUser
18
- // console.log("1. Testing getUser...");
19
- // try {
20
- // const userResponse = await sdk.getUser(stacksAddress);
21
- // console.log("User data:", JSON.stringify(userResponse, null, 2));
22
- // } catch (error) {
23
- // console.error("Error in getUser:", error);
24
- // }
25
- // console.log("----------------------------------------\n");
26
- // // 2) Test getOrder
27
- // console.log("2. Testing getOrder...");
28
- // try {
29
- // const orderResponse = await sdk.getOrder(orderId);
30
- // console.log("Order data:", JSON.stringify(orderResponse, null, 2));
31
- // } catch (error) {
32
- // console.error("Error in getOrder:", error);
33
- // }
34
- // console.log("----------------------------------------\n");
35
- // // 3) Test getOrCreateKeeperContract
36
- // console.log("3. Testing getOrCreateKeeperContract...");
37
- // try {
38
- // const keeperContractResponse = await sdk.getOrCreateKeeperContract({
39
- // stacksAddress,
40
- // keeperType: KeeperType.MULTI_ACTION_V1,
41
- // deployContract: true,
42
- // allActionsApproved: true,
43
- // });
44
- // console.log(
45
- // "Keeper contract data:",
46
- // JSON.stringify(keeperContractResponse, null, 2)
47
- // );
48
- // } catch (error) {
49
- // console.error("Error in getOrCreateKeeperContract:", error);
50
- // }
51
- // console.log("----------------------------------------\n");
52
- // 4) Test getKeeperAggregatorRouteData
53
- console.log("\n4. Testing getKeeperAggregatorRouteData (pBTC -> STX)...");
54
- try {
55
- const aggregatorData = await sdk.getKeeperAggregatorRouteData("token-pbtc", "token-sbtc", 100000000);
56
- console.log("Aggregator route data:", JSON.stringify(aggregatorData, null, 2));
57
- }
58
- catch (error) {
59
- console.error("Error getting keeper aggregator route data:", error);
60
- }
61
- console.log("----------------------------------------\n");
62
- // 5) Test getQuote
63
- console.log("\n5. Testing MULTI_ACTION_V1 quote...");
64
- try {
65
- const multiActionParams = {
66
- stacksAddress: "SP228WEAEMYX21RW0TT5T38THPNDYPPGGVW2RP570",
67
- actionAmount: "100000000",
68
- keeperType: types_1.KeeperType.MULTI_ACTION_V1,
69
- actionType: types_1.ActionType.SWAP_XYK_SWAP_HELPER,
70
- tokenXId: "token-pbtc",
71
- tokenYId: "token-stx",
72
- };
73
- const quoteResponseMultiAction = await sdk.getQuote(multiActionParams);
74
- console.log("MULTI_ACTION_V1 Quote Response:", JSON.stringify(quoteResponseMultiAction, null, 2));
75
- }
76
- catch (error) {
77
- console.error("Error in getQuote:", error);
78
- }
79
- console.log("----------------------------------------\n");
80
- // // 6) Test createOrder
81
- // console.log("6. Testing createOrder...");
82
- // let keeperContractIdentifier: string | undefined;
83
- // try {
84
- // const keeperContractResponse = await sdk.getOrCreateKeeperContract({
85
- // stacksAddress,
86
- // keeperType: KeeperType.MULTI_ACTION_V1,
87
- // allActionsApproved: true,
88
- // });
89
- // keeperContractIdentifier =
90
- // keeperContractResponse.keeperContract.contractIdentifier;
91
- // const orderParams: CreateOrderParams = {
92
- // stacksAddress,
93
- // actionAmount: "5000",
94
- // feeRecipient: "SP16BPKS1DN5AYQ5MDHFEYXTSP352QG6JS2E0N8YP",
95
- // tokenOrder: ["BTC", "PBTC"],
96
- // keeperType: KeeperType.MULTI_ACTION_V1,
97
- // contractIdentifier: keeperContractIdentifier,
98
- // actionType: "SWAP_XYK_STABLESWAP_SWAP_HELPER",
99
- // bitcoinTxId:
100
- // "73e7cd80138044f73b7f08c881c51e1818acba0a3afab763724e399f33f89975",
101
- // minReceived: {
102
- // amount: "1734",
103
- // autoAdjust: true,
104
- // },
105
- // actionFunctionArgs: {
106
- // tokenList: {
107
- // a: "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-token",
108
- // b: "SP14NS8MVBRHXMM96BQY0727AJ59SWPV7RMHC0NCG.pontis-bridge-pBTC",
109
- // c: "SP14NS8MVBRHXMM96BQY0727AJ59SWPV7RMHC0NCG.pontis-bridge-pBTC",
110
- // d: "SM1793C4R5PZ4NS4VQ4WMP7SKKYVH8JZEWSZ9HCCR.token-stx-v-1-2",
111
- // },
112
- // xykPoolList: {
113
- // a: "SM1793C4R5PZ4NS4VQ4WMP7SKKYVH8JZEWSZ9HCCR.xyk-pool-pbtc-stx-v-1-1",
114
- // },
115
- // stableswapPoolList: {
116
- // a: "SM1793C4R5PZ4NS4VQ4WMP7SKKYVH8JZEWSZ9HCCR.stableswap-pool-sbtc-pbtc-v-1-1",
117
- // },
118
- // boolList: {
119
- // a: "true",
120
- // },
121
- // },
122
- // };
123
- // const createOrderResponse = await sdk.createOrder(orderParams);
124
- // console.log(
125
- // "Create order response:",
126
- // JSON.stringify(createOrderResponse, null, 2)
127
- // );
128
- // } catch (error) {
129
- // console.error("Error creating order:", error);
130
- // }
131
- // console.log("----------------------------------------\n");
132
- // // 7) Test createGroupOrder
133
- // console.log("\n7. Testing createGroupOrder...");
134
- // try {
135
- // const now = new Date();
136
- // const tomorrow = new Date(now.getTime() + 24 * 60 * 60 * 1000);
137
- // const createGroupOrderParams: CreateGroupOrderParams = {
138
- // stacksAddress: "SP228WEAEMYX21RW0TT5T38THPNDYPPGGVW2RP570",
139
- // amountPerOrder: 500000,
140
- // numberOfOrders: 4,
141
- // executionFrequency: 300000,
142
- // feeRecipient: "SP16BPKS1DN5AYQ5MDHFEYXTSP352QG6JS2E0N8YP",
143
- // fundingTokens: {
144
- // STX: "1000000",
145
- // },
146
- // bitcoinTxId:
147
- // "cbf1c87f2b81f6bcd6c83bcf512b6178edc0fcdf7a1595b174ecbad45660a3b7",
148
- // keeperType: KeeperType.MULTI_ACTION_V1,
149
- // actionType: "SWAP_XYK_SWAP_HELPER",
150
- // actionFunctionArgs: {
151
- // tokenList: {
152
- // a: "SM1793C4R5PZ4NS4VQ4WMP7SKKYVH8JZEWSZ9HCCR.token-stx-v-1-2",
153
- // b: "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-token",
154
- // },
155
- // xykPoolList: {
156
- // a: "SM1793C4R5PZ4NS4VQ4WMP7SKKYVH8JZEWSZ9HCCR.xyk-pool-sbtc-stx-v-1-1",
157
- // },
158
- // },
159
- // nextExecutionAfter: tomorrow,
160
- // };
161
- // const createGroupOrderResponse = await sdk.createGroupOrder(
162
- // createGroupOrderParams
163
- // );
164
- // console.log(
165
- // "Create Group Order Response:",
166
- // JSON.stringify(createGroupOrderResponse, null, 2)
167
- // );
168
- // console.log("----------------------------------------\n");
169
- // } catch (error) {
170
- // console.error("Error creating group order:", error);
171
- // }
172
- // // 8) Test getGroupOrder (without includeOrders)
173
- // console.log("\n8. Testing getGroupOrder without includeOrders...");
174
- // try {
175
- // const groupId = "e415a039-b1f1-4730-a66c-3d0c46f1f148";
176
- // const getGroupOrderResponse = await sdk.getGroupOrder(groupId);
177
- // console.log(
178
- // "Get Group Order Response (without orders):",
179
- // JSON.stringify(getGroupOrderResponse, null, 2)
180
- // );
181
- // } catch (error) {
182
- // console.error("Error getting group order:", error);
183
- // }
184
- // console.log("----------------------------------------\n");
185
- // // 9) Test getGroupOrder (with includeOrders)
186
- // console.log("\n9. Testing getGroupOrder with includeOrders...");
187
- // try {
188
- // const groupId = "e415a039-b1f1-4730-a66c-3d0c46f1f148";
189
- // const getGroupOrderWithOrdersResponse = await sdk.getGroupOrder(
190
- // groupId,
191
- // true
192
- // );
193
- // console.log(
194
- // "Get Group Order Response (with orders):",
195
- // JSON.stringify(getGroupOrderWithOrdersResponse, null, 2)
196
- // );
197
- // } catch (error) {
198
- // console.error("Error getting group order (with orders):", error);
199
- // }
200
- // console.log("----------------------------------------\n");
201
- // // 10) Test cancelOrder
202
- // console.log("\n10. Testing cancelOrder...");
203
- // try {
204
- // const firstOrderId = "c50cee19-911c-4645-9562-cbf89f765687";
205
- // const cancelOrderResponse = await sdk.cancelOrder(firstOrderId);
206
- // console.log(
207
- // "Cancel Order Response:",
208
- // JSON.stringify(cancelOrderResponse, null, 2)
209
- // );
210
- // } catch (error) {
211
- // console.error("Error cancelling order:", error);
212
- // }
213
- // console.log("----------------------------------------\n");
214
- // 11) Test cancelGroupOrder
215
- console.log("\n11. Testing cancelGroupOrder...");
216
- try {
217
- const groupIdToCancel = "dc277cd7-c3f9-472b-b607-3b6698f052f6";
218
- const cancelGroupOrderResponse = await sdk.cancelGroupOrder(groupIdToCancel);
219
- console.log("Cancel Group Order Response:", JSON.stringify(cancelGroupOrderResponse, null, 2));
220
- }
221
- catch (error) {
222
- console.error("Error cancelling group order:", error);
223
- }
224
- console.log("----------------------------------------\n");
225
- }
226
- testBitflowSDK()
227
- .then(() => console.log("All tests completed"))
228
- .catch(console.error);
229
- //# sourceMappingURL=test-sdk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-sdk.js","sourceRoot":"","sources":["../../src/test-sdk.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const BitflowSDK_1 = require("./BitflowSDK");
5
- const dotenv_1 = tslib_1.__importDefault(require("dotenv"));
6
- dotenv_1.default.config();
7
- async function testGetKeeperTokens() {
8
- console.log("Starting getKeeperTokens test...\n");
9
- // Initialize SDK with environment variables
10
- const sdk = new BitflowSDK_1.BitflowSDK({
11
- BITFLOW_API_HOST: process.env.BITFLOW_API_HOST,
12
- BITFLOW_API_KEY: process.env.BITFLOW_API_KEY,
13
- READONLY_CALL_API_HOST: process.env.READONLY_CALL_API_HOST,
14
- });
15
- try {
16
- // Get all tokens for comparison
17
- console.log("Fetching all available tokens...");
18
- const allTokens = await sdk.getAvailableTokens();
19
- console.log(`Total number of tokens: ${allTokens.length}`);
20
- // Get keeper tokens
21
- console.log("\nFetching keeper tokens...");
22
- const keeperTokens = await sdk.getKeeperTokens();
23
- console.log(`Number of keeper tokens: ${keeperTokens.length}`);
24
- // Verify all returned tokens are actually keeper tokens
25
- const allAreKeeperTokens = keeperTokens.every((token) => token.isKeeperToken);
26
- console.log("\nValidation:");
27
- console.log(`All returned tokens are keeper tokens: ${allAreKeeperTokens}`);
28
- // Compare with manual filtering
29
- const manuallyFilteredKeeperTokens = allTokens.filter((token) => token.isKeeperToken);
30
- const countMatch = keeperTokens.length === manuallyFilteredKeeperTokens.length;
31
- console.log(`Count matches manual filtering: ${countMatch}`);
32
- // Print some details about the keeper tokens
33
- console.log("\nKeeper Tokens Details:");
34
- keeperTokens.forEach((token) => {
35
- console.log(`- ${token.name} (${token.symbol})`);
36
- console.log(` Token ID: ${token.tokenId}`);
37
- console.log(` Contract: ${token.tokenContract}`);
38
- console.log(` Decimals: ${token.tokenDecimals}`);
39
- console.log(" ---------------");
40
- });
41
- if (allAreKeeperTokens && countMatch) {
42
- console.log("\n✅ getKeeperTokens test passed successfully!");
43
- }
44
- else {
45
- console.log("\n❌ getKeeperTokens test failed!");
46
- if (!allAreKeeperTokens) {
47
- console.error("Error: Some returned tokens are not keeper tokens");
48
- }
49
- if (!countMatch) {
50
- console.error("Error: Token count doesn't match manual filtering");
51
- }
52
- }
53
- }
54
- catch (error) {
55
- console.error("\n❌ Test failed with error:", error);
56
- throw error;
57
- }
58
- }
59
- // Run the test
60
- testGetKeeperTokens()
61
- .then(() => console.log("\nTest execution completed"))
62
- .catch(console.error);
63
- //# sourceMappingURL=test-token.fetch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-token.fetch.js","sourceRoot":"","sources":["../../src/test-token.fetch.ts"],"names":[],"mappings":"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"}
@@ -1,87 +0,0 @@
1
- import { BitflowSDK } from "./BitflowSDK";
2
- import dotenv from "dotenv";
3
-
4
- dotenv.config();
5
-
6
- async function testGetUser() {
7
- console.log("Starting getUser Test...\n");
8
-
9
- // Initialize SDK with environment variables
10
- const sdk = new BitflowSDK({
11
- BITFLOW_API_HOST: process.env.BITFLOW_API_HOST!,
12
- BITFLOW_API_KEY: process.env.BITFLOW_API_KEY!,
13
- READONLY_CALL_API_HOST: process.env.READONLY_CALL_API_HOST!,
14
- KEEPER_API_KEY: process.env.NEXT_PUBLIC_KEEPER_API_KEY!,
15
- KEEPER_API_HOST: process.env.KEEPER_API_HOST!,
16
- });
17
-
18
- // Test case 1: Valid user
19
- console.log("Test Case 1: Fetching a valid user");
20
- try {
21
- const stacksAddress = "SP3D03X5BHMNSAAW71NN7BQRMV4DW2G4JB3MZAGJ8";
22
- console.log(`Fetching user data for address: ${stacksAddress}`);
23
-
24
- const userResponse = await sdk.getUser(stacksAddress);
25
-
26
- if (userResponse.user) {
27
- console.log("\nUser data successfully retrieved:");
28
- console.log(`Stack Address: ${userResponse.user.stacksAddress}`);
29
- console.log(`Bitcoin Address: ${userResponse.user.bitcoinAddress}`);
30
- console.log(`Creation Date: ${userResponse.user.creationDate}`);
31
- console.log(`Last Updated: ${userResponse.user.lastUpdated}`);
32
-
33
- // Log keeper contracts if any
34
- const contractsCount = Object.keys(
35
- userResponse.user.keeperContracts
36
- ).length;
37
- console.log(`\nNumber of keeper contracts: ${contractsCount}`);
38
-
39
- // Log keeper orders if any
40
- const ordersCount = Object.keys(userResponse.user.keeperOrders).length;
41
- console.log(`Number of keeper orders: ${ordersCount}`);
42
-
43
- console.log("\n✅ Test Case 1: Passed");
44
- } else {
45
- console.log("\n❌ Test Case 1: Failed - No user data in response");
46
- if (userResponse.error) {
47
- console.error("Error:", userResponse.error);
48
- }
49
- }
50
- } catch (error) {
51
- console.error("\n❌ Test Case 1: Failed with error:", error);
52
- }
53
-
54
- // Test case 2: Invalid address
55
- console.log("\nTest Case 2: Testing with invalid address");
56
- try {
57
- const invalidAddress = "SP000INVALID000ADDRESS";
58
- console.log(
59
- `Attempting to fetch user data for invalid address: ${invalidAddress}`
60
- );
61
-
62
- const userResponse = await sdk.getUser(invalidAddress);
63
- console.log("Response:", userResponse);
64
- } catch (error) {
65
- console.log("\n✅ Test Case 2: Passed - Properly handled invalid address");
66
- console.log("Error message:", (error as Error).message);
67
- }
68
-
69
- // Test case 3: Empty address
70
- console.log("\nTest Case 3: Testing with empty address");
71
- try {
72
- const emptyAddress = "";
73
- console.log("Attempting to fetch user data with empty address");
74
-
75
- const userResponse = await sdk.getUser(emptyAddress);
76
- console.log("Response:", userResponse);
77
- } catch (error) {
78
- console.log("\n✅ Test Case 3: Passed - Properly handled empty address");
79
- console.log("Error message:", (error as Error).message);
80
- }
81
- }
82
-
83
- // Run the test
84
- testGetUser()
85
- .then(() => console.log("\nAll test cases completed"))
86
- .catch(console.error)
87
- .finally(() => console.log("\nTest execution finished"));