@strkfarm/sdk 1.0.9 → 1.0.11
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/dist/cli.js +34 -97
- package/dist/cli.mjs +34 -97
- package/dist/index.browser.global.js +4013 -4034
- package/dist/index.d.ts +31 -28
- package/dist/index.js +154 -174
- package/dist/index.mjs +150 -170
- package/package.json +2 -1
- package/src/global.ts +44 -2
- package/src/interfaces/common.ts +1 -1
- package/src/modules/pricer.ts +72 -19
- package/src/data/tokens.json +0 -79
package/dist/cli.js
CHANGED
|
@@ -82,90 +82,10 @@ var PasswordJsonCryptoUtil = class {
|
|
|
82
82
|
};
|
|
83
83
|
|
|
84
84
|
// src/modules/pricer.ts
|
|
85
|
-
var
|
|
86
|
-
|
|
87
|
-
// src/data/tokens.json
|
|
88
|
-
var tokens_default = [
|
|
89
|
-
{
|
|
90
|
-
name: "Ether",
|
|
91
|
-
symbol: "ETH",
|
|
92
|
-
address: "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",
|
|
93
|
-
decimals: 18,
|
|
94
|
-
pricerKey: "ETH-USDT"
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
name: "USD Coin",
|
|
98
|
-
symbol: "USDC",
|
|
99
|
-
address: "0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8",
|
|
100
|
-
decimals: 6,
|
|
101
|
-
pricerKey: "USDC-USDT"
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
name: "Wrapped BTC",
|
|
105
|
-
symbol: "WBTC",
|
|
106
|
-
address: "0x03fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac",
|
|
107
|
-
decimals: 8,
|
|
108
|
-
pricerKey: "WBTC-USDT"
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: "Tether USD",
|
|
112
|
-
symbol: "USDT",
|
|
113
|
-
address: "0x068f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8",
|
|
114
|
-
decimals: 6,
|
|
115
|
-
pricerKey: "USDT-USDT"
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
name: "Dai Stablecoin",
|
|
119
|
-
symbol: "DAIv0",
|
|
120
|
-
address: "",
|
|
121
|
-
decimals: 18,
|
|
122
|
-
pricerKey: "DAI-USDT"
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
name: "Starknet Wrapped Staked Ether",
|
|
126
|
-
symbol: "wstETH",
|
|
127
|
-
address: "0x042b8f0484674ca266ac5d08e4ac6a3fe65bd3129795def2dca5c34ecc5f96d2",
|
|
128
|
-
decimals: 18,
|
|
129
|
-
pricerKey: "wstETH-USDT"
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
name: "Starknet Token",
|
|
133
|
-
symbol: "STRK",
|
|
134
|
-
address: "0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",
|
|
135
|
-
decimals: 18,
|
|
136
|
-
pricerKey: "STRK-USDT"
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
name: "zkLend Token",
|
|
140
|
-
symbol: "ZEND",
|
|
141
|
-
address: "",
|
|
142
|
-
decimals: 18,
|
|
143
|
-
pricerKey: "ZEND-USDT"
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
name: "Dai Stablecoin",
|
|
147
|
-
symbol: "DAI",
|
|
148
|
-
address: "",
|
|
149
|
-
decimals: 18,
|
|
150
|
-
pricerKey: "DAI-USDT"
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
name: "Ekubo Protocol",
|
|
154
|
-
symbol: "EKUBO",
|
|
155
|
-
address: "",
|
|
156
|
-
decimals: 18,
|
|
157
|
-
pricerKey: "DAI-USDT"
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
name: "kSTRK token",
|
|
161
|
-
symbol: "kSTRK",
|
|
162
|
-
address: "",
|
|
163
|
-
decimals: 18,
|
|
164
|
-
pricerKey: "DAI-USDT"
|
|
165
|
-
}
|
|
166
|
-
];
|
|
85
|
+
var import_axios2 = __toESM(require("axios"));
|
|
167
86
|
|
|
168
87
|
// src/global.ts
|
|
88
|
+
var import_axios = __toESM(require("axios"));
|
|
169
89
|
var logger = {
|
|
170
90
|
...console,
|
|
171
91
|
verbose(message) {
|
|
@@ -181,6 +101,7 @@ var FatalError = class extends Error {
|
|
|
181
101
|
this.name = "FatalError";
|
|
182
102
|
}
|
|
183
103
|
};
|
|
104
|
+
var tokens = [];
|
|
184
105
|
var Global = class {
|
|
185
106
|
static fatalError(message, err) {
|
|
186
107
|
logger.error(message);
|
|
@@ -194,7 +115,23 @@ var Global = class {
|
|
|
194
115
|
console.error(err);
|
|
195
116
|
}
|
|
196
117
|
static async getTokens() {
|
|
197
|
-
return
|
|
118
|
+
if (tokens.length) return tokens;
|
|
119
|
+
const data = await import_axios.default.get("https://starknet.api.avnu.fi/v1/starknet/tokens");
|
|
120
|
+
const tokensData = data.data.content;
|
|
121
|
+
tokensData.forEach((token) => {
|
|
122
|
+
if (!token.tags.includes("AVNU") || !token.tags.includes("Verified")) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
tokens.push({
|
|
126
|
+
name: token.name,
|
|
127
|
+
symbol: token.symbol,
|
|
128
|
+
address: token.address,
|
|
129
|
+
decimals: token.decimals,
|
|
130
|
+
coingeckId: token.extensions.coingeckoId
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
console.log(tokens);
|
|
134
|
+
return tokens;
|
|
198
135
|
}
|
|
199
136
|
static assert(condition, message) {
|
|
200
137
|
if (!condition) {
|
|
@@ -203,15 +140,6 @@ var Global = class {
|
|
|
203
140
|
}
|
|
204
141
|
};
|
|
205
142
|
|
|
206
|
-
// src/modules/pricer.ts
|
|
207
|
-
var CoinMarketCap = require("coinmarketcap-api");
|
|
208
|
-
|
|
209
|
-
// src/modules/pragma.ts
|
|
210
|
-
var import_starknet = require("starknet");
|
|
211
|
-
|
|
212
|
-
// src/modules/zkLend.ts
|
|
213
|
-
var import_axios2 = __toESM(require("axios"));
|
|
214
|
-
|
|
215
143
|
// src/dataTypes/bignumber.ts
|
|
216
144
|
var import_bignumber = __toESM(require("bignumber.js"));
|
|
217
145
|
var Web3Number = class _Web3Number extends import_bignumber.default {
|
|
@@ -248,6 +176,18 @@ var Web3Number = class _Web3Number extends import_bignumber.default {
|
|
|
248
176
|
import_bignumber.default.config({ DECIMAL_PLACES: 18 });
|
|
249
177
|
Web3Number.config({ DECIMAL_PLACES: 18 });
|
|
250
178
|
|
|
179
|
+
// src/dataTypes/address.ts
|
|
180
|
+
var import_starknet = require("starknet");
|
|
181
|
+
|
|
182
|
+
// src/modules/pricer.ts
|
|
183
|
+
var CoinMarketCap = require("coinmarketcap-api");
|
|
184
|
+
|
|
185
|
+
// src/modules/pragma.ts
|
|
186
|
+
var import_starknet2 = require("starknet");
|
|
187
|
+
|
|
188
|
+
// src/modules/zkLend.ts
|
|
189
|
+
var import_axios3 = __toESM(require("axios"));
|
|
190
|
+
|
|
251
191
|
// src/interfaces/lending.ts
|
|
252
192
|
var ILending = class {
|
|
253
193
|
constructor(config, metadata) {
|
|
@@ -285,7 +225,7 @@ var _ZkLend = class _ZkLend extends ILending {
|
|
|
285
225
|
async init() {
|
|
286
226
|
try {
|
|
287
227
|
logger.verbose(`Initialising ${this.metadata.name}`);
|
|
288
|
-
const result = await
|
|
228
|
+
const result = await import_axios3.default.get(_ZkLend.POOLS_URL);
|
|
289
229
|
const data = result.data;
|
|
290
230
|
const savedTokens = await Global.getTokens();
|
|
291
231
|
data.forEach((pool) => {
|
|
@@ -375,7 +315,7 @@ var _ZkLend = class _ZkLend extends ILending {
|
|
|
375
315
|
*/
|
|
376
316
|
async getPositions(user) {
|
|
377
317
|
const url = this.POSITION_URL.replace("{{USER_ADDR}}", user.address);
|
|
378
|
-
const result = await
|
|
318
|
+
const result = await import_axios3.default.get(url);
|
|
379
319
|
const data = result.data;
|
|
380
320
|
const lendingPosition = [];
|
|
381
321
|
logger.verbose(`${this.metadata.name}:: Positions: ${JSON.stringify(data)}`);
|
|
@@ -408,9 +348,6 @@ _ZkLend.POOLS_URL = "https://app.zklend.com/api/pools";
|
|
|
408
348
|
var ZkLend = _ZkLend;
|
|
409
349
|
|
|
410
350
|
// src/interfaces/common.ts
|
|
411
|
-
var import_starknet2 = require("starknet");
|
|
412
|
-
|
|
413
|
-
// src/dataTypes/address.ts
|
|
414
351
|
var import_starknet3 = require("starknet");
|
|
415
352
|
|
|
416
353
|
// src/strategies/autoCompounderStrk.ts
|
package/dist/cli.mjs
CHANGED
|
@@ -65,90 +65,10 @@ var PasswordJsonCryptoUtil = class {
|
|
|
65
65
|
};
|
|
66
66
|
|
|
67
67
|
// src/modules/pricer.ts
|
|
68
|
-
import
|
|
69
|
-
|
|
70
|
-
// src/data/tokens.json
|
|
71
|
-
var tokens_default = [
|
|
72
|
-
{
|
|
73
|
-
name: "Ether",
|
|
74
|
-
symbol: "ETH",
|
|
75
|
-
address: "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",
|
|
76
|
-
decimals: 18,
|
|
77
|
-
pricerKey: "ETH-USDT"
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
name: "USD Coin",
|
|
81
|
-
symbol: "USDC",
|
|
82
|
-
address: "0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8",
|
|
83
|
-
decimals: 6,
|
|
84
|
-
pricerKey: "USDC-USDT"
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
name: "Wrapped BTC",
|
|
88
|
-
symbol: "WBTC",
|
|
89
|
-
address: "0x03fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac",
|
|
90
|
-
decimals: 8,
|
|
91
|
-
pricerKey: "WBTC-USDT"
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
name: "Tether USD",
|
|
95
|
-
symbol: "USDT",
|
|
96
|
-
address: "0x068f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8",
|
|
97
|
-
decimals: 6,
|
|
98
|
-
pricerKey: "USDT-USDT"
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
name: "Dai Stablecoin",
|
|
102
|
-
symbol: "DAIv0",
|
|
103
|
-
address: "",
|
|
104
|
-
decimals: 18,
|
|
105
|
-
pricerKey: "DAI-USDT"
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
name: "Starknet Wrapped Staked Ether",
|
|
109
|
-
symbol: "wstETH",
|
|
110
|
-
address: "0x042b8f0484674ca266ac5d08e4ac6a3fe65bd3129795def2dca5c34ecc5f96d2",
|
|
111
|
-
decimals: 18,
|
|
112
|
-
pricerKey: "wstETH-USDT"
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
name: "Starknet Token",
|
|
116
|
-
symbol: "STRK",
|
|
117
|
-
address: "0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",
|
|
118
|
-
decimals: 18,
|
|
119
|
-
pricerKey: "STRK-USDT"
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
name: "zkLend Token",
|
|
123
|
-
symbol: "ZEND",
|
|
124
|
-
address: "",
|
|
125
|
-
decimals: 18,
|
|
126
|
-
pricerKey: "ZEND-USDT"
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
name: "Dai Stablecoin",
|
|
130
|
-
symbol: "DAI",
|
|
131
|
-
address: "",
|
|
132
|
-
decimals: 18,
|
|
133
|
-
pricerKey: "DAI-USDT"
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
name: "Ekubo Protocol",
|
|
137
|
-
symbol: "EKUBO",
|
|
138
|
-
address: "",
|
|
139
|
-
decimals: 18,
|
|
140
|
-
pricerKey: "DAI-USDT"
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
name: "kSTRK token",
|
|
144
|
-
symbol: "kSTRK",
|
|
145
|
-
address: "",
|
|
146
|
-
decimals: 18,
|
|
147
|
-
pricerKey: "DAI-USDT"
|
|
148
|
-
}
|
|
149
|
-
];
|
|
68
|
+
import axios2 from "axios";
|
|
150
69
|
|
|
151
70
|
// src/global.ts
|
|
71
|
+
import axios from "axios";
|
|
152
72
|
var logger = {
|
|
153
73
|
...console,
|
|
154
74
|
verbose(message) {
|
|
@@ -164,6 +84,7 @@ var FatalError = class extends Error {
|
|
|
164
84
|
this.name = "FatalError";
|
|
165
85
|
}
|
|
166
86
|
};
|
|
87
|
+
var tokens = [];
|
|
167
88
|
var Global = class {
|
|
168
89
|
static fatalError(message, err) {
|
|
169
90
|
logger.error(message);
|
|
@@ -177,7 +98,23 @@ var Global = class {
|
|
|
177
98
|
console.error(err);
|
|
178
99
|
}
|
|
179
100
|
static async getTokens() {
|
|
180
|
-
return
|
|
101
|
+
if (tokens.length) return tokens;
|
|
102
|
+
const data = await axios.get("https://starknet.api.avnu.fi/v1/starknet/tokens");
|
|
103
|
+
const tokensData = data.data.content;
|
|
104
|
+
tokensData.forEach((token) => {
|
|
105
|
+
if (!token.tags.includes("AVNU") || !token.tags.includes("Verified")) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
tokens.push({
|
|
109
|
+
name: token.name,
|
|
110
|
+
symbol: token.symbol,
|
|
111
|
+
address: token.address,
|
|
112
|
+
decimals: token.decimals,
|
|
113
|
+
coingeckId: token.extensions.coingeckoId
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
console.log(tokens);
|
|
117
|
+
return tokens;
|
|
181
118
|
}
|
|
182
119
|
static assert(condition, message) {
|
|
183
120
|
if (!condition) {
|
|
@@ -186,15 +123,6 @@ var Global = class {
|
|
|
186
123
|
}
|
|
187
124
|
};
|
|
188
125
|
|
|
189
|
-
// src/modules/pricer.ts
|
|
190
|
-
var CoinMarketCap = __require("coinmarketcap-api");
|
|
191
|
-
|
|
192
|
-
// src/modules/pragma.ts
|
|
193
|
-
import { Contract } from "starknet";
|
|
194
|
-
|
|
195
|
-
// src/modules/zkLend.ts
|
|
196
|
-
import axios2 from "axios";
|
|
197
|
-
|
|
198
126
|
// src/dataTypes/bignumber.ts
|
|
199
127
|
import BigNumber from "bignumber.js";
|
|
200
128
|
var Web3Number = class _Web3Number extends BigNumber {
|
|
@@ -231,6 +159,18 @@ var Web3Number = class _Web3Number extends BigNumber {
|
|
|
231
159
|
BigNumber.config({ DECIMAL_PLACES: 18 });
|
|
232
160
|
Web3Number.config({ DECIMAL_PLACES: 18 });
|
|
233
161
|
|
|
162
|
+
// src/dataTypes/address.ts
|
|
163
|
+
import { num } from "starknet";
|
|
164
|
+
|
|
165
|
+
// src/modules/pricer.ts
|
|
166
|
+
var CoinMarketCap = __require("coinmarketcap-api");
|
|
167
|
+
|
|
168
|
+
// src/modules/pragma.ts
|
|
169
|
+
import { Contract } from "starknet";
|
|
170
|
+
|
|
171
|
+
// src/modules/zkLend.ts
|
|
172
|
+
import axios3 from "axios";
|
|
173
|
+
|
|
234
174
|
// src/interfaces/lending.ts
|
|
235
175
|
var ILending = class {
|
|
236
176
|
constructor(config, metadata) {
|
|
@@ -268,7 +208,7 @@ var _ZkLend = class _ZkLend extends ILending {
|
|
|
268
208
|
async init() {
|
|
269
209
|
try {
|
|
270
210
|
logger.verbose(`Initialising ${this.metadata.name}`);
|
|
271
|
-
const result = await
|
|
211
|
+
const result = await axios3.get(_ZkLend.POOLS_URL);
|
|
272
212
|
const data = result.data;
|
|
273
213
|
const savedTokens = await Global.getTokens();
|
|
274
214
|
data.forEach((pool) => {
|
|
@@ -358,7 +298,7 @@ var _ZkLend = class _ZkLend extends ILending {
|
|
|
358
298
|
*/
|
|
359
299
|
async getPositions(user) {
|
|
360
300
|
const url = this.POSITION_URL.replace("{{USER_ADDR}}", user.address);
|
|
361
|
-
const result = await
|
|
301
|
+
const result = await axios3.get(url);
|
|
362
302
|
const data = result.data;
|
|
363
303
|
const lendingPosition = [];
|
|
364
304
|
logger.verbose(`${this.metadata.name}:: Positions: ${JSON.stringify(data)}`);
|
|
@@ -393,9 +333,6 @@ var ZkLend = _ZkLend;
|
|
|
393
333
|
// src/interfaces/common.ts
|
|
394
334
|
import { RpcProvider as RpcProvider2 } from "starknet";
|
|
395
335
|
|
|
396
|
-
// src/dataTypes/address.ts
|
|
397
|
-
import { num } from "starknet";
|
|
398
|
-
|
|
399
336
|
// src/strategies/autoCompounderStrk.ts
|
|
400
337
|
import { Contract as Contract2, uint256 } from "starknet";
|
|
401
338
|
|