@bitflowlabs/core-sdk 2.3.2 → 2.4.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 +1 -1
- package/dist/src/helpers/callReadOnlyHelper.js +68 -52
- package/dist/src/helpers/callReadOnlyHelper.js.map +1 -1
- package/dist/src/helpers/convertValuesHelper.js +24 -4
- package/dist/src/helpers/convertValuesHelper.js.map +1 -1
- package/dist/src/helpers/handleResultHelper.js +10 -10
- package/dist/src/helpers/handleResultHelper.js.map +1 -1
- package/dist/src/helpers/newPostConditionsHelper.js +6 -1
- package/dist/src/helpers/newPostConditionsHelper.js.map +1 -1
- package/dist/src/helpers/postConditionsHelper.js +6 -1
- package/dist/src/helpers/postConditionsHelper.js.map +1 -1
- package/dist/test/BitflowSDK.test.d.ts +1 -0
- package/dist/test/BitflowSDK.test.js +1143 -0
- package/dist/test/BitflowSDK.test.js.map +1 -0
- package/dist/test/config.test.d.ts +1 -0
- package/dist/test/config.test.js +89 -0
- package/dist/test/config.test.js.map +1 -0
- package/dist/test/helpers/callGetSwapParams.test.d.ts +1 -0
- package/dist/test/helpers/callGetSwapParams.test.js +85 -0
- package/dist/test/helpers/callGetSwapParams.test.js.map +1 -0
- package/dist/test/helpers/callReadOnlyHelper.test.d.ts +1 -0
- package/dist/test/helpers/callReadOnlyHelper.test.js +345 -0
- package/dist/test/helpers/callReadOnlyHelper.test.js.map +1 -0
- package/dist/test/helpers/callSwapHelper.test.d.ts +1 -0
- package/dist/test/helpers/callSwapHelper.test.js +209 -0
- package/dist/test/helpers/callSwapHelper.test.js.map +1 -0
- package/dist/test/helpers/constructFunctionArgs.test.d.ts +1 -0
- package/dist/test/helpers/constructFunctionArgs.test.js +63 -0
- package/dist/test/helpers/constructFunctionArgs.test.js.map +1 -0
- package/dist/test/helpers/convertValuesHelper.test.d.ts +1 -0
- package/dist/test/helpers/convertValuesHelper.test.js +207 -0
- package/dist/test/helpers/convertValuesHelper.test.js.map +1 -0
- package/dist/test/helpers/fetchContractInterfaceHelper.test.d.ts +1 -0
- package/dist/test/helpers/fetchContractInterfaceHelper.test.js +70 -0
- package/dist/test/helpers/fetchContractInterfaceHelper.test.js.map +1 -0
- package/dist/test/helpers/fetchDataHelper.test.d.ts +1 -0
- package/dist/test/helpers/fetchDataHelper.test.js +162 -0
- package/dist/test/helpers/fetchDataHelper.test.js.map +1 -0
- package/dist/test/helpers/fetchPossibleSwap.test.d.ts +1 -0
- package/dist/test/helpers/fetchPossibleSwap.test.js +154 -0
- package/dist/test/helpers/fetchPossibleSwap.test.js.map +1 -0
- package/dist/test/helpers/getContractInterfaceAndFunction.test.d.ts +1 -0
- package/dist/test/helpers/getContractInterfaceAndFunction.test.js +25 -0
- package/dist/test/helpers/getContractInterfaceAndFunction.test.js.map +1 -0
- package/dist/test/helpers/getFunctionArgs.test.d.ts +1 -0
- package/dist/test/helpers/getFunctionArgs.test.js +25 -0
- package/dist/test/helpers/getFunctionArgs.test.js.map +1 -0
- package/dist/test/helpers/getTokenDecimalsHelper.test.d.ts +1 -0
- package/dist/test/helpers/getTokenDecimalsHelper.test.js +229 -0
- package/dist/test/helpers/getTokenDecimalsHelper.test.js.map +1 -0
- package/dist/test/helpers/getTokenNameHelper.test.d.ts +1 -0
- package/dist/test/helpers/getTokenNameHelper.test.js +258 -0
- package/dist/test/helpers/getTokenNameHelper.test.js.map +1 -0
- package/dist/test/helpers/handleResultHelper.test.d.ts +1 -0
- package/dist/test/helpers/handleResultHelper.test.js +72 -0
- package/dist/test/helpers/handleResultHelper.test.js.map +1 -0
- package/dist/test/helpers/newPostConditionsHelper.test.d.ts +1 -0
- package/dist/test/helpers/newPostConditionsHelper.test.js +348 -0
- package/dist/test/helpers/newPostConditionsHelper.test.js.map +1 -0
- package/dist/test/helpers/postConditionsHelper.test.d.ts +1 -0
- package/dist/test/helpers/postConditionsHelper.test.js +262 -0
- package/dist/test/helpers/postConditionsHelper.test.js.map +1 -0
- package/dist/test/keeper/keeperAPI.test.d.ts +1 -0
- package/dist/test/keeper/keeperAPI.test.js +283 -0
- package/dist/test/keeper/keeperAPI.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const getTokenDecimalsHelper_1 = require("../../src/helpers/getTokenDecimalsHelper");
|
|
4
|
+
describe("getTokenDecimalsHelper", () => {
|
|
5
|
+
const mockSwapContext = {
|
|
6
|
+
availableTokens: [
|
|
7
|
+
{
|
|
8
|
+
base: "ST1234567890123456789012345678901234567890",
|
|
9
|
+
type: "fungible-token",
|
|
10
|
+
icon: "icon1",
|
|
11
|
+
name: "Token 1",
|
|
12
|
+
status: "active",
|
|
13
|
+
symbol: "TKN1",
|
|
14
|
+
tokenId: "token1",
|
|
15
|
+
"token-id": "token1",
|
|
16
|
+
tokenContract: "ST1234567890123456789012345678901234567890.token1",
|
|
17
|
+
tokenDecimals: 6,
|
|
18
|
+
tokenName: "Token One",
|
|
19
|
+
wrapTokens: null,
|
|
20
|
+
isKeeperToken: false,
|
|
21
|
+
bridge: "FALSE",
|
|
22
|
+
layerOneAsset: null,
|
|
23
|
+
priceData: {
|
|
24
|
+
"1h_change": null,
|
|
25
|
+
"1yr_change": null,
|
|
26
|
+
"24h_change": null,
|
|
27
|
+
"30d_change": null,
|
|
28
|
+
"7d_change": null,
|
|
29
|
+
last_price: null,
|
|
30
|
+
last_updated: null,
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
base: "ST1234567890123456789012345678901234567890",
|
|
35
|
+
type: "fungible-token",
|
|
36
|
+
icon: "icon2",
|
|
37
|
+
name: "Token 2",
|
|
38
|
+
status: "active",
|
|
39
|
+
symbol: "TKN2",
|
|
40
|
+
tokenId: "token2",
|
|
41
|
+
"token-id": "token2",
|
|
42
|
+
tokenContract: null,
|
|
43
|
+
tokenDecimals: 8,
|
|
44
|
+
tokenName: "Token Two",
|
|
45
|
+
wrapTokens: {
|
|
46
|
+
"wrapped-token": {
|
|
47
|
+
tokenContract: "ST1234567890123456789012345678901234567890.wrapped-token",
|
|
48
|
+
tokenDecimals: 8,
|
|
49
|
+
tokenName: "Wrapped Token",
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
isKeeperToken: false,
|
|
53
|
+
bridge: "FALSE",
|
|
54
|
+
layerOneAsset: null,
|
|
55
|
+
priceData: {
|
|
56
|
+
"1h_change": null,
|
|
57
|
+
"1yr_change": null,
|
|
58
|
+
"24h_change": null,
|
|
59
|
+
"30d_change": null,
|
|
60
|
+
"7d_change": null,
|
|
61
|
+
last_price: null,
|
|
62
|
+
last_updated: null,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
base: "ST1234567890123456789012345678901234567890",
|
|
67
|
+
type: "fungible-token",
|
|
68
|
+
icon: "icon3",
|
|
69
|
+
name: "Token 3",
|
|
70
|
+
status: "active",
|
|
71
|
+
symbol: "TKN3",
|
|
72
|
+
tokenId: "token3",
|
|
73
|
+
"token-id": "token3",
|
|
74
|
+
tokenContract: "ST1234567890123456789012345678901234567890.token3",
|
|
75
|
+
tokenDecimals: 10,
|
|
76
|
+
tokenName: "Token Three",
|
|
77
|
+
wrapTokens: {
|
|
78
|
+
"wrapped-token1": {
|
|
79
|
+
tokenContract: "ST1234567890123456789012345678901234567890.wrapped-token1",
|
|
80
|
+
tokenDecimals: 10,
|
|
81
|
+
tokenName: "Wrapped Token 1",
|
|
82
|
+
},
|
|
83
|
+
"wrapped-token2": {
|
|
84
|
+
tokenContract: "ST1234567890123456789012345678901234567890.wrapped-token2",
|
|
85
|
+
tokenDecimals: 12,
|
|
86
|
+
tokenName: "Wrapped Token 2",
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
isKeeperToken: false,
|
|
90
|
+
bridge: "FALSE",
|
|
91
|
+
layerOneAsset: null,
|
|
92
|
+
priceData: {
|
|
93
|
+
"1h_change": null,
|
|
94
|
+
"1yr_change": null,
|
|
95
|
+
"24h_change": null,
|
|
96
|
+
"30d_change": null,
|
|
97
|
+
"7d_change": null,
|
|
98
|
+
last_price: null,
|
|
99
|
+
last_updated: null,
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
base: "ST1234567890123456789012345678901234567890",
|
|
104
|
+
type: "fungible-token",
|
|
105
|
+
icon: "icon4",
|
|
106
|
+
name: "Token 4",
|
|
107
|
+
status: "active",
|
|
108
|
+
symbol: "TKN4",
|
|
109
|
+
tokenId: "token4",
|
|
110
|
+
"token-id": "token4",
|
|
111
|
+
tokenContract: null,
|
|
112
|
+
tokenDecimals: 4,
|
|
113
|
+
tokenName: "Token Four",
|
|
114
|
+
wrapTokens: null,
|
|
115
|
+
isKeeperToken: false,
|
|
116
|
+
bridge: "FALSE",
|
|
117
|
+
layerOneAsset: null,
|
|
118
|
+
priceData: {
|
|
119
|
+
"1h_change": null,
|
|
120
|
+
"1yr_change": null,
|
|
121
|
+
"24h_change": null,
|
|
122
|
+
"30d_change": null,
|
|
123
|
+
"7d_change": null,
|
|
124
|
+
last_price: null,
|
|
125
|
+
last_updated: null,
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
],
|
|
129
|
+
contractInterfaces: {},
|
|
130
|
+
functionArgs: {},
|
|
131
|
+
network: "testnet",
|
|
132
|
+
swapOptions: {},
|
|
133
|
+
};
|
|
134
|
+
describe("getTokenDecimals", () => {
|
|
135
|
+
it("should return token decimals for token with main contract only", () => {
|
|
136
|
+
const result = (0, getTokenDecimalsHelper_1.getTokenDecimals)("token1", mockSwapContext);
|
|
137
|
+
expect(result).toEqual([
|
|
138
|
+
{
|
|
139
|
+
tokenContract: "ST1234567890123456789012345678901234567890.token1",
|
|
140
|
+
tokenDecimals: 6,
|
|
141
|
+
},
|
|
142
|
+
]);
|
|
143
|
+
});
|
|
144
|
+
it("should return token decimals for token with wrap tokens only", () => {
|
|
145
|
+
const result = (0, getTokenDecimalsHelper_1.getTokenDecimals)("token2", mockSwapContext);
|
|
146
|
+
expect(result).toEqual([
|
|
147
|
+
{
|
|
148
|
+
tokenContract: "ST1234567890123456789012345678901234567890.wrapped-token",
|
|
149
|
+
tokenDecimals: 8,
|
|
150
|
+
},
|
|
151
|
+
]);
|
|
152
|
+
});
|
|
153
|
+
it("should return token decimals for token with both main contract and wrap tokens", () => {
|
|
154
|
+
const result = (0, getTokenDecimalsHelper_1.getTokenDecimals)("token3", mockSwapContext);
|
|
155
|
+
expect(result).toEqual([
|
|
156
|
+
{
|
|
157
|
+
tokenContract: "ST1234567890123456789012345678901234567890.token3",
|
|
158
|
+
tokenDecimals: 10,
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
tokenContract: "ST1234567890123456789012345678901234567890.wrapped-token1",
|
|
162
|
+
tokenDecimals: 10,
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
tokenContract: "ST1234567890123456789012345678901234567890.wrapped-token2",
|
|
166
|
+
tokenDecimals: 12,
|
|
167
|
+
},
|
|
168
|
+
]);
|
|
169
|
+
});
|
|
170
|
+
it("should return empty array for token with no contract and no wrap tokens", () => {
|
|
171
|
+
const result = (0, getTokenDecimalsHelper_1.getTokenDecimals)("token4", mockSwapContext);
|
|
172
|
+
expect(result).toEqual([]);
|
|
173
|
+
});
|
|
174
|
+
it("should throw error when token not found", () => {
|
|
175
|
+
expect(() => {
|
|
176
|
+
(0, getTokenDecimalsHelper_1.getTokenDecimals)("nonexistent-token", mockSwapContext);
|
|
177
|
+
}).toThrow("Token with id nonexistent-token not found");
|
|
178
|
+
});
|
|
179
|
+
it("should handle empty availableTokens array", () => {
|
|
180
|
+
const emptyContext = {
|
|
181
|
+
...mockSwapContext,
|
|
182
|
+
availableTokens: [],
|
|
183
|
+
};
|
|
184
|
+
expect(() => {
|
|
185
|
+
(0, getTokenDecimalsHelper_1.getTokenDecimals)("token1", emptyContext);
|
|
186
|
+
}).toThrow("Token with id token1 not found");
|
|
187
|
+
});
|
|
188
|
+
it("should handle token with empty wrapTokens object", () => {
|
|
189
|
+
const contextWithEmptyWrapTokens = {
|
|
190
|
+
...mockSwapContext,
|
|
191
|
+
availableTokens: [
|
|
192
|
+
{
|
|
193
|
+
...mockSwapContext.availableTokens[0],
|
|
194
|
+
wrapTokens: {},
|
|
195
|
+
},
|
|
196
|
+
],
|
|
197
|
+
};
|
|
198
|
+
const result = (0, getTokenDecimalsHelper_1.getTokenDecimals)("token1", contextWithEmptyWrapTokens);
|
|
199
|
+
expect(result).toEqual([
|
|
200
|
+
{
|
|
201
|
+
tokenContract: "ST1234567890123456789012345678901234567890.token1",
|
|
202
|
+
tokenDecimals: 6,
|
|
203
|
+
},
|
|
204
|
+
]);
|
|
205
|
+
});
|
|
206
|
+
it("should handle case-sensitive token ID matching", () => {
|
|
207
|
+
const contextWithCaseSensitiveTokens = {
|
|
208
|
+
...mockSwapContext,
|
|
209
|
+
availableTokens: [
|
|
210
|
+
{
|
|
211
|
+
...mockSwapContext.availableTokens[0],
|
|
212
|
+
tokenId: "TOKEN1",
|
|
213
|
+
},
|
|
214
|
+
],
|
|
215
|
+
};
|
|
216
|
+
expect(() => {
|
|
217
|
+
(0, getTokenDecimalsHelper_1.getTokenDecimals)("token1", contextWithCaseSensitiveTokens);
|
|
218
|
+
}).toThrow("Token with id token1 not found");
|
|
219
|
+
const result = (0, getTokenDecimalsHelper_1.getTokenDecimals)("TOKEN1", contextWithCaseSensitiveTokens);
|
|
220
|
+
expect(result).toEqual([
|
|
221
|
+
{
|
|
222
|
+
tokenContract: "ST1234567890123456789012345678901234567890.token1",
|
|
223
|
+
tokenDecimals: 6,
|
|
224
|
+
},
|
|
225
|
+
]);
|
|
226
|
+
});
|
|
227
|
+
});
|
|
228
|
+
});
|
|
229
|
+
//# sourceMappingURL=getTokenDecimalsHelper.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTokenDecimalsHelper.test.js","sourceRoot":"","sources":["../../../test/helpers/getTokenDecimalsHelper.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const getTokenNameHelper_1 = require("../../src/helpers/getTokenNameHelper");
|
|
4
|
+
describe("getTokenNameHelper", () => {
|
|
5
|
+
const mockContext = {
|
|
6
|
+
availableTokens: [
|
|
7
|
+
{
|
|
8
|
+
base: "token-a",
|
|
9
|
+
type: "fungible",
|
|
10
|
+
icon: "icon-a",
|
|
11
|
+
name: "Token A",
|
|
12
|
+
status: "active",
|
|
13
|
+
symbol: "TKA",
|
|
14
|
+
tokenId: "token-a",
|
|
15
|
+
"token-id": "token-a",
|
|
16
|
+
tokenContract: "ST1234567890123456789012345678901234567890.token-a",
|
|
17
|
+
tokenDecimals: 6,
|
|
18
|
+
tokenName: "Token A",
|
|
19
|
+
wrapTokens: {
|
|
20
|
+
wrapped: {
|
|
21
|
+
tokenContract: "ST1234567890123456789012345678901234567890.token-a-wrapped",
|
|
22
|
+
tokenDecimals: 6,
|
|
23
|
+
tokenName: "Wrapped Token A"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
isKeeperToken: false,
|
|
27
|
+
bridge: "FALSE",
|
|
28
|
+
layerOneAsset: null,
|
|
29
|
+
priceData: {
|
|
30
|
+
"1h_change": null,
|
|
31
|
+
"1yr_change": null,
|
|
32
|
+
"24h_change": null,
|
|
33
|
+
"30d_change": null,
|
|
34
|
+
"7d_change": null,
|
|
35
|
+
last_price: null,
|
|
36
|
+
last_updated: null
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
base: "token-b",
|
|
41
|
+
type: "fungible",
|
|
42
|
+
icon: "icon-b",
|
|
43
|
+
name: "Token B",
|
|
44
|
+
status: "active",
|
|
45
|
+
symbol: "TKB",
|
|
46
|
+
tokenId: "token-b",
|
|
47
|
+
"token-id": "token-b",
|
|
48
|
+
tokenContract: "ST1234567890123456789012345678901234567890.token-b",
|
|
49
|
+
tokenDecimals: 6,
|
|
50
|
+
tokenName: "Token B",
|
|
51
|
+
wrapTokens: null,
|
|
52
|
+
isKeeperToken: false,
|
|
53
|
+
bridge: "FALSE",
|
|
54
|
+
layerOneAsset: null,
|
|
55
|
+
priceData: {
|
|
56
|
+
"1h_change": null,
|
|
57
|
+
"1yr_change": null,
|
|
58
|
+
"24h_change": null,
|
|
59
|
+
"30d_change": null,
|
|
60
|
+
"7d_change": null,
|
|
61
|
+
last_price: null,
|
|
62
|
+
last_updated: null
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
base: "token-c",
|
|
67
|
+
type: "fungible",
|
|
68
|
+
icon: "icon-c",
|
|
69
|
+
name: "Token C",
|
|
70
|
+
status: "active",
|
|
71
|
+
symbol: "TKC",
|
|
72
|
+
tokenId: "token-c",
|
|
73
|
+
"token-id": "token-c",
|
|
74
|
+
tokenContract: "ST1234567890123456789012345678901234567890.token-c",
|
|
75
|
+
tokenDecimals: 6,
|
|
76
|
+
tokenName: null, // No tokenName, should use name
|
|
77
|
+
wrapTokens: null,
|
|
78
|
+
isKeeperToken: false,
|
|
79
|
+
bridge: "FALSE",
|
|
80
|
+
layerOneAsset: null,
|
|
81
|
+
priceData: {
|
|
82
|
+
"1h_change": null,
|
|
83
|
+
"1yr_change": null,
|
|
84
|
+
"24h_change": null,
|
|
85
|
+
"30d_change": null,
|
|
86
|
+
"7d_change": null,
|
|
87
|
+
last_price: null,
|
|
88
|
+
last_updated: null
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
contractInterfaces: {},
|
|
93
|
+
functionArgs: {},
|
|
94
|
+
network: "testnet",
|
|
95
|
+
swapOptions: {}
|
|
96
|
+
};
|
|
97
|
+
describe("getTokenName", () => {
|
|
98
|
+
it("should return token name when token contract matches exactly", () => {
|
|
99
|
+
const result = (0, getTokenNameHelper_1.getTokenName)("ST1234567890123456789012345678901234567890.token-a", mockContext);
|
|
100
|
+
expect(result).toBe("Token A");
|
|
101
|
+
});
|
|
102
|
+
it("should return token name when token contract matches case-insensitive", () => {
|
|
103
|
+
const result = (0, getTokenNameHelper_1.getTokenName)("st1234567890123456789012345678901234567890.TOKEN-A", mockContext);
|
|
104
|
+
expect(result).toBe("Token A");
|
|
105
|
+
});
|
|
106
|
+
it("should return name when tokenName is not available", () => {
|
|
107
|
+
const result = (0, getTokenNameHelper_1.getTokenName)("ST1234567890123456789012345678901234567890.token-c", mockContext);
|
|
108
|
+
expect(result).toBe("Token C");
|
|
109
|
+
});
|
|
110
|
+
it("should return wrapped token name when wrap token contract matches", () => {
|
|
111
|
+
const result = (0, getTokenNameHelper_1.getTokenName)("ST1234567890123456789012345678901234567890.token-a-wrapped", mockContext);
|
|
112
|
+
expect(result).toBe("Wrapped Token A");
|
|
113
|
+
});
|
|
114
|
+
it("should return parent token name when wrapped token has no tokenName", () => {
|
|
115
|
+
const contextWithNoWrappedTokenName = {
|
|
116
|
+
...mockContext,
|
|
117
|
+
availableTokens: [
|
|
118
|
+
{
|
|
119
|
+
base: "token-a",
|
|
120
|
+
type: "fungible",
|
|
121
|
+
icon: "icon-a",
|
|
122
|
+
name: "Token A",
|
|
123
|
+
status: "active",
|
|
124
|
+
symbol: "TKA",
|
|
125
|
+
tokenId: "token-a",
|
|
126
|
+
"token-id": "token-a",
|
|
127
|
+
tokenContract: "ST1234567890123456789012345678901234567890.token-a",
|
|
128
|
+
tokenDecimals: 6,
|
|
129
|
+
tokenName: "Token A",
|
|
130
|
+
wrapTokens: {
|
|
131
|
+
wrapped: {
|
|
132
|
+
tokenContract: "ST1234567890123456789012345678901234567890.token-a-wrapped",
|
|
133
|
+
tokenDecimals: 6,
|
|
134
|
+
tokenName: null // No tokenName, should use parent token name
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
isKeeperToken: false,
|
|
138
|
+
bridge: "FALSE",
|
|
139
|
+
layerOneAsset: null,
|
|
140
|
+
priceData: {
|
|
141
|
+
"1h_change": null,
|
|
142
|
+
"1yr_change": null,
|
|
143
|
+
"24h_change": null,
|
|
144
|
+
"30d_change": null,
|
|
145
|
+
"7d_change": null,
|
|
146
|
+
last_price: null,
|
|
147
|
+
last_updated: null
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
};
|
|
152
|
+
const result = (0, getTokenNameHelper_1.getTokenName)("ST1234567890123456789012345678901234567890.token-a-wrapped", contextWithNoWrappedTokenName);
|
|
153
|
+
expect(result).toBe("Token A");
|
|
154
|
+
});
|
|
155
|
+
it("should return wrapped token name when wrap token contract matches case-insensitive", () => {
|
|
156
|
+
const result = (0, getTokenNameHelper_1.getTokenName)("st1234567890123456789012345678901234567890.TOKEN-A-WRAPPED", mockContext);
|
|
157
|
+
expect(result).toBe("Wrapped Token A");
|
|
158
|
+
});
|
|
159
|
+
it("should throw error when token contract is not found", () => {
|
|
160
|
+
expect(() => {
|
|
161
|
+
(0, getTokenNameHelper_1.getTokenName)("ST1234567890123456789012345678901234567890.nonexistent", mockContext);
|
|
162
|
+
}).toThrow("Token contract ST1234567890123456789012345678901234567890.nonexistent not found");
|
|
163
|
+
});
|
|
164
|
+
it("should handle context with no available tokens", () => {
|
|
165
|
+
const emptyContext = {
|
|
166
|
+
availableTokens: [],
|
|
167
|
+
contractInterfaces: {},
|
|
168
|
+
functionArgs: {},
|
|
169
|
+
network: "testnet",
|
|
170
|
+
swapOptions: {}
|
|
171
|
+
};
|
|
172
|
+
expect(() => {
|
|
173
|
+
(0, getTokenNameHelper_1.getTokenName)("ST1234567890123456789012345678901234567890.token-a", emptyContext);
|
|
174
|
+
}).toThrow("Token contract ST1234567890123456789012345678901234567890.token-a not found");
|
|
175
|
+
});
|
|
176
|
+
it("should handle tokens without tokenContract property", () => {
|
|
177
|
+
const contextWithNoTokenContract = {
|
|
178
|
+
...mockContext,
|
|
179
|
+
availableTokens: [
|
|
180
|
+
{
|
|
181
|
+
base: "token-a",
|
|
182
|
+
type: "fungible",
|
|
183
|
+
icon: "icon-a",
|
|
184
|
+
name: "Token A",
|
|
185
|
+
status: "active",
|
|
186
|
+
symbol: "TKA",
|
|
187
|
+
tokenId: "token-a",
|
|
188
|
+
"token-id": "token-a",
|
|
189
|
+
tokenContract: null, // No tokenContract property
|
|
190
|
+
tokenDecimals: 6,
|
|
191
|
+
tokenName: "Token A",
|
|
192
|
+
wrapTokens: null,
|
|
193
|
+
isKeeperToken: false,
|
|
194
|
+
bridge: "FALSE",
|
|
195
|
+
layerOneAsset: null,
|
|
196
|
+
priceData: {
|
|
197
|
+
"1h_change": null,
|
|
198
|
+
"1yr_change": null,
|
|
199
|
+
"24h_change": null,
|
|
200
|
+
"30d_change": null,
|
|
201
|
+
"7d_change": null,
|
|
202
|
+
last_price: null,
|
|
203
|
+
last_updated: null
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
]
|
|
207
|
+
};
|
|
208
|
+
expect(() => {
|
|
209
|
+
(0, getTokenNameHelper_1.getTokenName)("ST1234567890123456789012345678901234567890.token-a", contextWithNoTokenContract);
|
|
210
|
+
}).toThrow("Token contract ST1234567890123456789012345678901234567890.token-a not found");
|
|
211
|
+
});
|
|
212
|
+
it("should handle wrap tokens without tokenContract property", () => {
|
|
213
|
+
const contextWithNoWrappedTokenContract = {
|
|
214
|
+
...mockContext,
|
|
215
|
+
availableTokens: [
|
|
216
|
+
{
|
|
217
|
+
base: "token-a",
|
|
218
|
+
type: "fungible",
|
|
219
|
+
icon: "icon-a",
|
|
220
|
+
name: "Token A",
|
|
221
|
+
status: "active",
|
|
222
|
+
symbol: "TKA",
|
|
223
|
+
tokenId: "token-a",
|
|
224
|
+
"token-id": "token-a",
|
|
225
|
+
tokenContract: "ST1234567890123456789012345678901234567890.token-a",
|
|
226
|
+
tokenDecimals: 6,
|
|
227
|
+
tokenName: "Token A",
|
|
228
|
+
wrapTokens: {
|
|
229
|
+
wrapped: {
|
|
230
|
+
tokenContract: "ST1234567890123456789012345678901234567890.token-a-wrapped",
|
|
231
|
+
tokenDecimals: 6,
|
|
232
|
+
tokenName: "Wrapped Token A"
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
isKeeperToken: false,
|
|
236
|
+
bridge: "FALSE",
|
|
237
|
+
layerOneAsset: null,
|
|
238
|
+
priceData: {
|
|
239
|
+
"1h_change": null,
|
|
240
|
+
"1yr_change": null,
|
|
241
|
+
"24h_change": null,
|
|
242
|
+
"30d_change": null,
|
|
243
|
+
"7d_change": null,
|
|
244
|
+
last_price: null,
|
|
245
|
+
last_updated: null
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
]
|
|
249
|
+
};
|
|
250
|
+
// This test case doesn't make sense since we can't have a wrap token without tokenContract
|
|
251
|
+
// The type system would prevent this. Let's test a different scenario.
|
|
252
|
+
expect(() => {
|
|
253
|
+
(0, getTokenNameHelper_1.getTokenName)("ST1234567890123456789012345678901234567890.nonexistent-wrapped", contextWithNoWrappedTokenContract);
|
|
254
|
+
}).toThrow("Token contract ST1234567890123456789012345678901234567890.nonexistent-wrapped not found");
|
|
255
|
+
});
|
|
256
|
+
});
|
|
257
|
+
});
|
|
258
|
+
//# sourceMappingURL=getTokenNameHelper.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTokenNameHelper.test.js","sourceRoot":"","sources":["../../../test/helpers/getTokenNameHelper.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const handleResultHelper_1 = require("../../src/helpers/handleResultHelper");
|
|
4
|
+
describe('handleResult', () => {
|
|
5
|
+
it('should return nulls for null or undefined input', () => {
|
|
6
|
+
expect((0, handleResultHelper_1.handleResult)(null)).toEqual({ rawResult: null, convertedResult: null });
|
|
7
|
+
expect((0, handleResultHelper_1.handleResult)(undefined)).toEqual({ rawResult: null, convertedResult: null });
|
|
8
|
+
});
|
|
9
|
+
it('should handle int and uint', () => {
|
|
10
|
+
expect((0, handleResultHelper_1.handleResult)({ type: 'int', value: '42' })).toEqual({ rawResult: BigInt(42), convertedResult: 42 });
|
|
11
|
+
expect((0, handleResultHelper_1.handleResult)({ type: 'uint', value: '123' })).toEqual({ rawResult: BigInt(123), convertedResult: 123 });
|
|
12
|
+
});
|
|
13
|
+
it('should handle buffer', () => {
|
|
14
|
+
const buf = Buffer.from('abcd', 'utf8');
|
|
15
|
+
const result = (0, handleResultHelper_1.handleResult)({ type: 'buffer', value: buf });
|
|
16
|
+
expect(result.rawResult.equals(buf)).toBe(true);
|
|
17
|
+
expect(result.convertedResult).toBe(buf.toString('hex'));
|
|
18
|
+
});
|
|
19
|
+
it('should handle true/false', () => {
|
|
20
|
+
expect((0, handleResultHelper_1.handleResult)({ type: 'true' })).toEqual({ rawResult: true, convertedResult: true });
|
|
21
|
+
expect((0, handleResultHelper_1.handleResult)({ type: 'false' })).toEqual({ rawResult: false, convertedResult: false });
|
|
22
|
+
});
|
|
23
|
+
it('should handle address', () => {
|
|
24
|
+
expect((0, handleResultHelper_1.handleResult)({ type: 'address', value: 'ST123' })).toEqual({ rawResult: 'ST123', convertedResult: 'ST123' });
|
|
25
|
+
});
|
|
26
|
+
it('should handle contract', () => {
|
|
27
|
+
expect((0, handleResultHelper_1.handleResult)({ type: 'contract', value: { address: 'ST123', contractName: 'foo' } })).toEqual({ rawResult: 'ST123.foo', convertedResult: 'ST123.foo' });
|
|
28
|
+
});
|
|
29
|
+
it('should recurse for ok/err/some', () => {
|
|
30
|
+
expect((0, handleResultHelper_1.handleResult)({ type: 'ok', value: { type: 'int', value: '1' } })).toEqual({ rawResult: BigInt(1), convertedResult: 1 });
|
|
31
|
+
expect((0, handleResultHelper_1.handleResult)({ type: 'err', value: { type: 'false' } })).toEqual({ rawResult: false, convertedResult: false });
|
|
32
|
+
expect((0, handleResultHelper_1.handleResult)({ type: 'some', value: { type: 'true' } })).toEqual({ rawResult: true, convertedResult: true });
|
|
33
|
+
});
|
|
34
|
+
it('should handle none', () => {
|
|
35
|
+
expect((0, handleResultHelper_1.handleResult)({ type: 'none' })).toEqual({ rawResult: null, convertedResult: null });
|
|
36
|
+
});
|
|
37
|
+
it('should handle list', () => {
|
|
38
|
+
const input = { type: 'list', value: [
|
|
39
|
+
{ type: 'int', value: '1' },
|
|
40
|
+
{ type: 'int', value: '2' }
|
|
41
|
+
] };
|
|
42
|
+
expect((0, handleResultHelper_1.handleResult)(input)).toEqual({ rawResult: [BigInt(1), BigInt(2)], convertedResult: [1, 2] });
|
|
43
|
+
});
|
|
44
|
+
it('should handle tuple with non-object', () => {
|
|
45
|
+
const spy = jest.spyOn(console, 'error').mockImplementation(() => { });
|
|
46
|
+
expect((0, handleResultHelper_1.handleResult)({ type: 'tuple', value: null })).toEqual({ rawResult: null, convertedResult: null });
|
|
47
|
+
expect((0, handleResultHelper_1.handleResult)({ type: 'tuple', value: 123 })).toEqual({ rawResult: null, convertedResult: null });
|
|
48
|
+
spy.mockRestore();
|
|
49
|
+
});
|
|
50
|
+
it('should handle tuple with empty object', () => {
|
|
51
|
+
expect((0, handleResultHelper_1.handleResult)({ type: 'tuple', value: {} })).toEqual({ rawResult: null, convertedResult: null });
|
|
52
|
+
});
|
|
53
|
+
it('should handle tuple with multiple keys (returns last in sort)', () => {
|
|
54
|
+
const input = { type: 'tuple', value: { a: { type: 'int', value: '1' }, b: { type: 'int', value: '2' } } };
|
|
55
|
+
// b > a in localeCompare, so b is picked
|
|
56
|
+
expect((0, handleResultHelper_1.handleResult)(input)).toEqual({ rawResult: BigInt(2), convertedResult: 2 });
|
|
57
|
+
});
|
|
58
|
+
it('should handle ascii and utf8', () => {
|
|
59
|
+
expect((0, handleResultHelper_1.handleResult)({ type: 'ascii', value: 'foo' })).toEqual({ rawResult: 'foo', convertedResult: 'foo' });
|
|
60
|
+
expect((0, handleResultHelper_1.handleResult)({ type: 'utf8', value: 'bar' })).toEqual({ rawResult: 'bar', convertedResult: 'bar' });
|
|
61
|
+
});
|
|
62
|
+
it('should throw on unknown type', () => {
|
|
63
|
+
expect(() => (0, handleResultHelper_1.handleResult)({ type: 'weird', value: 1 })).toThrow('Unexpected result type: weird');
|
|
64
|
+
});
|
|
65
|
+
it('should handle input with data property instead of value', () => {
|
|
66
|
+
expect((0, handleResultHelper_1.handleResult)({ type: 'int', data: '42' })).toEqual({ rawResult: BigInt(42), convertedResult: 42 });
|
|
67
|
+
expect((0, handleResultHelper_1.handleResult)({ type: 'uint', data: '123' })).toEqual({ rawResult: BigInt(123), convertedResult: 123 });
|
|
68
|
+
const buf = Buffer.from('abcd', 'utf8');
|
|
69
|
+
expect((0, handleResultHelper_1.handleResult)({ type: 'buffer', data: buf })).toEqual({ rawResult: buf, convertedResult: buf.toString('hex') });
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
//# sourceMappingURL=handleResultHelper.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleResultHelper.test.js","sourceRoot":"","sources":["../../../test/helpers/handleResultHelper.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|