@bitflowlabs/core-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/README.md +205 -0
  2. package/dist/src/BitflowSDK.d.ts +14 -0
  3. package/dist/src/BitflowSDK.js +275 -0
  4. package/dist/src/BitflowSDK.js.map +1 -0
  5. package/dist/src/config.d.ts +3 -0
  6. package/dist/src/config.js +20 -0
  7. package/dist/src/config.js.map +1 -0
  8. package/dist/src/helpers/callGetSwapParams.d.ts +2 -0
  9. package/dist/src/helpers/callGetSwapParams.js +85 -0
  10. package/dist/src/helpers/callGetSwapParams.js.map +1 -0
  11. package/dist/src/helpers/callReadOnlyHelper.d.ts +8 -0
  12. package/dist/src/helpers/callReadOnlyHelper.js +191 -0
  13. package/dist/src/helpers/callReadOnlyHelper.js.map +1 -0
  14. package/dist/src/helpers/callSwapHelper.d.ts +9 -0
  15. package/dist/src/helpers/callSwapHelper.js +41 -0
  16. package/dist/src/helpers/callSwapHelper.js.map +1 -0
  17. package/dist/src/helpers/constructFunctionArgs.d.ts +1 -0
  18. package/dist/src/helpers/constructFunctionArgs.js +22 -0
  19. package/dist/src/helpers/constructFunctionArgs.js.map +1 -0
  20. package/dist/src/helpers/convertValuesHelper.d.ts +2 -0
  21. package/dist/src/helpers/convertValuesHelper.js +181 -0
  22. package/dist/src/helpers/convertValuesHelper.js.map +1 -0
  23. package/dist/src/helpers/fetchContractInterfaceHelper.d.ts +1 -0
  24. package/dist/src/helpers/fetchContractInterfaceHelper.js +20 -0
  25. package/dist/src/helpers/fetchContractInterfaceHelper.js.map +1 -0
  26. package/dist/src/helpers/fetchDataHelper.d.ts +2 -0
  27. package/dist/src/helpers/fetchDataHelper.js +44 -0
  28. package/dist/src/helpers/fetchDataHelper.js.map +1 -0
  29. package/dist/src/helpers/fetchPossibleSwap.d.ts +2 -0
  30. package/dist/src/helpers/fetchPossibleSwap.js +20 -0
  31. package/dist/src/helpers/fetchPossibleSwap.js.map +1 -0
  32. package/dist/src/helpers/getContractInterfaceAndFunction.d.ts +4 -0
  33. package/dist/src/helpers/getContractInterfaceAndFunction.js +15 -0
  34. package/dist/src/helpers/getContractInterfaceAndFunction.js.map +1 -0
  35. package/dist/src/helpers/getFunctionArgs.d.ts +1 -0
  36. package/dist/src/helpers/getFunctionArgs.js +12 -0
  37. package/dist/src/helpers/getFunctionArgs.js.map +1 -0
  38. package/dist/src/helpers/getTokenDecimalsHelper.d.ts +5 -0
  39. package/dist/src/helpers/getTokenDecimalsHelper.js +28 -0
  40. package/dist/src/helpers/getTokenDecimalsHelper.js.map +1 -0
  41. package/dist/src/helpers/getTokenNameHelper.d.ts +2 -0
  42. package/dist/src/helpers/getTokenNameHelper.js +22 -0
  43. package/dist/src/helpers/getTokenNameHelper.js.map +1 -0
  44. package/dist/src/helpers/handleResultHelper.d.ts +4 -0
  45. package/dist/src/helpers/handleResultHelper.js +80 -0
  46. package/dist/src/helpers/handleResultHelper.js.map +1 -0
  47. package/dist/src/helpers/postConditionsHelper.d.ts +2 -0
  48. package/dist/src/helpers/postConditionsHelper.js +135 -0
  49. package/dist/src/helpers/postConditionsHelper.js.map +1 -0
  50. package/dist/src/index.d.ts +2 -0
  51. package/dist/src/index.js +8 -0
  52. package/dist/src/index.js.map +1 -0
  53. package/dist/src/test/testMethods.d.ts +1 -0
  54. package/dist/src/test/testMethods.js +178 -0
  55. package/dist/src/test/testMethods.js.map +1 -0
  56. package/dist/src/types.d.ts +126 -0
  57. package/dist/src/types.js +3 -0
  58. package/dist/src/types.js.map +1 -0
  59. package/package.json +57 -0
  60. package/src/BitflowSDK.ts +385 -0
  61. package/src/config.ts +22 -0
  62. package/src/helpers/callGetSwapParams.ts +122 -0
  63. package/src/helpers/callReadOnlyHelper.ts +243 -0
  64. package/src/helpers/callSwapHelper.ts +53 -0
  65. package/src/helpers/constructFunctionArgs.ts +24 -0
  66. package/src/helpers/convertValuesHelper.ts +214 -0
  67. package/src/helpers/fetchContractInterfaceHelper.ts +19 -0
  68. package/src/helpers/fetchDataHelper.ts +41 -0
  69. package/src/helpers/fetchPossibleSwap.ts +18 -0
  70. package/src/helpers/getContractInterfaceAndFunction.ts +20 -0
  71. package/src/helpers/getFunctionArgs.ts +12 -0
  72. package/src/helpers/getTokenDecimalsHelper.ts +33 -0
  73. package/src/helpers/getTokenNameHelper.ts +26 -0
  74. package/src/helpers/handleResultHelper.ts +85 -0
  75. package/src/helpers/postConditionsHelper.ts +246 -0
  76. package/src/index.ts +2 -0
  77. package/src/test/testMethods.ts +227 -0
  78. package/src/types.ts +137 -0
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.callReadOnlyFunctionHelper = exports.stringifyWithBigInt = void 0;
4
+ const transactions_1 = require("@stacks/transactions");
5
+ const getTokenDecimalsHelper_1 = require("./getTokenDecimalsHelper");
6
+ const constructFunctionArgs_1 = require("./constructFunctionArgs");
7
+ const network_1 = require("@stacks/network");
8
+ const config_1 = require("../config");
9
+ const getContractInterfaceAndFunction_1 = require("./getContractInterfaceAndFunction");
10
+ const handleResultHelper_1 = require("./handleResultHelper");
11
+ const stringifyWithBigInt = (obj) => {
12
+ return JSON.stringify(obj, (_, v) => typeof v === "bigint" ? v.toString() : v);
13
+ };
14
+ exports.stringifyWithBigInt = stringifyWithBigInt;
15
+ const callReadOnlyFunctionHelper = async (contractDeployer, contractName, functionName, parameters, senderAddress, tokenXId, tokenYId, swapData, context) => {
16
+ var _a;
17
+ const network = new network_1.StacksMainnet({ url: config_1.configs.READONLY_CALL_API_HOST });
18
+ try {
19
+ const contractKey = `${contractDeployer}.${contractName}`;
20
+ let contractInterface = context.contractInterfaces[contractKey];
21
+ let functionArgsDefinition = (_a = context.functionArgs[contractKey]) === null || _a === void 0 ? void 0 : _a[functionName];
22
+ if (!contractInterface || !functionArgsDefinition) {
23
+ const result = await (0, getContractInterfaceAndFunction_1.getContractInterfaceAndFunction)(contractDeployer, contractName, functionName);
24
+ if (!contractInterface) {
25
+ contractInterface = result.contractInterface;
26
+ context.contractInterfaces[contractKey] = contractInterface;
27
+ }
28
+ if (!functionArgsDefinition) {
29
+ functionArgsDefinition = result.functionArgs;
30
+ if (!context.functionArgs[contractKey]) {
31
+ context.functionArgs[contractKey] = {};
32
+ }
33
+ context.functionArgs[contractKey][functionName] =
34
+ functionArgsDefinition;
35
+ }
36
+ }
37
+ const tokenXDecimals = (0, getTokenDecimalsHelper_1.getTokenDecimals)(tokenXId, context);
38
+ let tokenXMatchingDecimal;
39
+ for (const key in parameters) {
40
+ if (typeof parameters[key] === "object") {
41
+ for (const subKey in parameters[key]) {
42
+ const contractValue = parameters[key][subKey];
43
+ tokenXMatchingDecimal = tokenXDecimals.find((d) => d.tokenContract === contractValue);
44
+ if (tokenXMatchingDecimal)
45
+ break;
46
+ }
47
+ }
48
+ else if (typeof parameters[key] === "string") {
49
+ tokenXMatchingDecimal = tokenXDecimals.find((d) => d.tokenContract === parameters[key]);
50
+ }
51
+ if (tokenXMatchingDecimal)
52
+ break;
53
+ }
54
+ if (!tokenXMatchingDecimal && swapData && swapData.parameters) {
55
+ const swapParameters = swapData.parameters;
56
+ for (const key in swapParameters) {
57
+ if (typeof swapParameters[key] === "object") {
58
+ for (const subKey in swapParameters[key]) {
59
+ const contractValue = swapParameters[key][subKey];
60
+ tokenXMatchingDecimal = tokenXDecimals.find((d) => d.tokenContract === contractValue);
61
+ if (tokenXMatchingDecimal)
62
+ break;
63
+ }
64
+ }
65
+ else if (typeof swapParameters[key] === "string") {
66
+ tokenXMatchingDecimal = tokenXDecimals.find((d) => d.tokenContract === swapParameters[key]);
67
+ }
68
+ if (tokenXMatchingDecimal)
69
+ break;
70
+ }
71
+ }
72
+ if (tokenXMatchingDecimal) {
73
+ const scaleAmount = (amount) => {
74
+ const scaledAmount = parseFloat(amount.toString()) *
75
+ 10 ** tokenXMatchingDecimal.tokenDecimals;
76
+ return BigInt(Math.floor(scaledAmount));
77
+ };
78
+ if (parameters.dx !== undefined && parameters.dx !== null) {
79
+ parameters.dx = scaleAmount(parameters.dx);
80
+ }
81
+ else if (parameters.amount !== undefined &&
82
+ parameters.amount !== null) {
83
+ parameters.amount = scaleAmount(parameters.amount);
84
+ }
85
+ else if (parameters["amt-in"] !== undefined &&
86
+ parameters["amt-in"] !== null) {
87
+ parameters["amt-in"] = scaleAmount(parameters["amt-in"]);
88
+ }
89
+ else if (parameters["amt-in-max"] !== undefined &&
90
+ parameters["amt-in-max"] !== null) {
91
+ parameters["amt-in-max"] = scaleAmount(parameters["amt-in-max"]);
92
+ }
93
+ else if (parameters["y-amount"] !== undefined &&
94
+ parameters["y-amount"] !== null) {
95
+ parameters["y-amount"] = scaleAmount(parameters["y-amount"]);
96
+ parameters["x-amount"] = scaleAmount(parameters["x-amount"]);
97
+ }
98
+ else if (parameters["x-amount"] !== undefined &&
99
+ parameters["x-amount"] !== null) {
100
+ parameters["x-amount"] = scaleAmount(parameters["x-amount"]);
101
+ }
102
+ else if (parameters.dy !== undefined && parameters.dy !== null) {
103
+ parameters.dy = scaleAmount(parameters.dy);
104
+ }
105
+ }
106
+ else {
107
+ console.warn(`No matching decimal found for tokenX: ${tokenXId}`);
108
+ }
109
+ const functionArgs = (0, constructFunctionArgs_1.constructFunctionArgs)(parameters, functionArgsDefinition);
110
+ const result = await (0, transactions_1.callReadOnlyFunction)({
111
+ contractAddress: contractDeployer,
112
+ contractName,
113
+ functionName,
114
+ functionArgs,
115
+ senderAddress,
116
+ network,
117
+ });
118
+ const { rawResult, convertedResult } = (0, handleResultHelper_1.handleResult)(result);
119
+ try {
120
+ const tokenYDecimals = (0, getTokenDecimalsHelper_1.getTokenDecimals)(tokenYId, context);
121
+ let tokenYMatchingDecimal;
122
+ for (const key in parameters) {
123
+ if (typeof parameters[key] === "object") {
124
+ for (const subKey in parameters[key]) {
125
+ const contractValue = parameters[key][subKey];
126
+ tokenYMatchingDecimal = tokenYDecimals.find((d) => d.tokenContract === contractValue);
127
+ if (tokenYMatchingDecimal)
128
+ break;
129
+ }
130
+ }
131
+ else if (typeof parameters[key] === "string") {
132
+ tokenYMatchingDecimal = tokenYDecimals.find((d) => d.tokenContract === parameters[key]);
133
+ }
134
+ if (tokenYMatchingDecimal)
135
+ break;
136
+ }
137
+ if (!tokenYMatchingDecimal && swapData && swapData.parameters) {
138
+ const swapParameters = swapData.parameters;
139
+ for (const key in swapParameters) {
140
+ if (typeof swapParameters[key] === "object") {
141
+ for (const subKey in swapParameters[key]) {
142
+ const contractValue = swapParameters[key][subKey];
143
+ tokenYMatchingDecimal = tokenYDecimals.find((d) => d.tokenContract === contractValue);
144
+ if (tokenYMatchingDecimal)
145
+ break;
146
+ }
147
+ }
148
+ else if (typeof swapParameters[key] === "string") {
149
+ tokenYMatchingDecimal = tokenYDecimals.find((d) => d.tokenContract === swapParameters[key]);
150
+ }
151
+ if (tokenYMatchingDecimal)
152
+ break;
153
+ }
154
+ }
155
+ if (tokenYMatchingDecimal && typeof convertedResult === "number") {
156
+ const adjustedResult = convertedResult / 10 ** tokenYMatchingDecimal.tokenDecimals;
157
+ return {
158
+ convertedResult: adjustedResult,
159
+ rawResult,
160
+ tokenXDecimals: (tokenXMatchingDecimal === null || tokenXMatchingDecimal === void 0 ? void 0 : tokenXMatchingDecimal.tokenDecimals) || 0,
161
+ tokenYDecimals: tokenYMatchingDecimal.tokenDecimals,
162
+ };
163
+ }
164
+ else {
165
+ console.warn(`No matching decimal found for tokenY: ${tokenYId} or result is not a number`);
166
+ return {
167
+ convertedResult,
168
+ rawResult,
169
+ tokenXDecimals: (tokenXMatchingDecimal === null || tokenXMatchingDecimal === void 0 ? void 0 : tokenXMatchingDecimal.tokenDecimals) || 0,
170
+ tokenYDecimals: 0,
171
+ };
172
+ }
173
+ }
174
+ catch (error) {
175
+ console.warn(`Couldn't apply decimal conversion: ${error}`);
176
+ console.warn("Using raw result without decimal conversion");
177
+ return {
178
+ convertedResult,
179
+ rawResult,
180
+ tokenXDecimals: (tokenXMatchingDecimal === null || tokenXMatchingDecimal === void 0 ? void 0 : tokenXMatchingDecimal.tokenDecimals) || 0,
181
+ tokenYDecimals: 0,
182
+ };
183
+ }
184
+ }
185
+ catch (error) {
186
+ console.error(`Error calling read-only function ${functionName}:`, error);
187
+ throw error;
188
+ }
189
+ };
190
+ exports.callReadOnlyFunctionHelper = callReadOnlyFunctionHelper;
191
+ //# sourceMappingURL=callReadOnlyHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callReadOnlyHelper.js","sourceRoot":"","sources":["../../../src/helpers/callReadOnlyHelper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { StacksProvider } from "@stacks/connect";
2
+ import { SwapContext } from "../types";
3
+ export declare const executeSwapHelper: (swapParams: {
4
+ functionArgs: any[];
5
+ postConditions: any[];
6
+ contractAddress: string;
7
+ contractName: string;
8
+ functionName: string;
9
+ }, senderAddress: string, context: SwapContext, stacksProvider?: StacksProvider, onFinish?: (data: any) => void, onCancel?: () => void) => Promise<void>;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeSwapHelper = void 0;
4
+ const transactions_1 = require("@stacks/transactions");
5
+ const connect_1 = require("@stacks/connect");
6
+ const executeSwapHelper = async (swapParams, senderAddress, context, stacksProvider, onFinish, onCancel) => {
7
+ const network = context.network;
8
+ try {
9
+ const txOptions = {
10
+ contractAddress: swapParams.contractAddress,
11
+ contractName: swapParams.contractName,
12
+ functionName: swapParams.functionName,
13
+ functionArgs: swapParams.functionArgs,
14
+ senderAddress,
15
+ network,
16
+ anchorMode: transactions_1.AnchorMode.Any,
17
+ postConditionMode: transactions_1.PostConditionMode.Deny,
18
+ postConditions: swapParams.postConditions,
19
+ onFinish: onFinish ||
20
+ ((data) => {
21
+ console.log("Transaction submitted:", data);
22
+ }),
23
+ onCancel: onCancel ||
24
+ (() => {
25
+ console.log("Transaction canceled");
26
+ }),
27
+ };
28
+ if (stacksProvider) {
29
+ await (0, connect_1.openContractCall)(txOptions, stacksProvider);
30
+ }
31
+ else {
32
+ await (0, connect_1.openContractCall)(txOptions);
33
+ }
34
+ }
35
+ catch (error) {
36
+ console.error("Error executing swap:", error);
37
+ throw error;
38
+ }
39
+ };
40
+ exports.executeSwapHelper = executeSwapHelper;
41
+ //# sourceMappingURL=callSwapHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callSwapHelper.js","sourceRoot":"","sources":["../../../src/helpers/callSwapHelper.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AACrE,6CAAmE;AAG5D,MAAM,iBAAiB,GAAG,KAAK,EACpC,UAMC,EACD,aAAqB,EACrB,OAAoB,EACpB,cAA+B,EAC/B,QAA8B,EAC9B,QAAqB,EACN,EAAE;IACjB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAEhC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG;YAChB,eAAe,EAAE,UAAU,CAAC,eAAe;YAC3C,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,aAAa;YACb,OAAO;YACP,UAAU,EAAE,yBAAU,CAAC,GAAG;YAC1B,iBAAiB,EAAE,gCAAiB,CAAC,IAAI;YACzC,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,QAAQ,EACN,QAAQ;gBACR,CAAC,CAAC,IAAS,EAAE,EAAE;oBACb,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;gBAC9C,CAAC,CAAC;YACJ,QAAQ,EACN,QAAQ;gBACR,CAAC,GAAG,EAAE;oBACJ,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBACtC,CAAC,CAAC;SACL,CAAC;QAEF,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAA,0BAAgB,EAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,IAAA,0BAAgB,EAAC,SAAS,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC9C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAhDW,QAAA,iBAAiB,qBAgD5B"}
@@ -0,0 +1 @@
1
+ export declare const constructFunctionArgs: (parameters: any, functionArgsDefinition: any[]) => import("@stacks/transactions").ClarityValue[];
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.constructFunctionArgs = void 0;
4
+ const convertValuesHelper_1 = require("./convertValuesHelper");
5
+ const constructFunctionArgs = (parameters, functionArgsDefinition) => {
6
+ return functionArgsDefinition.map((arg) => {
7
+ const value = parameters[arg.name];
8
+ if (value === undefined || value === null) {
9
+ console.warn(`Value for ${arg.name} is ${value}`);
10
+ }
11
+ try {
12
+ const convertedValue = (0, convertValuesHelper_1.convertValue)(value, arg.type);
13
+ return convertedValue;
14
+ }
15
+ catch (error) {
16
+ console.error(`Error converting value for ${arg.name}:`, error);
17
+ throw error;
18
+ }
19
+ });
20
+ };
21
+ exports.constructFunctionArgs = constructFunctionArgs;
22
+ //# sourceMappingURL=constructFunctionArgs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constructFunctionArgs.js","sourceRoot":"","sources":["../../../src/helpers/constructFunctionArgs.ts"],"names":[],"mappings":";;;AACA,+DAAqD;AAE9C,MAAM,qBAAqB,GAAG,CACnC,UAAe,EACf,sBAA6B,EAC7B,EAAE;IACF,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,IAAA,kCAAY,EAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAErD,OAAO,cAAc,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,GAAG,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;YAChE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AApBW,QAAA,qBAAqB,yBAoBhC"}
@@ -0,0 +1,2 @@
1
+ import { ClarityValue } from "@stacks/transactions";
2
+ export declare const convertValue: (value: any, type: any) => ClarityValue;
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertValue = void 0;
4
+ const transactions_1 = require("@stacks/transactions");
5
+ const convertValue = (value, type) => {
6
+ if (value === null || value === undefined) {
7
+ console.warn(`Received null or undefined value for type ${JSON.stringify(type)}. Using default value.`);
8
+ return getDefaultValue(type);
9
+ }
10
+ if (typeof type === "object") {
11
+ return handleObjectType(value, type);
12
+ }
13
+ switch (type) {
14
+ case "uint128":
15
+ case "uint":
16
+ return handleUintType(value);
17
+ case "int128":
18
+ case "int":
19
+ return handleIntType(value);
20
+ case "bool":
21
+ return handleBoolType(value);
22
+ case "principal":
23
+ return handlePrincipalType(value);
24
+ case "trait_reference":
25
+ return handleTraitReferenceType(value);
26
+ case "optional":
27
+ return handleOptionalType(value);
28
+ case "response":
29
+ return handleResponseType(value);
30
+ case "string-ascii":
31
+ return (0, transactions_1.stringAsciiCV)(value);
32
+ case "string-utf8":
33
+ return (0, transactions_1.stringUtf8CV)(value);
34
+ case "list":
35
+ return handleListType(value);
36
+ case "buffer":
37
+ return (0, transactions_1.bufferCV)(Buffer.from(value));
38
+ default:
39
+ if (typeof value === "object") {
40
+ return handleTupleType(value);
41
+ }
42
+ throw new Error(`Unsupported argument type: ${type}`);
43
+ }
44
+ };
45
+ exports.convertValue = convertValue;
46
+ const getDefaultValue = (type) => {
47
+ if (typeof type === "object") {
48
+ if (type.type === "uint128" ||
49
+ (type.optional && type.optional === "uint128")) {
50
+ return (0, transactions_1.noneCV)();
51
+ }
52
+ if (type.tuple) {
53
+ return (0, transactions_1.tupleCV)({});
54
+ }
55
+ if (type.list) {
56
+ return (0, transactions_1.listCV)([]);
57
+ }
58
+ }
59
+ switch (type) {
60
+ case "uint128":
61
+ case "uint":
62
+ return (0, transactions_1.uintCV)(0);
63
+ case "int128":
64
+ case "int":
65
+ return (0, transactions_1.intCV)(0);
66
+ case "bool":
67
+ return (0, transactions_1.boolCV)(false);
68
+ case "optional":
69
+ case "optional(uint128)":
70
+ return (0, transactions_1.noneCV)();
71
+ case "string-ascii":
72
+ case "string-utf8":
73
+ return (0, transactions_1.stringAsciiCV)("");
74
+ case "buffer":
75
+ return (0, transactions_1.bufferCV)(Buffer.alloc(0));
76
+ case "list":
77
+ return (0, transactions_1.listCV)([]);
78
+ default:
79
+ throw new Error(`Cannot provide default value for type: ${JSON.stringify(type)}`);
80
+ }
81
+ };
82
+ const handleObjectType = (value, type) => {
83
+ if (type.type === "uint128") {
84
+ return (0, transactions_1.uintCV)(value);
85
+ }
86
+ if (type.optional === "uint128") {
87
+ return (0, transactions_1.someCV)((0, transactions_1.uintCV)(value));
88
+ }
89
+ if (type.tuple) {
90
+ return handleTupleType(value, type.tuple);
91
+ }
92
+ if (type.list) {
93
+ return handleListType(value, type.list.type);
94
+ }
95
+ throw new Error(`Unsupported object-based type: ${JSON.stringify(type)}`);
96
+ };
97
+ const handleUintType = (value) => {
98
+ if (typeof value === "number" || typeof value === "bigint") {
99
+ return (0, transactions_1.uintCV)(value);
100
+ }
101
+ else if (typeof value === "string") {
102
+ if (/^\d+$/.test(value)) {
103
+ return (0, transactions_1.uintCV)(value);
104
+ }
105
+ else if (/^0x[0-9A-Fa-f]+$/.test(value)) {
106
+ return (0, transactions_1.uintCV)(BigInt(value));
107
+ }
108
+ }
109
+ else if (value instanceof Uint8Array) {
110
+ return (0, transactions_1.uintCV)(value);
111
+ }
112
+ throw new Error(`Invalid uint128 value: ${value} (type: ${typeof value})`);
113
+ };
114
+ const handleIntType = (value) => {
115
+ if (typeof value === "number" ||
116
+ typeof value === "bigint" ||
117
+ (typeof value === "string" && /^-?\d+$/.test(value))) {
118
+ return (0, transactions_1.intCV)(value);
119
+ }
120
+ throw new Error(`Invalid int128 value: ${value} (type: ${typeof value})`);
121
+ };
122
+ const handleBoolType = (value) => {
123
+ if (typeof value === "boolean") {
124
+ return (0, transactions_1.boolCV)(value);
125
+ }
126
+ throw new Error(`Invalid boolean value: ${value} (type: ${typeof value})`);
127
+ };
128
+ const handlePrincipalType = (value) => {
129
+ if (value.includes(".")) {
130
+ const [addr, name] = value.split(".");
131
+ return (0, transactions_1.contractPrincipalCV)(addr, name);
132
+ }
133
+ else {
134
+ return (0, transactions_1.standardPrincipalCV)(value);
135
+ }
136
+ };
137
+ const handleTraitReferenceType = (value) => {
138
+ const [addr, name] = value.split(".");
139
+ return (0, transactions_1.contractPrincipalCV)(addr, name);
140
+ };
141
+ const handleOptionalType = (value) => {
142
+ return value !== null && value !== undefined
143
+ ? (0, transactions_1.someCV)((0, exports.convertValue)(value, "uint128"))
144
+ : (0, transactions_1.noneCV)();
145
+ };
146
+ const handleResponseType = (value) => {
147
+ if (value &&
148
+ typeof value === "object" &&
149
+ ("ok" in value || "error" in value)) {
150
+ return "ok" in value
151
+ ? (0, transactions_1.responseOkCV)((0, exports.convertValue)(value.ok, typeof value.ok))
152
+ : (0, transactions_1.responseErrorCV)((0, exports.convertValue)(value.error, typeof value.error));
153
+ }
154
+ throw new Error(`Invalid response value: ${JSON.stringify(value)}`);
155
+ };
156
+ const handleListType = (value, itemType) => {
157
+ if (Array.isArray(value)) {
158
+ return (0, transactions_1.listCV)(value.map((item) => (0, exports.convertValue)(item, itemType || typeof item)));
159
+ }
160
+ throw new Error(`Invalid list value: ${JSON.stringify(value)}`);
161
+ };
162
+ const handleTupleType = (value, tupleTypes) => {
163
+ const tupleValues = {};
164
+ if (tupleTypes) {
165
+ tupleTypes.forEach((item) => {
166
+ if (value && value[item.name] !== undefined) {
167
+ tupleValues[item.name] = (0, exports.convertValue)(value[item.name], item.type);
168
+ }
169
+ else {
170
+ tupleValues[item.name] = getDefaultValue(item.type);
171
+ }
172
+ });
173
+ }
174
+ else {
175
+ for (const [key, val] of Object.entries(value)) {
176
+ tupleValues[key] = (0, exports.convertValue)(val, typeof val);
177
+ }
178
+ }
179
+ return (0, transactions_1.tupleCV)(tupleValues);
180
+ };
181
+ //# sourceMappingURL=convertValuesHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertValuesHelper.js","sourceRoot":"","sources":["../../../src/helpers/convertValuesHelper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const fetchContractInterface: (contractDeployer: string, contractName: string) => Promise<any>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchContractInterface = void 0;
4
+ const config_1 = require("../config");
5
+ const fetchContractInterface = async (contractDeployer, contractName) => {
6
+ const url = `${config_1.configs.READONLY_CALL_API_HOST}/v2/contracts/interface/${contractDeployer}/${contractName}`;
7
+ try {
8
+ const response = await fetch(url);
9
+ if (!response.ok) {
10
+ throw new Error(`HTTP error! status: ${response.status}`);
11
+ }
12
+ return await response.json();
13
+ }
14
+ catch (error) {
15
+ console.error(`Error fetching contract interface from ${url}:`, error);
16
+ throw error;
17
+ }
18
+ };
19
+ exports.fetchContractInterface = fetchContractInterface;
20
+ //# sourceMappingURL=fetchContractInterfaceHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchContractInterfaceHelper.js","sourceRoot":"","sources":["../../../src/helpers/fetchContractInterfaceHelper.ts"],"names":[],"mappings":";;;AAAA,sCAAoC;AAE7B,MAAM,sBAAsB,GAAG,KAAK,EACzC,gBAAwB,EACxB,YAAoB,EACN,EAAE;IAChB,MAAM,GAAG,GAAG,GAAG,gBAAO,CAAC,sBAAsB,2BAA2B,gBAAgB,IAAI,YAAY,EAAE,CAAC;IAE3G,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;QACvE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAhBW,QAAA,sBAAsB,0BAgBjC"}
@@ -0,0 +1,2 @@
1
+ import { Token } from '../types';
2
+ export declare const fetchAllTokensFromAPI: () => Promise<Token[]>;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchAllTokensFromAPI = void 0;
4
+ const config_1 = require("../config");
5
+ const fetchAllTokensFromAPI = async () => {
6
+ const url = `${config_1.configs.BITFLOW_API_HOST}/getAllTokensAndPools?key=${config_1.configs.BITFLOW_API_KEY}`;
7
+ try {
8
+ const response = await fetch(url);
9
+ if (!response.ok) {
10
+ throw new Error(`HTTP error! status: ${response.status}`);
11
+ }
12
+ const data = await response.json();
13
+ if (!data.tokens || !Array.isArray(data.tokens)) {
14
+ console.error('Unexpected data structure returned by API:', data);
15
+ throw new Error('Unexpected data structure returned by API');
16
+ }
17
+ return data.tokens.map((token) => ({
18
+ icon: token.icon,
19
+ name: token.name,
20
+ status: token.status,
21
+ symbol: token.symbol,
22
+ tokenId: token['token-id'],
23
+ tokenContract: token.tokenContract,
24
+ tokenDecimals: token.tokenDecimals,
25
+ tokenName: token.tokenName,
26
+ wrapTokens: token.wrapTokens
27
+ ? Object.keys(token.wrapTokens).reduce((acc, key) => {
28
+ acc[key] = {
29
+ tokenContract: token.wrapTokens[key].tokenContract,
30
+ tokenDecimals: token.wrapTokens[key].tokenDecimals,
31
+ tokenName: token.wrapTokens[key].tokenName,
32
+ };
33
+ return acc;
34
+ }, {})
35
+ : null,
36
+ }));
37
+ }
38
+ catch (error) {
39
+ console.error(`Error fetching data from ${url}:`, error);
40
+ throw error;
41
+ }
42
+ };
43
+ exports.fetchAllTokensFromAPI = fetchAllTokensFromAPI;
44
+ //# sourceMappingURL=fetchDataHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchDataHelper.js","sourceRoot":"","sources":["../../../src/helpers/fetchDataHelper.ts"],"names":[],"mappings":";;;AAAA,sCAAoC;AAG7B,MAAM,qBAAqB,GAAG,KAAK,IAAsB,EAAE;IAChE,MAAM,GAAG,GAAG,GAAG,gBAAO,CAAC,gBAAgB,6BAA6B,gBAAO,CAAC,eAAe,EAAE,CAAC;IAC9F,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,IAAI,CAAC,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC;YAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC1B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,GAAW,EAAE,EAAE;oBAC7D,GAAG,CAAC,GAAG,CAAC,GAAG;wBACT,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,aAAa;wBAClD,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,aAAa;wBAClD,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS;qBAC3C,CAAC;oBACF,OAAO,GAAG,CAAC;gBACb,CAAC,EAAE,EAAE,CAAC;gBACR,CAAC,CAAC,IAAI;SACT,CAAC,CAAC,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;QACzD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AArCW,QAAA,qBAAqB,yBAqChC"}
@@ -0,0 +1,2 @@
1
+ import { SwapOptions } from '../types';
2
+ export declare const fetchPossibleSwapsFromAPI: (tokenX: string) => Promise<SwapOptions>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchPossibleSwapsFromAPI = void 0;
4
+ const config_1 = require("../config");
5
+ const fetchPossibleSwapsFromAPI = async (tokenX) => {
6
+ const url = `${config_1.configs.BITFLOW_API_HOST}/getAllRoutes?key=${config_1.configs.BITFLOW_API_KEY}&tokenX=${tokenX}&depth=4`;
7
+ try {
8
+ const response = await fetch(url);
9
+ if (!response.ok) {
10
+ throw new Error(`HTTP error! status: ${response.status}`);
11
+ }
12
+ return await response.json();
13
+ }
14
+ catch (error) {
15
+ console.error(`Error fetching possible swaps from ${url}:`, error);
16
+ throw error;
17
+ }
18
+ };
19
+ exports.fetchPossibleSwapsFromAPI = fetchPossibleSwapsFromAPI;
20
+ //# sourceMappingURL=fetchPossibleSwap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchPossibleSwap.js","sourceRoot":"","sources":["../../../src/helpers/fetchPossibleSwap.ts"],"names":[],"mappings":";;;AAAA,sCAAoC;AAG7B,MAAM,yBAAyB,GAAG,KAAK,EAC5C,MAAc,EACQ,EAAE;IACxB,MAAM,GAAG,GAAG,GAAG,gBAAO,CAAC,gBAAgB,qBAAqB,gBAAO,CAAC,eAAe,WAAW,MAAM,UAAU,CAAC;IAC/G,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAdW,QAAA,yBAAyB,6BAcpC"}
@@ -0,0 +1,4 @@
1
+ export declare const getContractInterfaceAndFunction: (contractDeployer: string, contractName: string, functionName: string) => Promise<{
2
+ contractInterface: any;
3
+ functionArgs: any;
4
+ }>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getContractInterfaceAndFunction = void 0;
4
+ const fetchContractInterfaceHelper_1 = require("./fetchContractInterfaceHelper");
5
+ const getFunctionArgs_1 = require("./getFunctionArgs");
6
+ const getContractInterfaceAndFunction = async (contractDeployer, contractName, functionName) => {
7
+ const contractInterface = await (0, fetchContractInterfaceHelper_1.fetchContractInterface)(contractDeployer, contractName);
8
+ const functionArgs = (0, getFunctionArgs_1.getFunctionArguments)(contractInterface, functionName);
9
+ return {
10
+ contractInterface,
11
+ functionArgs,
12
+ };
13
+ };
14
+ exports.getContractInterfaceAndFunction = getContractInterfaceAndFunction;
15
+ //# sourceMappingURL=getContractInterfaceAndFunction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getContractInterfaceAndFunction.js","sourceRoot":"","sources":["../../../src/helpers/getContractInterfaceAndFunction.ts"],"names":[],"mappings":";;;AAAA,iFAAwE;AACxE,uDAAyD;AAElD,MAAM,+BAA+B,GAAG,KAAK,EAClD,gBAAwB,EACxB,YAAoB,EACpB,YAAoB,EACpB,EAAE;IACF,MAAM,iBAAiB,GAAG,MAAM,IAAA,qDAAsB,EACpD,gBAAgB,EAChB,YAAY,CACb,CAAC;IAEF,MAAM,YAAY,GAAG,IAAA,sCAAoB,EAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAE3E,OAAO;QACL,iBAAiB;QACjB,YAAY;KACb,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,+BAA+B,mCAgB1C"}
@@ -0,0 +1 @@
1
+ export declare const getFunctionArguments: (contractInterface: any, functionName: string) => any;