@aurigami/sdk 1.7.1 → 1.7.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.
@@ -14,6 +14,7 @@ export declare type NetworkAddresses = {
14
14
  tokens: Record<string, string>;
15
15
  };
16
16
  export declare const networkAddresses: NetworkAddresses;
17
+ export declare const DEPOSIT_ONLY_TOKENS: string[];
17
18
  export declare const PRICE_WHITELISTED: Set<string>;
18
19
  export declare const REWARD_CLAIM_START = 1651759200;
19
20
  export declare const BORROW_LIMIT_BUFFER: BigNumber;
@@ -1,6 +1,6 @@
1
1
  import { AuriFairLaunch, AuriInternalLens, AuriLens, Comptroller, IERC20, PULP } from '@aurigami/contracts/typechain';
2
2
  import { Contract } from 'ethers';
3
- import { NetworkConnection } from '../types';
3
+ import { AuTokenWithUnderlying, NetworkConnection } from '../types';
4
4
  import { BlockchainEntityRead } from './BlockchainEntity';
5
5
  export declare class AuriEnv extends BlockchainEntityRead {
6
6
  comptroller: Comptroller;
@@ -10,5 +10,6 @@ export declare class AuriEnv extends BlockchainEntityRead {
10
10
  pulp: PULP;
11
11
  auriInternalLens: AuriInternalLens;
12
12
  getContract<CType extends Contract>(address: string, abi: any): CType;
13
+ getAuTokenContracts(): AuTokenWithUnderlying[];
13
14
  constructor(networkConnection: NetworkConnection);
14
15
  }
@@ -5,6 +5,7 @@ export declare class TokenAmount {
5
5
  private rawAmnt;
6
6
  constructor(token: Token, amount: string, isRaw?: boolean);
7
7
  formattedAmount(): string;
8
+ formattedAmountWithSymbol(): string;
8
9
  rawAmount(): string;
9
10
  static fromAddressAndAmount(tokenAddress: Address, amount: string, isRaw?: boolean): TokenAmount;
10
11
  }
@@ -9,6 +9,7 @@ export declare const getCurrentTimestamp: () => number;
9
9
  export declare function validateAndParseAddress(address: Address): Address;
10
10
  export declare function getDecimal(address: Address): number;
11
11
  export declare function getSymbol(address: Address): string;
12
+ export declare function getUnderlying(address: Address): Address;
12
13
  export declare function calcLMRewardApr(rewardsValue: BigNumber, totalStakeValue: BigNumber, frequencyPerYear: number): BigNumber;
13
14
  export declare function getBlockTimestamp(provider: Provider, blockNumber: number): Promise<number>;
14
15
  export declare function getBlocksTimestampViaRPC(provider: Provider, blocksNumber: number[]): Promise<number[]>;
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * as abis from './abis';
1
2
  export * from './consts';
2
3
  export * from './contracts';
3
4
  export * from './entities';
@@ -7,26 +7,46 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
7
7
  var BigNumber = _interopDefault(require('bignumber.js'));
8
8
  var ethers = require('ethers');
9
9
  var utils = require('ethers/lib/utils');
10
- var MAINNET_ADDRESSES = _interopDefault(require('@aurigami/contracts/deployments/aurora_mainnet.json'));
11
- var aurora_testnet_json = _interopDefault(require('@aurigami/contracts/deployments/aurora_testnet.json'));
12
10
  var abis = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuErc20.sol/AuErc20.json'));
13
11
  var abis$1 = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuETH.sol/AuETH.json'));
14
12
  var AuriAirdropABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuriAirdrop.sol/AuriAirdrop.json'));
15
13
  var abis$2 = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuriFairLaunch.sol/AuriFairLaunch.json'));
16
14
  var abis$3 = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuriLens.sol/AuriLens.json'));
17
15
  var AuriOracleABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuriOracle.sol/AuriOracle.json'));
18
- var AuTokenABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuToken.sol/AuToken.json'));
19
- var abis$4 = _interopDefault(require('@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json'));
20
- var abis$5 = _interopDefault(require('@aurigami/contracts/artifacts/contracts/EthRepayHelper.sol/EthRepayHelper.json'));
21
- var abis$6 = _interopDefault(require('@aurigami/contracts/artifacts/contracts/interfaces/EIP20Interface.sol/EIP20Interface.json'));
22
- var abis$7 = _interopDefault(require('@aurigami/contracts/artifacts/contracts/mock/AuriInternalLens.sol/AuriInternalLens.json'));
16
+ var abis$4 = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuToken.sol/AuToken.json'));
17
+ var abis$5 = _interopDefault(require('@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json'));
18
+ var abis$6 = _interopDefault(require('@aurigami/contracts/artifacts/contracts/EthRepayHelper.sol/EthRepayHelper.json'));
19
+ var abis$7 = _interopDefault(require('@aurigami/contracts/artifacts/contracts/interfaces/EIP20Interface.sol/EIP20Interface.json'));
20
+ var abis$8 = _interopDefault(require('@aurigami/contracts/artifacts/contracts/mock/AuriInternalLens.sol/AuriInternalLens.json'));
23
21
  var IUniswapV2PairABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/mock/IUniswapV2Pair.sol/IUniswapV2Pair.json'));
24
- var abis$8 = _interopDefault(require('@aurigami/contracts/artifacts/contracts/mock/Multicall2.sol/Multicall2.json'));
25
- var abis$9 = _interopDefault(require('@aurigami/contracts/artifacts/contracts/PULP.sol/PULP.json'));
26
- var abis$a = _interopDefault(require('@aurigami/contracts/artifacts/contracts/ReferralDirectory.sol/ReferralDirectory.json'));
22
+ var abis$9 = _interopDefault(require('@aurigami/contracts/artifacts/contracts/mock/Multicall2.sol/Multicall2.json'));
23
+ var abis$a = _interopDefault(require('@aurigami/contracts/artifacts/contracts/PULP.sol/PULP.json'));
24
+ var abis$b = _interopDefault(require('@aurigami/contracts/artifacts/contracts/ReferralDirectory.sol/ReferralDirectory.json'));
25
+ var MAINNET_ADDRESSES = _interopDefault(require('@aurigami/contracts/deployments/aurora_mainnet.json'));
26
+ var aurora_testnet_json = _interopDefault(require('@aurigami/contracts/deployments/aurora_testnet.json'));
27
27
  var abstractSigner = require('@ethersproject/abstract-signer');
28
28
  var axios = _interopDefault(require('axios'));
29
- var fetch = _interopDefault(require('node-fetch'));
29
+
30
+
31
+
32
+ var index = {
33
+ __proto__: null,
34
+ AuriOracleABI: AuriOracleABI,
35
+ AuTokenABI: abis$4,
36
+ IUniswapV2PairABI: IUniswapV2PairABI,
37
+ AuriAirdropABI: AuriAirdropABI,
38
+ AuriFairLaunchABI: abis$2,
39
+ AuriLensABI: abis$3,
40
+ ComptrollerABI: abis$5,
41
+ EIP20InterfaceABI: abis$7,
42
+ ReferralDirectoryABI: abis$b,
43
+ AuErc20ABI: abis,
44
+ AuETHABI: abis$1,
45
+ EthRepayHelperABI: abis$6,
46
+ Multicall2ABI: abis$9,
47
+ PulpABI: abis$a,
48
+ AuriInternalLensABI: abis$8
49
+ };
30
50
 
31
51
  var dummyAddress = '0xDEADbeEfEEeEEEeEEEeEEeeeeeEeEEeeeeEEEEeE';
32
52
  var ETHAddress = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
@@ -103,7 +123,8 @@ var networkAddresses = {
103
123
  PLYWNEAR: /*#__PURE__*/MAINNET_ADDRESSES.ply_wnear_lp.toLowerCase(),
104
124
  USN: /*#__PURE__*/'0x5183e1b1091804bc2602586919e6880ac1cf2896'.toLowerCase()
105
125
  }
106
- }; // All token that we can calculate the price via oracle + coingecko
126
+ };
127
+ var DEPOSIT_ONLY_TOKENS = [/*#__PURE__*/MAINNET_ADDRESSES.auTokens.STNEAR.toLowerCase(), /*#__PURE__*/MAINNET_ADDRESSES.auTokens.AURORA.toLowerCase(), /*#__PURE__*/MAINNET_ADDRESSES.auTokens.TRI.toLowerCase(), /*#__PURE__*/MAINNET_ADDRESSES.auTokens.PLY.toLowerCase(), /*#__PURE__*/MAINNET_ADDRESSES.auTokens.USN.toLowerCase()]; // All token that we can calculate the price via oracle + coingecko
107
128
 
108
129
  var PRICE_WHITELISTED = /*#__PURE__*/new Set( /*#__PURE__*/[].concat( /*#__PURE__*/networkAddresses.auTokens.map(function (t) {
109
130
  return t.underlying;
@@ -313,13 +334,13 @@ var AuriEnv = /*#__PURE__*/function (_BlockchainEntityRead) {
313
334
  var _this;
314
335
 
315
336
  _this = _BlockchainEntityRead.call(this, networkConnection) || this;
316
- _this.comptroller = _this.getContract(networkAddresses.misc.COMPTROLLER, abis$4.abi);
337
+ _this.comptroller = _this.getContract(networkAddresses.misc.COMPTROLLER, abis$5.abi);
317
338
  _this.auriFairLaunch = _this.getContract(networkAddresses.misc.AURIFAIRLAUNCH, abis$2.abi);
318
339
  _this.auriLens = _this.getContract(networkAddresses.misc.AURILENS, abis$3.abi);
319
- _this.ply = _this.getContract(networkAddresses.tokens.PLY, abis$6.abi);
320
- _this.pulp = _this.getContract(networkAddresses.tokens.PULP, abis$9.abi); // this.faucet = this.getContract<Faucet>(networkAddresses.misc.FAUCET, abis.FaucetABI.abi);
340
+ _this.ply = _this.getContract(networkAddresses.tokens.PLY, abis$7.abi);
341
+ _this.pulp = _this.getContract(networkAddresses.tokens.PULP, abis$a.abi); // this.faucet = this.getContract<Faucet>(networkAddresses.misc.FAUCET, abis.FaucetABI.abi);
321
342
 
322
- _this.auriInternalLens = _this.getContract(networkAddresses.misc.AURI_INTERNAL_LENS, abis$7.abi);
343
+ _this.auriInternalLens = _this.getContract(networkAddresses.misc.AURI_INTERNAL_LENS, abis$8.abi);
323
344
  return _this;
324
345
  } // public faucet: Faucet;
325
346
 
@@ -330,6 +351,17 @@ var AuriEnv = /*#__PURE__*/function (_BlockchainEntityRead) {
330
351
  return new ethers.Contract(address, abi, this._networkConnection.provider);
331
352
  };
332
353
 
354
+ _proto.getAuTokenContracts = function getAuTokenContracts() {
355
+ var _this2 = this;
356
+
357
+ return networkAddresses.auTokens.map(function (auToken) {
358
+ var contract = _this2.getContract(auToken.address, abis$4.abi);
359
+
360
+ contract.underlying = auToken.underlying;
361
+ return contract;
362
+ });
363
+ };
364
+
333
365
  return AuriEnv;
334
366
  }(BlockchainEntityRead);
335
367
 
@@ -1095,7 +1127,9 @@ try {
1095
1127
 
1096
1128
  var symbolRecords = /*#__PURE__*/Object.fromEntries( /*#__PURE__*/networkAddresses.auTokens.map(function (e) {
1097
1129
  return [e.address.toLowerCase(), e.name];
1098
- }));
1130
+ }).concat( /*#__PURE__*/networkAddresses.auTokens.map(function (e) {
1131
+ return [e.underlying.toLowerCase(), e.name.slice(2)];
1132
+ })));
1099
1133
 
1100
1134
  var AURORA_API_BASE_URL = 'https://api.aurorascan.dev/api';
1101
1135
  function getQuery(_x, _x2, _x3) {
@@ -1151,25 +1185,15 @@ function _queryGraphQL() {
1151
1185
  switch (_context.prev = _context.next) {
1152
1186
  case 0:
1153
1187
  _context.next = 2;
1154
- return fetch(GRAPHQL_URL, {
1155
- headers: {
1156
- 'Content-Type': 'application/json'
1157
- },
1158
- method: 'POST',
1159
- body: JSON.stringify({
1160
- query: query
1161
- })
1188
+ return axios.post(GRAPHQL_URL, {
1189
+ query: query
1162
1190
  });
1163
1191
 
1164
1192
  case 2:
1165
1193
  resp = _context.sent;
1166
- _context.next = 5;
1167
- return resp.json();
1168
-
1169
- case 5:
1170
- return _context.abrupt("return", _context.sent.data);
1194
+ return _context.abrupt("return", resp.data.data);
1171
1195
 
1172
- case 6:
1196
+ case 4:
1173
1197
  case "end":
1174
1198
  return _context.stop();
1175
1199
  }
@@ -1218,6 +1242,18 @@ function getSymbol(address) {
1218
1242
  assert(symbolRecords[addressLowercase] != undefined, 'Symbol not found for ' + address);
1219
1243
  return symbolRecords[addressLowercase];
1220
1244
  }
1245
+ function getUnderlying(address) {
1246
+ var addressLowercase = address.toLowerCase();
1247
+ var matching = networkAddresses.auTokens.filter(function (e) {
1248
+ return e.address == addressLowercase;
1249
+ });
1250
+
1251
+ if (matching.length == 0) {
1252
+ throw new Error('Underlying not found for ' + address);
1253
+ }
1254
+
1255
+ return matching[0].underlying;
1256
+ }
1221
1257
  function calcLMRewardApr(rewardsValue, totalStakeValue, frequencyPerYear) {
1222
1258
  if (rewardsValue.isZero()) {
1223
1259
  return new BigNumber(0);
@@ -1488,6 +1524,10 @@ var TokenAmount = /*#__PURE__*/function () {
1488
1524
  return new BigNumber(this.rawAmnt).div(decimalFactor(this.token.decimals)).toString();
1489
1525
  };
1490
1526
 
1527
+ _proto.formattedAmountWithSymbol = function formattedAmountWithSymbol() {
1528
+ return this.formattedAmount() + " " + getSymbol(this.token.address);
1529
+ };
1530
+
1491
1531
  _proto.rawAmount = function rawAmount() {
1492
1532
  return this.rawAmnt;
1493
1533
  };
@@ -2204,7 +2244,7 @@ var TransferEventQuery = /*#__PURE__*/function (_BlockchainEntityRead) {
2204
2244
  var _this;
2205
2245
 
2206
2246
  _this = _BlockchainEntityRead.call(this, networkConnection) || this;
2207
- _this.auToken = new ethers.Contract(tokenAddr, AuTokenABI.abi, _this._networkConnection.provider);
2247
+ _this.auToken = new ethers.Contract(tokenAddr, abis$4.abi, _this._networkConnection.provider);
2208
2248
  return _this;
2209
2249
  }
2210
2250
  /**
@@ -2314,6 +2354,7 @@ var helpers = {
2314
2354
  validateAndParseAddress: validateAndParseAddress,
2315
2355
  getDecimal: getDecimal,
2316
2356
  getSymbol: getSymbol,
2357
+ getUnderlying: getUnderlying,
2317
2358
  calcLMRewardApr: calcLMRewardApr,
2318
2359
  getBlockTimestamp: getBlockTimestamp,
2319
2360
  getBlocksTimestampViaRPC: getBlocksTimestampViaRPC,
@@ -2976,7 +3017,7 @@ var MoneyMarketReadWrite = /*#__PURE__*/function (_MoneyMarketRead) {
2976
3017
  var _this3;
2977
3018
 
2978
3019
  _this3 = _MoneyMarketRead.call(this, networkConnection, auToken, underlyingAsset) || this;
2979
- _this3._EthRepayHelper = new ethers.Contract(networkAddresses.misc.ETHREPAYHELPER, abis$5.abi, networkConnection.provider);
3020
+ _this3._EthRepayHelper = new ethers.Contract(networkAddresses.misc.ETHREPAYHELPER, abis$6.abi, networkConnection.provider);
2980
3021
  return _this3;
2981
3022
  }
2982
3023
 
@@ -3190,7 +3231,7 @@ var MulticallRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3190
3231
  var _this;
3191
3232
 
3192
3233
  _this = _BlockchainEntityRead.call(this, networkConnection) || this;
3193
- _this.multicall = new ethers.Contract(networkAddresses.misc.MULTICALL, abis$8.abi, networkConnection.provider);
3234
+ _this.multicall = new ethers.Contract(networkAddresses.misc.MULTICALL, abis$9.abi, networkConnection.provider);
3194
3235
  return _this;
3195
3236
  }
3196
3237
  /**
@@ -3762,7 +3803,7 @@ var StakingRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3762
3803
  while (1) {
3763
3804
  switch (_context3.prev = _context3.next) {
3764
3805
  case 0:
3765
- lpContract = new ethers.Contract(networkAddresses.tokens.PLYWNEAR, abis$6.abi, this._networkConnection.provider);
3806
+ lpContract = new ethers.Contract(networkAddresses.tokens.PLYWNEAR, abis$7.abi, this._networkConnection.provider);
3766
3807
  _context3.next = 3;
3767
3808
  return lpContract.balanceOf(user);
3768
3809
 
@@ -4255,7 +4296,7 @@ var MiscRead = /*#__PURE__*/function (_BlockchainEntityRead) {
4255
4296
  dust = new BigNumber(0.1);
4256
4297
  oracle = this.env.getContract(networkAddresses.misc.oracle, AuriOracleABI.abi);
4257
4298
  tokens = tokenAddresses.map(function (addr) {
4258
- return _this3.env.getContract(addr, AuTokenABI.abi);
4299
+ return _this3.env.getContract(addr, abis$4.abi);
4259
4300
  });
4260
4301
  _context5.next = 6;
4261
4302
  return oracle.getUnderlyingPrices(tokenAddresses);
@@ -4353,7 +4394,7 @@ var ReferralRead = /*#__PURE__*/function (_BlockchainEntityRead) {
4353
4394
  var _this;
4354
4395
 
4355
4396
  _this = _BlockchainEntityRead.call(this, networkConnection) || this;
4356
- _this.referral = new ethers.Contract(networkAddresses.misc.REFERRAL, abis$a.abi, networkConnection.provider);
4397
+ _this.referral = new ethers.Contract(networkAddresses.misc.REFERRAL, abis$b.abi, networkConnection.provider);
4357
4398
  return _this;
4358
4399
  }
4359
4400
  /**
@@ -5053,6 +5094,7 @@ exports.BlockchainEntityRead = BlockchainEntityRead;
5053
5094
  exports.BlockchainEntityReadWrite = BlockchainEntityReadWrite;
5054
5095
  exports.DECIMAL_PRECISION = DECIMAL_PRECISION;
5055
5096
  exports.DEPOSIT_NEAR_REWARDS_PER_WEEK = DEPOSIT_NEAR_REWARDS_PER_WEEK;
5097
+ exports.DEPOSIT_ONLY_TOKENS = DEPOSIT_ONLY_TOKENS;
5056
5098
  exports.ETHAddress = ETHAddress;
5057
5099
  exports.HARDCODE_PRICE_TOKENS = HARDCODE_PRICE_TOKENS;
5058
5100
  exports.INF = INF;
@@ -5084,6 +5126,7 @@ exports.StakingReadWrite = StakingReadWrite;
5084
5126
  exports.Token = Token;
5085
5127
  exports.TokenAmount = TokenAmount;
5086
5128
  exports.TransferEventQuery = TransferEventQuery;
5129
+ exports.abis = index;
5087
5130
  exports.assert = assert;
5088
5131
  exports.calcLMRewardApr = calcLMRewardApr;
5089
5132
  exports.calcValuation = calcValuation;
@@ -5123,6 +5166,7 @@ exports.getDecimal = getDecimal;
5123
5166
  exports.getPaginatedApi = getPaginatedApi;
5124
5167
  exports.getQuery = getQuery;
5125
5168
  exports.getSymbol = getSymbol;
5169
+ exports.getUnderlying = getUnderlying;
5126
5170
  exports.isSameAddress = isSameAddress;
5127
5171
  exports.networkAddresses = networkAddresses;
5128
5172
  exports.queryGraphQL = queryGraphQL;