@aurigami/sdk 0.4.0 → 0.4.5
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/SDK.d.ts +6 -5
- package/dist/constants.d.ts +3 -7
- package/dist/priceFetcher.d.ts +2 -1
- package/dist/sdk.cjs.development.js +100 -69
- 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 +87 -52
- package/dist/sdk.esm.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/package.json +1 -1
- package/src/MoneyMarket.ts +7 -6
- package/src/SDK.ts +49 -15
- package/src/constants.ts +4 -23
- package/src/dummy.ts +2 -1
- package/src/priceFetcher.ts +7 -5
- package/src/types.ts +8 -0
package/dist/SDK.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BlockchainEntity, BlockchainEntityRead } from './BlockchainEntity';
|
|
2
|
-
import { LockingDetails, PlyAuroraPoolDetails, NetworkConnection, UserDetails, UserMarketDetails, CurrencyAmount, HypotheticalStats } from './types';
|
|
2
|
+
import { LockingDetails, PlyAuroraPoolDetails, NetworkConnection, UserDetails, UserMarketDetails, CurrencyAmount, HypotheticalStats, MarketAction } from './types';
|
|
3
3
|
import { TransactionResponse } from '@ethersproject/abstract-provider';
|
|
4
|
-
import { Contract
|
|
4
|
+
import { Contract } from 'ethers';
|
|
5
5
|
import { AuriFairLaunch, Comptroller, TokenLock } from '@aurigami/contracts/typechain';
|
|
6
6
|
import { TokenAmount } from './tokenAmount';
|
|
7
7
|
import { Token } from './token';
|
|
@@ -16,11 +16,12 @@ export declare class SdkRead extends BlockchainEntityRead {
|
|
|
16
16
|
getPlyAuroraPoolDetails(): Promise<PlyAuroraPoolDetails>;
|
|
17
17
|
getTokenPrice(token: Token): Promise<CurrencyAmount>;
|
|
18
18
|
stakeBalanceOf(user: string): Promise<TokenAmount>;
|
|
19
|
-
calcHypotheticalStats(
|
|
19
|
+
calcHypotheticalStats({ userMarketDetail, currentBorrowLimit, currentBorrowValuation, action, tokenAmount }: {
|
|
20
20
|
userMarketDetail: UserMarketDetails;
|
|
21
21
|
currentBorrowLimit: CurrencyAmount;
|
|
22
22
|
currentBorrowValuation: CurrencyAmount;
|
|
23
|
-
|
|
23
|
+
action: MarketAction;
|
|
24
|
+
tokenAmount?: TokenAmount;
|
|
24
25
|
}): HypotheticalStats;
|
|
25
26
|
}
|
|
26
27
|
export declare class SdkReadWrite extends SdkRead {
|
|
@@ -31,5 +32,5 @@ export declare class SdkReadWrite extends SdkRead {
|
|
|
31
32
|
export declare class SDK extends BlockchainEntity {
|
|
32
33
|
constructor();
|
|
33
34
|
read(networkConnection: NetworkConnection): SdkRead;
|
|
34
|
-
|
|
35
|
+
readWrite(networkConnection: NetworkConnection): SdkReadWrite;
|
|
35
36
|
}
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
|
-
import {
|
|
3
|
-
export declare const AVAX_DEFAULT_PROVIDER_URL = "https://api.avax.network/ext/bc/C/rpc";
|
|
4
|
-
export declare const AVAX_DEFAULT_PROVIDER: any;
|
|
5
|
-
export declare const AURORA_DEFAULT_PROVIDER_URL: string;
|
|
6
|
-
export declare const AURORA_DEFAULT_PROVIDER: any;
|
|
2
|
+
import { ethers } from 'ethers';
|
|
7
3
|
export declare const dummyAddress: string;
|
|
8
4
|
export declare const ETHAddress: string;
|
|
9
|
-
export declare const AURORA_DEFAULT_SIGNER: Signer;
|
|
10
5
|
export declare const AURORA_CHAINID = 1313161554;
|
|
11
|
-
export declare const DECIMAL_PRECISION =
|
|
6
|
+
export declare const DECIMAL_PRECISION = 10;
|
|
12
7
|
export declare type NetworkAddresses = {
|
|
13
8
|
auTokens: {
|
|
14
9
|
address: string;
|
|
@@ -23,3 +18,4 @@ export declare const REWARDCLAIMSTART = 1640995200;
|
|
|
23
18
|
export declare const ONE_DAY = 86400;
|
|
24
19
|
export declare const ONE_YEAR: number;
|
|
25
20
|
export declare const AurPlyPid = 0;
|
|
21
|
+
export declare const INF: ethers.BigNumber;
|
package/dist/priceFetcher.d.ts
CHANGED
|
@@ -18,4 +18,5 @@ export declare function fetchUnderlyingTokensPrices(provider: providers.Provider
|
|
|
18
18
|
underlyingPrice: BigNumber;
|
|
19
19
|
}[]>;
|
|
20
20
|
export declare function fetchPrice(address: Address, provider: providers.Provider): Promise<BigNumber>;
|
|
21
|
-
export declare function fetchValuation(tokenAmount: TokenAmount, provider: providers.Provider
|
|
21
|
+
export declare function fetchValuation(tokenAmount: TokenAmount, provider: providers.Provider): Promise<BigNumber>;
|
|
22
|
+
export declare function calcValuation(tokenAmount: TokenAmount, price: BigNumber): BigNumber;
|
|
@@ -6,8 +6,7 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
|
|
|
6
6
|
|
|
7
7
|
var abstractSigner = require('@ethersproject/abstract-signer');
|
|
8
8
|
var BigNumber = _interopDefault(require('bignumber.js'));
|
|
9
|
-
var
|
|
10
|
-
var ethers$1 = require('ethers');
|
|
9
|
+
var ethers = require('ethers');
|
|
11
10
|
var AuErc20ABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuErc20.sol/AuErc20.json'));
|
|
12
11
|
var AuETHABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuETH.sol/AuETH.json'));
|
|
13
12
|
var ComptrollerABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json'));
|
|
@@ -898,18 +897,24 @@ var BlockchainEntity = /*#__PURE__*/function () {
|
|
|
898
897
|
return BlockchainEntity;
|
|
899
898
|
}();
|
|
900
899
|
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
900
|
+
(function (ComptrollerRewardType) {
|
|
901
|
+
ComptrollerRewardType[ComptrollerRewardType["PLY"] = 0] = "PLY";
|
|
902
|
+
ComptrollerRewardType[ComptrollerRewardType["AURORA"] = 1] = "AURORA";
|
|
903
|
+
})(exports.ComptrollerRewardType || (exports.ComptrollerRewardType = {}));
|
|
904
|
+
|
|
905
|
+
(function (MarketAction) {
|
|
906
|
+
MarketAction[MarketAction["Deposit"] = 0] = "Deposit";
|
|
907
|
+
MarketAction[MarketAction["Borrow"] = 1] = "Borrow";
|
|
908
|
+
MarketAction[MarketAction["Withdraw"] = 2] = "Withdraw";
|
|
909
|
+
MarketAction[MarketAction["Repay"] = 3] = "Repay";
|
|
910
|
+
MarketAction[MarketAction["EnableCollateral"] = 4] = "EnableCollateral";
|
|
911
|
+
MarketAction[MarketAction["DisableCollateral"] = 5] = "DisableCollateral";
|
|
912
|
+
})(exports.MarketAction || (exports.MarketAction = {}));
|
|
913
|
+
|
|
907
914
|
var dummyAddress = "0xDEADbeEfEEeEEEeEEEeEEeeeeeEeEEeeeeEEEEeE";
|
|
908
915
|
var ETHAddress = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
|
909
|
-
var dummyPrivateKey = '1111111111111111111111111111111111111111111111111111111111111111';
|
|
910
|
-
var AURORA_DEFAULT_SIGNER = /*#__PURE__*/new ethers.Wallet(dummyPrivateKey, AURORA_DEFAULT_PROVIDER);
|
|
911
916
|
var AURORA_CHAINID = 1313161554;
|
|
912
|
-
var DECIMAL_PRECISION =
|
|
917
|
+
var DECIMAL_PRECISION = 10;
|
|
913
918
|
var networkAddresses = {
|
|
914
919
|
auTokens: [{
|
|
915
920
|
address: /*#__PURE__*/'0x2dEf6eb801757655AD227110d65C80DB595bBc60'.toLowerCase(),
|
|
@@ -954,6 +959,7 @@ var REWARDCLAIMSTART = 1640995200;
|
|
|
954
959
|
var ONE_DAY = 86400;
|
|
955
960
|
var ONE_YEAR = ONE_DAY * 365;
|
|
956
961
|
var AurPlyPid = 0;
|
|
962
|
+
var INF = /*#__PURE__*/ethers.BigNumber.from(2).pow(256).sub(1);
|
|
957
963
|
|
|
958
964
|
var decimalRecords = {
|
|
959
965
|
'0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee': 18,
|
|
@@ -979,7 +985,7 @@ function formatObject(object) {
|
|
|
979
985
|
return JSON.stringify(object, null, ' ');
|
|
980
986
|
}
|
|
981
987
|
function decimalFactor(decimal) {
|
|
982
|
-
return ethers
|
|
988
|
+
return ethers.BigNumber.from(10).pow(decimal).toString();
|
|
983
989
|
}
|
|
984
990
|
var isSameAddress = function isSameAddress(address1, address2) {
|
|
985
991
|
return address1.toLowerCase() == address2.toLowerCase();
|
|
@@ -1006,7 +1012,7 @@ var getCurrentTimestamp = /*#__PURE__*/function () {
|
|
|
1006
1012
|
}();
|
|
1007
1013
|
function validateAndParseAddress(address) {
|
|
1008
1014
|
try {
|
|
1009
|
-
return ethers
|
|
1015
|
+
return ethers.utils.getAddress(address);
|
|
1010
1016
|
} catch (error) {
|
|
1011
1017
|
throw new Error("Invalid address: " + address);
|
|
1012
1018
|
}
|
|
@@ -1022,11 +1028,6 @@ function calcLMRewardApr(rewardsValue, totalStakeValue, frequencyPerYear) {
|
|
|
1022
1028
|
return rewardsValue.multipliedBy(frequencyPerYear).dividedBy(totalStakeValue);
|
|
1023
1029
|
}
|
|
1024
1030
|
|
|
1025
|
-
(function (ComptrollerRewardType) {
|
|
1026
|
-
ComptrollerRewardType[ComptrollerRewardType["PLY"] = 0] = "PLY";
|
|
1027
|
-
ComptrollerRewardType[ComptrollerRewardType["AURORA"] = 1] = "AURORA";
|
|
1028
|
-
})(exports.ComptrollerRewardType || (exports.ComptrollerRewardType = {}));
|
|
1029
|
-
|
|
1030
1031
|
var Token = function Token(address, decimals) {
|
|
1031
1032
|
this.address = address.toLowerCase();
|
|
1032
1033
|
this.decimals = decimals;
|
|
@@ -2083,7 +2084,7 @@ function _fetchLPPositions() {
|
|
|
2083
2084
|
switch (_context3.prev = _context3.next) {
|
|
2084
2085
|
case 0:
|
|
2085
2086
|
promises = [];
|
|
2086
|
-
LPContract = new ethers
|
|
2087
|
+
LPContract = new ethers.Contract(LPAddress, IUniswapV2PairABI.abi, provider);
|
|
2087
2088
|
promises.push(LPContract.token0());
|
|
2088
2089
|
promises.push(LPContract.toekn1());
|
|
2089
2090
|
promises.push(LPContract.getReserves());
|
|
@@ -2179,7 +2180,7 @@ function _fetchPriceFromOracle() {
|
|
|
2179
2180
|
while (1) {
|
|
2180
2181
|
switch (_context5.prev = _context5.next) {
|
|
2181
2182
|
case 0:
|
|
2182
|
-
oracleContract = new ethers
|
|
2183
|
+
oracleContract = new ethers.Contract(networkAddresses.misc.oracle, OracleABI.abi, provider);
|
|
2183
2184
|
_context5.next = 3;
|
|
2184
2185
|
return oracleContract.getUnderlyingPrice(auTokenAddress);
|
|
2185
2186
|
|
|
@@ -2208,7 +2209,7 @@ function _fetchUnderlyingTokensPrices() {
|
|
|
2208
2209
|
while (1) {
|
|
2209
2210
|
switch (_context6.prev = _context6.next) {
|
|
2210
2211
|
case 0:
|
|
2211
|
-
auriLens = new ethers
|
|
2212
|
+
auriLens = new ethers.Contract(networkAddresses.misc.AURILENS, AuriLensABI.abi, provider);
|
|
2212
2213
|
auTokenAddresses = networkAddresses.auTokens.map(function (auToken) {
|
|
2213
2214
|
return auToken.address;
|
|
2214
2215
|
});
|
|
@@ -2280,31 +2281,25 @@ function _fetchPrice() {
|
|
|
2280
2281
|
return _fetchPrice.apply(this, arguments);
|
|
2281
2282
|
}
|
|
2282
2283
|
|
|
2283
|
-
function fetchValuation(_x13, _x14
|
|
2284
|
+
function fetchValuation(_x13, _x14) {
|
|
2284
2285
|
return _fetchValuation.apply(this, arguments);
|
|
2285
2286
|
}
|
|
2286
2287
|
|
|
2287
2288
|
function _fetchValuation() {
|
|
2288
|
-
_fetchValuation = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee8(tokenAmount, provider
|
|
2289
|
+
_fetchValuation = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee8(tokenAmount, provider) {
|
|
2290
|
+
var price;
|
|
2289
2291
|
return runtime_1.wrap(function _callee8$(_context8) {
|
|
2290
2292
|
while (1) {
|
|
2291
2293
|
switch (_context8.prev = _context8.next) {
|
|
2292
2294
|
case 0:
|
|
2293
|
-
|
|
2294
|
-
_context8.next = 4;
|
|
2295
|
-
break;
|
|
2296
|
-
}
|
|
2297
|
-
|
|
2298
|
-
_context8.next = 3;
|
|
2295
|
+
_context8.next = 2;
|
|
2299
2296
|
return fetchPrice(tokenAmount.token.address, provider);
|
|
2300
2297
|
|
|
2301
|
-
case
|
|
2298
|
+
case 2:
|
|
2302
2299
|
price = _context8.sent;
|
|
2300
|
+
return _context8.abrupt("return", calcValuation(tokenAmount, price));
|
|
2303
2301
|
|
|
2304
2302
|
case 4:
|
|
2305
|
-
return _context8.abrupt("return", new BigNumber(tokenAmount.formattedAmount()).multipliedBy(price));
|
|
2306
|
-
|
|
2307
|
-
case 5:
|
|
2308
2303
|
case "end":
|
|
2309
2304
|
return _context8.stop();
|
|
2310
2305
|
}
|
|
@@ -2314,6 +2309,10 @@ function _fetchValuation() {
|
|
|
2314
2309
|
return _fetchValuation.apply(this, arguments);
|
|
2315
2310
|
}
|
|
2316
2311
|
|
|
2312
|
+
function calcValuation(tokenAmount, price) {
|
|
2313
|
+
return new BigNumber(tokenAmount.formattedAmount()).multipliedBy(price);
|
|
2314
|
+
}
|
|
2315
|
+
|
|
2317
2316
|
var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
2318
2317
|
_inheritsLoose(MoneyMarketRead, _BlockchainEntityRead);
|
|
2319
2318
|
|
|
@@ -2323,14 +2322,14 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2323
2322
|
_this = _BlockchainEntityRead.call(this, networkConnection) || this;
|
|
2324
2323
|
|
|
2325
2324
|
if (isSameAddress(underlyingAsset, ETHAddress)) {
|
|
2326
|
-
_this.auToken = new ethers
|
|
2325
|
+
_this.auToken = new ethers.Contract(auToken, AuETHABI.abi, networkConnection.provider);
|
|
2327
2326
|
} else {
|
|
2328
|
-
_this.auToken = new ethers
|
|
2327
|
+
_this.auToken = new ethers.Contract(auToken, AuErc20ABI.abi, networkConnection.provider);
|
|
2329
2328
|
}
|
|
2330
2329
|
|
|
2331
2330
|
_this.underlying = new Token(underlyingAsset, getDecimal(underlyingAsset));
|
|
2332
|
-
_this._comptroller = new ethers
|
|
2333
|
-
_this._auriLens = new ethers
|
|
2331
|
+
_this._comptroller = new ethers.Contract(networkAddresses.misc.COMPTROLLER, ComptrollerABI.abi, networkConnection.provider);
|
|
2332
|
+
_this._auriLens = new ethers.Contract(networkAddresses.misc.AURILENS, AuriLensABI.abi, networkConnection.provider);
|
|
2334
2333
|
return _this;
|
|
2335
2334
|
}
|
|
2336
2335
|
|
|
@@ -2415,7 +2414,7 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2415
2414
|
return Promise.all(promises);
|
|
2416
2415
|
|
|
2417
2416
|
case 5:
|
|
2418
|
-
return _context3.abrupt("return", new TokenAmount(this.underlying, ethers
|
|
2417
|
+
return _context3.abrupt("return", new TokenAmount(this.underlying, ethers.BigNumber.from(totalCash.rawAmount()).add(totalBorrow.rawAmount()).toString()));
|
|
2419
2418
|
|
|
2420
2419
|
case 6:
|
|
2421
2420
|
case "end":
|
|
@@ -2635,7 +2634,7 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2635
2634
|
case 11:
|
|
2636
2635
|
_context9.t0 = calcLMRewardApr;
|
|
2637
2636
|
_context9.next = 14;
|
|
2638
|
-
return
|
|
2637
|
+
return calcValuation(new TokenAmount(PLYToken, rewardSpeeds.plyRewardBorrowSpeed.toString()), plyPrice);
|
|
2639
2638
|
|
|
2640
2639
|
case 14:
|
|
2641
2640
|
_context9.t1 = _context9.sent;
|
|
@@ -2644,7 +2643,7 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2644
2643
|
borrowPlyApy = (0, _context9.t0)(_context9.t1, _context9.t2, _context9.t3);
|
|
2645
2644
|
_context9.t4 = calcLMRewardApr;
|
|
2646
2645
|
_context9.next = 21;
|
|
2647
|
-
return
|
|
2646
|
+
return calcValuation(new TokenAmount(PLYToken, rewardSpeeds.plyRewardSupplySpeed.toString()), plyPrice);
|
|
2648
2647
|
|
|
2649
2648
|
case 21:
|
|
2650
2649
|
_context9.t5 = _context9.sent;
|
|
@@ -2808,9 +2807,17 @@ var MoneyMarketReadWrite = /*#__PURE__*/function (_MoneyMarketRead) {
|
|
|
2808
2807
|
while (1) {
|
|
2809
2808
|
switch (_context14.prev = _context14.next) {
|
|
2810
2809
|
case 0:
|
|
2810
|
+
if (!new BigNumber(amount.rawAmount()).lt(0)) {
|
|
2811
|
+
_context14.next = 2;
|
|
2812
|
+
break;
|
|
2813
|
+
}
|
|
2814
|
+
|
|
2815
|
+
return _context14.abrupt("return", this.auToken.connect(this._networkConnection.signer).redeemUnderlying(INF));
|
|
2816
|
+
|
|
2817
|
+
case 2:
|
|
2811
2818
|
return _context14.abrupt("return", this.auToken.connect(this._networkConnection.signer).redeemUnderlying(amount.rawAmount()));
|
|
2812
2819
|
|
|
2813
|
-
case
|
|
2820
|
+
case 3:
|
|
2814
2821
|
case "end":
|
|
2815
2822
|
return _context14.stop();
|
|
2816
2823
|
}
|
|
@@ -2934,10 +2941,10 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2934
2941
|
var _this;
|
|
2935
2942
|
|
|
2936
2943
|
_this = _BlockchainEntityRead.call(this, networkConnection) || this;
|
|
2937
|
-
_this._comptroller = new ethers
|
|
2938
|
-
_this._tokenLock = new ethers
|
|
2939
|
-
_this._auriFairLaunch = new ethers
|
|
2940
|
-
_this._auriLens = new ethers
|
|
2944
|
+
_this._comptroller = new ethers.Contract(networkAddresses.misc.COMPTROLLER, ComptrollerABI.abi, networkConnection.provider);
|
|
2945
|
+
_this._tokenLock = new ethers.Contract(networkAddresses.misc.TOKENLOCK, TokenLockABI.abi, networkConnection.provider);
|
|
2946
|
+
_this._auriFairLaunch = new ethers.Contract(networkAddresses.misc.AURIFAIRLAUNCH, AuriFairLaunchABI.abi, networkConnection.provider);
|
|
2947
|
+
_this._auriLens = new ethers.Contract(networkAddresses.misc.AURILENS, AuriLensABI.abi, networkConnection.provider);
|
|
2941
2948
|
return _this;
|
|
2942
2949
|
}
|
|
2943
2950
|
|
|
@@ -2955,7 +2962,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2955
2962
|
|
|
2956
2963
|
case 2:
|
|
2957
2964
|
currentTime = _context.sent;
|
|
2958
|
-
currentWeek = ethers
|
|
2965
|
+
currentWeek = ethers.BigNumber.from(currentTime - REWARDCLAIMSTART).div(7 * ONE_DAY).toNumber();
|
|
2959
2966
|
denominator = 10000;
|
|
2960
2967
|
promises = [];
|
|
2961
2968
|
promises.push(this._tokenLock.percentageLock(currentWeek));
|
|
@@ -2996,7 +3003,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2996
3003
|
var _getUserDetails = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(userAddress) {
|
|
2997
3004
|
var _this2 = this;
|
|
2998
3005
|
|
|
2999
|
-
var marketCount, userMarketDetails, assetsIn, promises, totalBorrowLimit, pricePromises, _loop2, _iterator, _step, underlyingPrices,
|
|
3006
|
+
var marketCount, userMarketDetails, assetsIn, promises, totalBorrowLimit, pricePromises, _loop2, _iterator, _step, underlyingPrices, depositValues, _loop, i, accountLiquidity, rewardBalancesMetadata, lockedAmount, values, borrowedvaluation, bufferedBorrowLimit, minimumBorrowLimitAllowed, borrowableAmount, auToken, moneyMarket, maxWithdrawCap;
|
|
3000
3007
|
|
|
3001
3008
|
return runtime_1.wrap(function _callee2$(_context2) {
|
|
3002
3009
|
while (1) {
|
|
@@ -3045,7 +3052,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3045
3052
|
|
|
3046
3053
|
case 12:
|
|
3047
3054
|
underlyingPrices = _context2.sent;
|
|
3048
|
-
|
|
3055
|
+
depositValues = [];
|
|
3049
3056
|
|
|
3050
3057
|
_loop = function _loop() {
|
|
3051
3058
|
var auToken = networkAddresses.auTokens[i];
|
|
@@ -3058,18 +3065,13 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3058
3065
|
userMarketDetails[i].isCollateral = false;
|
|
3059
3066
|
}
|
|
3060
3067
|
|
|
3061
|
-
|
|
3068
|
+
depositValues.push(calcValuation(userMarketDetails[i].depositBalance, underlyingPrices[i]));
|
|
3062
3069
|
};
|
|
3063
3070
|
|
|
3064
3071
|
for (i = 0; i < marketCount; i++) {
|
|
3065
3072
|
_loop();
|
|
3066
3073
|
}
|
|
3067
3074
|
|
|
3068
|
-
_context2.next = 18;
|
|
3069
|
-
return Promise.all(depositValuationPromises);
|
|
3070
|
-
|
|
3071
|
-
case 18:
|
|
3072
|
-
depositValues = _context2.sent;
|
|
3073
3075
|
totalBorrowLimit = depositValues.reduce(function (p, v, index) {
|
|
3074
3076
|
if (userMarketDetails[index].isCollateral) return p.plus(v.multipliedBy(userMarketDetails[index].collateralRatio));
|
|
3075
3077
|
return p;
|
|
@@ -3078,15 +3080,20 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3078
3080
|
promises.push(this._comptroller.getAccountLiquidity(userAddress));
|
|
3079
3081
|
promises.push(this._auriLens.callStatic.getRewardBalancesMetadata(this._comptroller.address, this._auriFairLaunch.address, userAddress, [AurPlyPid]));
|
|
3080
3082
|
promises.push(this._tokenLock.lockedAmounts(userAddress));
|
|
3081
|
-
_context2.next =
|
|
3083
|
+
_context2.next = 23;
|
|
3082
3084
|
return Promise.all(promises);
|
|
3083
3085
|
|
|
3084
|
-
case
|
|
3086
|
+
case 23:
|
|
3085
3087
|
values = _context2.sent;
|
|
3086
3088
|
accountLiquidity = values[0];
|
|
3087
3089
|
rewardBalancesMetadata = values[1];
|
|
3088
3090
|
lockedAmount = values[2];
|
|
3089
3091
|
borrowedvaluation = totalBorrowLimit.minus(new BigNumber(accountLiquidity[1].toString()).div(decimalFactor(18)));
|
|
3092
|
+
|
|
3093
|
+
if (borrowedvaluation.lt("0.00001")) {
|
|
3094
|
+
borrowedvaluation = new BigNumber(0);
|
|
3095
|
+
}
|
|
3096
|
+
|
|
3090
3097
|
bufferedBorrowLimit = totalBorrowLimit.multipliedBy(BORROW_LIMIT_BUFFER);
|
|
3091
3098
|
minimumBorrowLimitAllowed = borrowedvaluation.div(BORROW_LIMIT_BUFFER);
|
|
3092
3099
|
|
|
@@ -3117,7 +3124,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3117
3124
|
}
|
|
3118
3125
|
});
|
|
3119
3126
|
|
|
3120
|
-
case
|
|
3127
|
+
case 34:
|
|
3121
3128
|
case "end":
|
|
3122
3129
|
return _context2.stop();
|
|
3123
3130
|
}
|
|
@@ -3240,15 +3247,41 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3240
3247
|
return stakeBalanceOf;
|
|
3241
3248
|
}();
|
|
3242
3249
|
|
|
3243
|
-
_proto.calcHypotheticalStats = function calcHypotheticalStats(
|
|
3244
|
-
var
|
|
3245
|
-
|
|
3250
|
+
_proto.calcHypotheticalStats = function calcHypotheticalStats(_ref) {
|
|
3251
|
+
var userMarketDetail = _ref.userMarketDetail,
|
|
3252
|
+
currentBorrowLimit = _ref.currentBorrowLimit,
|
|
3253
|
+
currentBorrowValuation = _ref.currentBorrowValuation,
|
|
3254
|
+
action = _ref.action,
|
|
3255
|
+
tokenAmount = _ref.tokenAmount;
|
|
3256
|
+
var newBorrowLimit = new BigNumber(currentBorrowLimit.amount),
|
|
3257
|
+
newBorrowValuation = new BigNumber(currentBorrowValuation.amount);
|
|
3258
|
+
|
|
3259
|
+
switch (action) {
|
|
3260
|
+
case exports.MarketAction.EnableCollateral:
|
|
3261
|
+
case exports.MarketAction.DisableCollateral:
|
|
3262
|
+
var deltaBorrowLimit = calcValuation(userMarketDetail.depositBalance, new BigNumber(userMarketDetail.underlyingPrice)).multipliedBy(userMarketDetail.collateralRatio).multipliedBy(BORROW_LIMIT_BUFFER);
|
|
3263
|
+
newBorrowLimit = action == exports.MarketAction.EnableCollateral ? newBorrowLimit.plus(deltaBorrowLimit) : newBorrowLimit.minus(deltaBorrowLimit);
|
|
3264
|
+
break;
|
|
3265
|
+
|
|
3266
|
+
case exports.MarketAction.Deposit:
|
|
3267
|
+
case exports.MarketAction.Withdraw:
|
|
3268
|
+
deltaBorrowLimit = calcValuation(tokenAmount, new BigNumber(userMarketDetail.underlyingPrice)).multipliedBy(userMarketDetail.collateralRatio).multipliedBy(BORROW_LIMIT_BUFFER);
|
|
3269
|
+
newBorrowLimit = action == exports.MarketAction.Deposit ? newBorrowLimit.plus(deltaBorrowLimit) : newBorrowLimit.minus(deltaBorrowLimit);
|
|
3270
|
+
break;
|
|
3271
|
+
|
|
3272
|
+
case exports.MarketAction.Borrow:
|
|
3273
|
+
case exports.MarketAction.Repay:
|
|
3274
|
+
var deltaBorrowValuation = calcValuation(tokenAmount, new BigNumber(userMarketDetail.underlyingPrice));
|
|
3275
|
+
newBorrowValuation = action == exports.MarketAction.Borrow ? newBorrowValuation.plus(deltaBorrowValuation) : newBorrowValuation.minus(deltaBorrowValuation);
|
|
3276
|
+
break;
|
|
3277
|
+
}
|
|
3278
|
+
|
|
3246
3279
|
return {
|
|
3247
3280
|
newBorrowLimit: {
|
|
3248
3281
|
amount: newBorrowLimit.toFixed(DECIMAL_PRECISION),
|
|
3249
3282
|
currency: "USD"
|
|
3250
3283
|
},
|
|
3251
|
-
newBorrowUtilization:
|
|
3284
|
+
newBorrowUtilization: newBorrowValuation.div(newBorrowLimit).toNumber()
|
|
3252
3285
|
};
|
|
3253
3286
|
};
|
|
3254
3287
|
|
|
@@ -3347,8 +3380,8 @@ var SDK = /*#__PURE__*/function (_BlockchainEntity) {
|
|
|
3347
3380
|
return new SdkRead(networkConnection);
|
|
3348
3381
|
};
|
|
3349
3382
|
|
|
3350
|
-
|
|
3351
|
-
return new
|
|
3383
|
+
_proto3.readWrite = function readWrite(networkConnection) {
|
|
3384
|
+
return new SdkReadWrite(networkConnection);
|
|
3352
3385
|
};
|
|
3353
3386
|
|
|
3354
3387
|
return SDK;
|
|
@@ -3368,16 +3401,12 @@ var dummyUserMarketDetails = {
|
|
|
3368
3401
|
borrowBalance: dummyZeroTokenAmount,
|
|
3369
3402
|
isCollateral: true,
|
|
3370
3403
|
maxWithdrawableAmount: dummyTokenAmount,
|
|
3371
|
-
collateralRatio: 0.5
|
|
3404
|
+
collateralRatio: 0.5,
|
|
3405
|
+
underlyingPrice: "1"
|
|
3372
3406
|
};
|
|
3373
3407
|
|
|
3374
3408
|
exports.AURORA_CHAINID = AURORA_CHAINID;
|
|
3375
|
-
exports.AURORA_DEFAULT_PROVIDER = AURORA_DEFAULT_PROVIDER;
|
|
3376
|
-
exports.AURORA_DEFAULT_PROVIDER_URL = AURORA_DEFAULT_PROVIDER_URL;
|
|
3377
|
-
exports.AURORA_DEFAULT_SIGNER = AURORA_DEFAULT_SIGNER;
|
|
3378
3409
|
exports.AURPLYToken = AURPLYToken;
|
|
3379
|
-
exports.AVAX_DEFAULT_PROVIDER = AVAX_DEFAULT_PROVIDER;
|
|
3380
|
-
exports.AVAX_DEFAULT_PROVIDER_URL = AVAX_DEFAULT_PROVIDER_URL;
|
|
3381
3410
|
exports.AurPlyPid = AurPlyPid;
|
|
3382
3411
|
exports.BORROW_LIMIT_BUFFER = BORROW_LIMIT_BUFFER;
|
|
3383
3412
|
exports.BlockchainEntity = BlockchainEntity;
|
|
@@ -3385,6 +3414,7 @@ exports.BlockchainEntityRead = BlockchainEntityRead;
|
|
|
3385
3414
|
exports.BlockchainEntityReadWrite = BlockchainEntityReadWrite;
|
|
3386
3415
|
exports.DECIMAL_PRECISION = DECIMAL_PRECISION;
|
|
3387
3416
|
exports.ETHAddress = ETHAddress;
|
|
3417
|
+
exports.INF = INF;
|
|
3388
3418
|
exports.MoneyMarket = MoneyMarket;
|
|
3389
3419
|
exports.MoneyMarketRead = MoneyMarketRead;
|
|
3390
3420
|
exports.MoneyMarketReadWrite = MoneyMarketReadWrite;
|
|
@@ -3398,6 +3428,7 @@ exports.SdkReadWrite = SdkReadWrite;
|
|
|
3398
3428
|
exports.Token = Token;
|
|
3399
3429
|
exports.TokenAmount = TokenAmount;
|
|
3400
3430
|
exports.calcLMRewardApr = calcLMRewardApr;
|
|
3431
|
+
exports.calcValuation = calcValuation;
|
|
3401
3432
|
exports.decimalFactor = decimalFactor;
|
|
3402
3433
|
exports.dummyAddress = dummyAddress;
|
|
3403
3434
|
exports.dummyMarketAddress = dummyMarketAddress;
|