@aurigami/sdk 1.3.5 → 1.4.1

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/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.3.5",
2
+ "version": "1.4.1",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
@@ -8,7 +8,7 @@ import AuriLensABI from '@aurigami/contracts/artifacts/contracts/AuriLens.sol/Au
8
8
  import EthRepayHelperABI from "@aurigami/contracts/artifacts/contracts/EthRepayHelper.sol/EthRepayHelper.json"
9
9
  import { AuErc20, AuETH, AuriLens, Comptroller, EthRepayHelper } from "@aurigami/contracts/typechain";
10
10
  import { TransactionResponse } from '@ethersproject/abstract-provider';
11
- import { networkAddresses, ETHAddress, ONE_YEAR, INF, ONE_DAY } from "./constants";
11
+ import { networkAddresses, ETHAddress, ONE_YEAR, INF, ONE_DAY, DEPOSIT_NEAR_REWARDS_PER_WEEK, BORROW_NEAR_REWARDS_PER_WEEK } from "./constants";
12
12
  import BigNumber from "bignumber.js";
13
13
  import { decimalFactor, isSameAddress, calcLMRewardApr, getCurrentTimestamp } from './helpers';
14
14
  import { Token, PLYToken } from './token';
@@ -211,9 +211,12 @@ export class MoneyMarketRead extends BlockchainEntityRead {
211
211
 
212
212
  private getDepositNEARRewardPerWeek(): TokenAmount {
213
213
  const NEARToken = new Token(networkAddresses.tokens.WNEAR, getDecimal(networkAddresses.tokens.WNEAR));
214
- const rewardStopTime = 1650463200;
215
- if (isSameAddress(this.underlying.address, networkAddresses.tokens.USDC) && getCurrentTimestamp() <= rewardStopTime) {
216
- return new TokenAmount(NEARToken, "1250", false);
214
+ const rewardStartTime = 1650636000;
215
+ const rewardStopTime = 1651845600; // May 06, 2022 2 PM GMT
216
+ const currentTime = getCurrentTimestamp();
217
+ if (currentTime <= rewardStopTime && currentTime > rewardStartTime) {
218
+ const reward = DEPOSIT_NEAR_REWARDS_PER_WEEK[this.underlying.address.toLocaleLowerCase()] ?? "0";
219
+ return new TokenAmount(NEARToken, reward, false);
217
220
  } else {
218
221
  return new TokenAmount(NEARToken, "0");
219
222
  }
@@ -221,9 +224,12 @@ export class MoneyMarketRead extends BlockchainEntityRead {
221
224
 
222
225
  private getBorrowNEARRewardPerWeek(): TokenAmount {
223
226
  const NEARToken = new Token(networkAddresses.tokens.WNEAR, getDecimal(networkAddresses.tokens.WNEAR));
224
- const rewardStopTime = 1650463200;
225
- if (isSameAddress(this.underlying.address, networkAddresses.tokens.USDC) && getCurrentTimestamp() <= rewardStopTime) {
226
- return new TokenAmount(NEARToken, "3750", false);
227
+ const rewardStartTime = 1650636000;
228
+ const rewardStopTime = 1651845600; // May 06, 2022 2 PM GMT
229
+ const currentTime = getCurrentTimestamp();
230
+ if (currentTime <= rewardStopTime && currentTime > rewardStartTime) {
231
+ const reward = BORROW_NEAR_REWARDS_PER_WEEK[this.underlying.address.toLocaleLowerCase()] ?? "0";
232
+ return new TokenAmount(NEARToken, reward, false);
227
233
  } else {
228
234
  return new TokenAmount(NEARToken, "0");
229
235
  }
package/src/constants.ts CHANGED
@@ -80,6 +80,7 @@ export const networkAddresses: NetworkAddresses = {
80
80
  USDC: '0xb12bfca5a55806aaf64e99521918a4bf0fc40802'.toLowerCase(),
81
81
  WNEAR: '0xC42C30aC6Cc15faC9bD938618BcaA1a1FaE8501d'.toLowerCase(),
82
82
  TRI: '0xFa94348467f64D5A457F75F8bc40495D33c65aBB'.toLowerCase(),
83
+ META: '0xc21ff01229e982d7c8b8691163b0a3cb8f357453'.toLocaleLowerCase(),
83
84
  AURPLY: dummyAddress.toLowerCase() // This is dummy
84
85
  }
85
86
  }
@@ -98,3 +99,18 @@ export const INF = BN.from(2).pow(256).sub(1)
98
99
  export const AIRDROP_START_TIMESTAMP = 1649858400;
99
100
  export const AIRDROP_END_TIMESTAMP = 1651068000;
100
101
  export const AIRDROP_KEEP_THRESHOLD = 7 * 86400;
102
+
103
+ export const DEPOSIT_NEAR_REWARDS_PER_WEEK: {[k : string]: string} = Object.fromEntries(
104
+ // lower case all addresses
105
+ Object.entries({
106
+ '0xb12bfca5a55806aaf64e99521918a4bf0fc40802': '36375', // USDC
107
+ '0x4988a896b1227218e4a686fde5eabdcabd91571f': '14550', // USDT
108
+ '0xf4eb217ba2454613b15dbdea6e5f22276410e89e': '3638', // WBTC
109
+ '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE': '14550', // ETH
110
+ '0xc42c30ac6cc15fac9bd938618bcaa1a1fae8501d': '3638', // WNEAR
111
+ }).map(([k, v]) => [k.toLowerCase(), v])
112
+ );
113
+
114
+ export const BORROW_NEAR_REWARDS_PER_WEEK: {[k : string]: string} = {
115
+ // currently 0 for all markets
116
+ }
@@ -17,7 +17,7 @@ export async function fetchPriceFromCoingeckoAPI(id: string): Promise<BigNumber>
17
17
  ).then((res: any) => {
18
18
  return res.data
19
19
  })
20
-
20
+
21
21
  return new BigNumber(price[id].usd)
22
22
  }
23
23
 
@@ -28,7 +28,10 @@ export async function fetchPriceFromCoingecko(id: Address): Promise<BigNumber> {
28
28
 
29
29
  case networkAddresses.tokens.TRI:
30
30
  return fetchPriceFromCoingeckoAPI('trisolaris');
31
-
31
+
32
+ case networkAddresses.tokens.META:
33
+ return fetchPriceFromCoingeckoAPI('meta-pool');
34
+
32
35
  default:
33
36
  throw Error(`Unknown token ${id} in fetchPriceFromCoingecko`);
34
37
  }
@@ -110,12 +113,13 @@ export async function fetchStNEARPrice(): Promise<BigNumber> {
110
113
  function shouldFetchFromCoingecko(address: string) {
111
114
  address = address.toLowerCase();
112
115
  return address == networkAddresses.tokens.AURORA ||
113
- address == networkAddresses.tokens.TRI;
116
+ address == networkAddresses.tokens.TRI ||
117
+ address == networkAddresses.tokens.META;
114
118
  }
115
119
 
116
120
  export async function fetchPrice(address: Address, provider: providers.Provider): Promise<BigNumber> {
117
121
  if (hardcodePLYPrice && isSameAddress(address, networkAddresses.tokens.PLY)) return new BigNumber(0);
118
-
122
+
119
123
  // if (isSameAddress(address, networkAddresses.tokens.stNEAR)) return fetchStNEARPrice();
120
124
  if (shouldFetchFromCoingecko(address)) return fetchPriceFromCoingecko(address);
121
125
 
@@ -124,7 +128,7 @@ export async function fetchPrice(address: Address, provider: providers.Provider)
124
128
  });
125
129
  if (matchingAuToken !== undefined) {
126
130
  return fetchPriceFromOracle(matchingAuToken.address, getDecimal(address), provider);
127
- } else if (isSameAddress(address, networkAddresses.tokens.AUPLYLP)) {
131
+ } else if (isSameAddress(address, networkAddresses.tokens.AURPLY)) {
128
132
  return fetchLPPrice(address, provider);
129
133
  } else {
130
134
  return fetchPriceFromCoingecko(address);
@@ -138,4 +142,4 @@ export async function fetchValuation(tokenAmount: TokenAmount, provider: provide
138
142
 
139
143
  export function calcValuation(tokenAmount: TokenAmount, price: BigNumber) {
140
144
  return new BigNumber(tokenAmount.formattedAmount()).multipliedBy(price);
141
- }
145
+ }