@strkfarm/sdk 1.0.8 → 1.0.10

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 CHANGED
@@ -82,83 +82,10 @@ var PasswordJsonCryptoUtil = class {
82
82
  };
83
83
 
84
84
  // src/modules/pricer.ts
85
- var import_axios = __toESM(require("axios"));
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
- ];
85
+ var import_axios2 = __toESM(require("axios"));
160
86
 
161
87
  // src/global.ts
88
+ var import_axios = __toESM(require("axios"));
162
89
  var logger = {
163
90
  ...console,
164
91
  verbose(message) {
@@ -174,6 +101,7 @@ var FatalError = class extends Error {
174
101
  this.name = "FatalError";
175
102
  }
176
103
  };
104
+ var tokens = [];
177
105
  var Global = class {
178
106
  static fatalError(message, err) {
179
107
  logger.error(message);
@@ -187,7 +115,23 @@ var Global = class {
187
115
  console.error(err);
188
116
  }
189
117
  static async getTokens() {
190
- return tokens_default;
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;
191
135
  }
192
136
  static assert(condition, message) {
193
137
  if (!condition) {
@@ -196,15 +140,6 @@ var Global = class {
196
140
  }
197
141
  };
198
142
 
199
- // src/modules/pricer.ts
200
- var CoinMarketCap = require("coinmarketcap-api");
201
-
202
- // src/modules/pragma.ts
203
- var import_starknet = require("starknet");
204
-
205
- // src/modules/zkLend.ts
206
- var import_axios2 = __toESM(require("axios"));
207
-
208
143
  // src/dataTypes/bignumber.ts
209
144
  var import_bignumber = __toESM(require("bignumber.js"));
210
145
  var Web3Number = class _Web3Number extends import_bignumber.default {
@@ -241,6 +176,18 @@ var Web3Number = class _Web3Number extends import_bignumber.default {
241
176
  import_bignumber.default.config({ DECIMAL_PLACES: 18 });
242
177
  Web3Number.config({ DECIMAL_PLACES: 18 });
243
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
+
244
191
  // src/interfaces/lending.ts
245
192
  var ILending = class {
246
193
  constructor(config, metadata) {
@@ -278,7 +225,7 @@ var _ZkLend = class _ZkLend extends ILending {
278
225
  async init() {
279
226
  try {
280
227
  logger.verbose(`Initialising ${this.metadata.name}`);
281
- const result = await import_axios2.default.get(_ZkLend.POOLS_URL);
228
+ const result = await import_axios3.default.get(_ZkLend.POOLS_URL);
282
229
  const data = result.data;
283
230
  const savedTokens = await Global.getTokens();
284
231
  data.forEach((pool) => {
@@ -368,7 +315,7 @@ var _ZkLend = class _ZkLend extends ILending {
368
315
  */
369
316
  async getPositions(user) {
370
317
  const url = this.POSITION_URL.replace("{{USER_ADDR}}", user.address);
371
- const result = await import_axios2.default.get(url);
318
+ const result = await import_axios3.default.get(url);
372
319
  const data = result.data;
373
320
  const lendingPosition = [];
374
321
  logger.verbose(`${this.metadata.name}:: Positions: ${JSON.stringify(data)}`);
@@ -401,9 +348,6 @@ _ZkLend.POOLS_URL = "https://app.zklend.com/api/pools";
401
348
  var ZkLend = _ZkLend;
402
349
 
403
350
  // src/interfaces/common.ts
404
- var import_starknet2 = require("starknet");
405
-
406
- // src/dataTypes/address.ts
407
351
  var import_starknet3 = require("starknet");
408
352
 
409
353
  // src/strategies/autoCompounderStrk.ts
package/dist/cli.mjs CHANGED
@@ -65,83 +65,10 @@ var PasswordJsonCryptoUtil = class {
65
65
  };
66
66
 
67
67
  // src/modules/pricer.ts
68
- import axios from "axios";
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
- ];
68
+ import axios2 from "axios";
143
69
 
144
70
  // src/global.ts
71
+ import axios from "axios";
145
72
  var logger = {
146
73
  ...console,
147
74
  verbose(message) {
@@ -157,6 +84,7 @@ var FatalError = class extends Error {
157
84
  this.name = "FatalError";
158
85
  }
159
86
  };
87
+ var tokens = [];
160
88
  var Global = class {
161
89
  static fatalError(message, err) {
162
90
  logger.error(message);
@@ -170,7 +98,23 @@ var Global = class {
170
98
  console.error(err);
171
99
  }
172
100
  static async getTokens() {
173
- return tokens_default;
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;
174
118
  }
175
119
  static assert(condition, message) {
176
120
  if (!condition) {
@@ -179,15 +123,6 @@ var Global = class {
179
123
  }
180
124
  };
181
125
 
182
- // src/modules/pricer.ts
183
- var CoinMarketCap = __require("coinmarketcap-api");
184
-
185
- // src/modules/pragma.ts
186
- import { Contract } from "starknet";
187
-
188
- // src/modules/zkLend.ts
189
- import axios2 from "axios";
190
-
191
126
  // src/dataTypes/bignumber.ts
192
127
  import BigNumber from "bignumber.js";
193
128
  var Web3Number = class _Web3Number extends BigNumber {
@@ -224,6 +159,18 @@ var Web3Number = class _Web3Number extends BigNumber {
224
159
  BigNumber.config({ DECIMAL_PLACES: 18 });
225
160
  Web3Number.config({ DECIMAL_PLACES: 18 });
226
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
+
227
174
  // src/interfaces/lending.ts
228
175
  var ILending = class {
229
176
  constructor(config, metadata) {
@@ -261,7 +208,7 @@ var _ZkLend = class _ZkLend extends ILending {
261
208
  async init() {
262
209
  try {
263
210
  logger.verbose(`Initialising ${this.metadata.name}`);
264
- const result = await axios2.get(_ZkLend.POOLS_URL);
211
+ const result = await axios3.get(_ZkLend.POOLS_URL);
265
212
  const data = result.data;
266
213
  const savedTokens = await Global.getTokens();
267
214
  data.forEach((pool) => {
@@ -351,7 +298,7 @@ var _ZkLend = class _ZkLend extends ILending {
351
298
  */
352
299
  async getPositions(user) {
353
300
  const url = this.POSITION_URL.replace("{{USER_ADDR}}", user.address);
354
- const result = await axios2.get(url);
301
+ const result = await axios3.get(url);
355
302
  const data = result.data;
356
303
  const lendingPosition = [];
357
304
  logger.verbose(`${this.metadata.name}:: Positions: ${JSON.stringify(data)}`);
@@ -386,9 +333,6 @@ var ZkLend = _ZkLend;
386
333
  // src/interfaces/common.ts
387
334
  import { RpcProvider as RpcProvider2 } from "starknet";
388
335
 
389
- // src/dataTypes/address.ts
390
- import { num } from "starknet";
391
-
392
336
  // src/strategies/autoCompounderStrk.ts
393
337
  import { Contract as Contract2, uint256 } from "starknet";
394
338
 
@@ -503,11 +447,11 @@ var Store = class _Store {
503
447
 
504
448
  // src/cli.ts
505
449
  import chalk from "chalk";
506
- import { RpcProvider as RpcProvider3 } from "starknet";
450
+ import { RpcProvider as RpcProvider4 } from "starknet";
507
451
  var program = new Command();
508
452
  var getConfig = (network) => {
509
453
  return {
510
- provider: new RpcProvider3({
454
+ provider: new RpcProvider4({
511
455
  nodeUrl: "https://starknet-mainnet.public.blastapi.io"
512
456
  }),
513
457
  network,