@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/dist/constants.d.ts +6 -0
- package/dist/sdk.cjs.development.js +38 -10
- package/dist/sdk.cjs.development.js.map +1 -1
- package/dist/sdk.cjs.production.min.js +1 -1
- package/dist/sdk.cjs.production.min.js.map +1 -1
- package/dist/sdk.esm.js +37 -11
- package/dist/sdk.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/MoneyMarket.ts +13 -7
- package/src/constants.ts +16 -0
- package/src/priceFetcher.ts +10 -6
package/package.json
CHANGED
package/src/MoneyMarket.ts
CHANGED
|
@@ -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
|
|
215
|
-
|
|
216
|
-
|
|
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
|
|
225
|
-
|
|
226
|
-
|
|
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
|
+
}
|
package/src/priceFetcher.ts
CHANGED
|
@@ -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.
|
|
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
|
+
}
|