@aurigami/sdk 0.3.2 → 0.4.0
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 +7 -1
- package/dist/constants.d.ts +1 -1
- package/dist/priceFetcher.d.ts +4 -1
- package/dist/sdk.cjs.development.js +48 -36
- 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 +48 -36
- package/dist/sdk.esm.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/package.json +2 -1
- package/src/MoneyMarket.ts +1 -1
- package/src/SDK.ts +35 -14
- package/src/constants.ts +4 -1
- package/src/dummy.ts +1 -0
- package/src/priceFetcher.ts +7 -5
- package/src/types.ts +9 -2
package/dist/sdk.esm.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { Signer } from '@ethersproject/abstract-signer';
|
|
2
2
|
import BigNumber from 'bignumber.js';
|
|
3
|
+
import { config } from 'dotenv';
|
|
3
4
|
import { BigNumber as BigNumber$1, utils, Contract, ethers as ethers$1 } from 'ethers';
|
|
4
5
|
import AuErc20ABI from '@aurigami/contracts/artifacts/contracts/AuErc20.sol/AuErc20.json';
|
|
5
6
|
import AuETHABI from '@aurigami/contracts/artifacts/contracts/AuETH.sol/AuETH.json';
|
|
6
7
|
import ComptrollerABI from '@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json';
|
|
7
8
|
import AuriLensABI from '@aurigami/contracts/artifacts/contracts/AuriLens.sol/AuriLens.json';
|
|
9
|
+
import axios from 'axios';
|
|
8
10
|
import TokenLockABI from '@aurigami/contracts/artifacts/contracts/TokenLock.sol/TokenLock.json';
|
|
9
11
|
import AuriFairLaunchABI from '@aurigami/contracts/artifacts/contracts/AuriFairLaunch.sol/AuriFairLaunch.json';
|
|
10
12
|
|
|
@@ -891,10 +893,10 @@ var BlockchainEntity = /*#__PURE__*/function () {
|
|
|
891
893
|
}();
|
|
892
894
|
|
|
893
895
|
var ethers = /*#__PURE__*/require('ethers');
|
|
894
|
-
|
|
896
|
+
config();
|
|
895
897
|
var AVAX_DEFAULT_PROVIDER_URL = 'https://api.avax.network/ext/bc/C/rpc';
|
|
896
898
|
var AVAX_DEFAULT_PROVIDER = /*#__PURE__*/new ethers.providers.JsonRpcProvider(AVAX_DEFAULT_PROVIDER_URL);
|
|
897
|
-
var AURORA_DEFAULT_PROVIDER_URL = "https://mainnet.aurora.dev";
|
|
899
|
+
var AURORA_DEFAULT_PROVIDER_URL = "https://mainnet.aurora.dev/" + process.env.AURORA_API_KEY;
|
|
898
900
|
var AURORA_DEFAULT_PROVIDER = /*#__PURE__*/new ethers.providers.JsonRpcProvider(AURORA_DEFAULT_PROVIDER_URL);
|
|
899
901
|
var dummyAddress = "0xDEADbeEfEEeEEEeEEEeEEeeeeeEeEEeeeeEEEEeE";
|
|
900
902
|
var ETHAddress = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
|
@@ -2005,14 +2007,6 @@ var IUniswapV2PairABI = {
|
|
|
2005
2007
|
deployedLinkReferences: deployedLinkReferences
|
|
2006
2008
|
};
|
|
2007
2009
|
|
|
2008
|
-
var abi$2 = [
|
|
2009
|
-
];
|
|
2010
|
-
var dummyABI = {
|
|
2011
|
-
abi: abi$2
|
|
2012
|
-
};
|
|
2013
|
-
|
|
2014
|
-
var axios = /*#__PURE__*/require('axios');
|
|
2015
|
-
|
|
2016
2010
|
function fetchPriceFromCoingeckoAPI(_x) {
|
|
2017
2011
|
return _fetchPriceFromCoingeckoAPI.apply(this, arguments);
|
|
2018
2012
|
}
|
|
@@ -2210,7 +2204,7 @@ function _fetchUnderlyingTokensPrices() {
|
|
|
2210
2204
|
while (1) {
|
|
2211
2205
|
switch (_context6.prev = _context6.next) {
|
|
2212
2206
|
case 0:
|
|
2213
|
-
auriLens = new Contract(networkAddresses.misc.AURILENS,
|
|
2207
|
+
auriLens = new Contract(networkAddresses.misc.AURILENS, AuriLensABI.abi, provider);
|
|
2214
2208
|
auTokenAddresses = networkAddresses.auTokens.map(function (auToken) {
|
|
2215
2209
|
return auToken.address;
|
|
2216
2210
|
});
|
|
@@ -2952,11 +2946,10 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2952
2946
|
while (1) {
|
|
2953
2947
|
switch (_context.prev = _context.next) {
|
|
2954
2948
|
case 0:
|
|
2955
|
-
|
|
2956
|
-
_context.next = 3;
|
|
2949
|
+
_context.next = 2;
|
|
2957
2950
|
return getCurrentTimestamp(this._networkConnection.provider);
|
|
2958
2951
|
|
|
2959
|
-
case
|
|
2952
|
+
case 2:
|
|
2960
2953
|
currentTime = _context.sent;
|
|
2961
2954
|
currentWeek = BigNumber$1.from(currentTime - REWARDCLAIMSTART).div(7 * ONE_DAY).toNumber();
|
|
2962
2955
|
denominator = 10000;
|
|
@@ -2965,14 +2958,14 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2965
2958
|
promises.push(this._tokenLock.percentageLock(currentWeek + 1)["catch"](function (err) {
|
|
2966
2959
|
return denominator;
|
|
2967
2960
|
}));
|
|
2968
|
-
_context.next =
|
|
2961
|
+
_context.next = 10;
|
|
2969
2962
|
return Promise.all(promises).then(function (res) {
|
|
2970
2963
|
return res.map(function (v) {
|
|
2971
2964
|
return v.toString();
|
|
2972
2965
|
});
|
|
2973
2966
|
});
|
|
2974
2967
|
|
|
2975
|
-
case
|
|
2968
|
+
case 10:
|
|
2976
2969
|
values = _context.sent;
|
|
2977
2970
|
return _context.abrupt("return", {
|
|
2978
2971
|
vestingStart: REWARDCLAIMSTART,
|
|
@@ -2980,7 +2973,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2980
2973
|
nextUnlockPortion: new BigNumber(denominator).minus(values[1]).div(denominator).toNumber()
|
|
2981
2974
|
});
|
|
2982
2975
|
|
|
2983
|
-
case
|
|
2976
|
+
case 12:
|
|
2984
2977
|
case "end":
|
|
2985
2978
|
return _context.stop();
|
|
2986
2979
|
}
|
|
@@ -2999,7 +2992,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2999
2992
|
var _getUserDetails = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(userAddress) {
|
|
3000
2993
|
var _this2 = this;
|
|
3001
2994
|
|
|
3002
|
-
var marketCount, userMarketDetails, assetsIn,
|
|
2995
|
+
var marketCount, userMarketDetails, assetsIn, promises, totalBorrowLimit, pricePromises, _loop2, _iterator, _step, underlyingPrices, depositValuationPromises, _loop, i, depositValues, accountLiquidity, rewardBalancesMetadata, lockedAmount, values, borrowedvaluation, bufferedBorrowLimit, minimumBorrowLimitAllowed, borrowableAmount, auToken, moneyMarket, maxWithdrawCap;
|
|
3003
2996
|
|
|
3004
2997
|
return runtime_1.wrap(function _callee2$(_context2) {
|
|
3005
2998
|
while (1) {
|
|
@@ -3007,7 +3000,6 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3007
3000
|
case 0:
|
|
3008
3001
|
marketCount = networkAddresses.auTokens.length;
|
|
3009
3002
|
userMarketDetails = [];
|
|
3010
|
-
collateralRatio = new Array(marketCount);
|
|
3011
3003
|
promises = [];
|
|
3012
3004
|
totalBorrowLimit = new BigNumber(0);
|
|
3013
3005
|
pricePromises = [];
|
|
@@ -3025,9 +3017,12 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3025
3017
|
userMarketDetail.borrowBalance = res;
|
|
3026
3018
|
}));
|
|
3027
3019
|
promises.push(moneyMarket.getCollateralRatio().then(function (res) {
|
|
3028
|
-
collateralRatio
|
|
3020
|
+
userMarketDetail.collateralRatio = res.toNumber();
|
|
3021
|
+
}));
|
|
3022
|
+
pricePromises.push(fetchPrice(moneyMarket.underlying.address, _this2._networkConnection.provider).then(function (res) {
|
|
3023
|
+
userMarketDetail.underlyingPrice = res.toString();
|
|
3024
|
+
return res;
|
|
3029
3025
|
}));
|
|
3030
|
-
pricePromises.push(fetchPrice(moneyMarket.underlying.address, _this2._networkConnection.provider));
|
|
3031
3026
|
};
|
|
3032
3027
|
|
|
3033
3028
|
for (_iterator = _createForOfIteratorHelperLoose(networkAddresses.auTokens); !(_step = _iterator()).done;) {
|
|
@@ -3037,24 +3032,26 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3037
3032
|
promises.push(this._comptroller.getAssetsIn(userAddress).then(function (res) {
|
|
3038
3033
|
assetsIn = res;
|
|
3039
3034
|
}));
|
|
3040
|
-
_context2.next =
|
|
3035
|
+
_context2.next = 10;
|
|
3041
3036
|
return Promise.all(promises);
|
|
3042
3037
|
|
|
3043
|
-
case
|
|
3044
|
-
_context2.next =
|
|
3038
|
+
case 10:
|
|
3039
|
+
_context2.next = 12;
|
|
3045
3040
|
return Promise.all(pricePromises);
|
|
3046
3041
|
|
|
3047
|
-
case
|
|
3042
|
+
case 12:
|
|
3048
3043
|
underlyingPrices = _context2.sent;
|
|
3049
3044
|
depositValuationPromises = [];
|
|
3050
3045
|
|
|
3051
3046
|
_loop = function _loop() {
|
|
3052
3047
|
var auToken = networkAddresses.auTokens[i];
|
|
3053
3048
|
|
|
3054
|
-
if (assetsIn.
|
|
3055
|
-
isSameAddress(auToken.address, auAddress);
|
|
3056
|
-
})
|
|
3049
|
+
if (assetsIn.find(function (auAddress) {
|
|
3050
|
+
return isSameAddress(auToken.address, auAddress);
|
|
3051
|
+
}) !== undefined) {
|
|
3057
3052
|
userMarketDetails[i].isCollateral = true;
|
|
3053
|
+
} else {
|
|
3054
|
+
userMarketDetails[i].isCollateral = false;
|
|
3058
3055
|
}
|
|
3059
3056
|
|
|
3060
3057
|
depositValuationPromises.push(fetchValuation(userMarketDetails[i].depositBalance, _this2._networkConnection.provider, underlyingPrices[i]));
|
|
@@ -3064,29 +3061,30 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3064
3061
|
_loop();
|
|
3065
3062
|
}
|
|
3066
3063
|
|
|
3067
|
-
_context2.next =
|
|
3064
|
+
_context2.next = 18;
|
|
3068
3065
|
return Promise.all(depositValuationPromises);
|
|
3069
3066
|
|
|
3070
|
-
case
|
|
3067
|
+
case 18:
|
|
3071
3068
|
depositValues = _context2.sent;
|
|
3072
3069
|
totalBorrowLimit = depositValues.reduce(function (p, v, index) {
|
|
3073
|
-
if (userMarketDetails[index].isCollateral) return p.plus(v.multipliedBy(
|
|
3070
|
+
if (userMarketDetails[index].isCollateral) return p.plus(v.multipliedBy(userMarketDetails[index].collateralRatio));
|
|
3074
3071
|
return p;
|
|
3075
|
-
});
|
|
3072
|
+
}, new BigNumber(0));
|
|
3076
3073
|
promises = [];
|
|
3077
3074
|
promises.push(this._comptroller.getAccountLiquidity(userAddress));
|
|
3078
3075
|
promises.push(this._auriLens.callStatic.getRewardBalancesMetadata(this._comptroller.address, this._auriFairLaunch.address, userAddress, [AurPlyPid]));
|
|
3079
3076
|
promises.push(this._tokenLock.lockedAmounts(userAddress));
|
|
3080
|
-
_context2.next =
|
|
3077
|
+
_context2.next = 26;
|
|
3081
3078
|
return Promise.all(promises);
|
|
3082
3079
|
|
|
3083
|
-
case
|
|
3080
|
+
case 26:
|
|
3084
3081
|
values = _context2.sent;
|
|
3085
3082
|
accountLiquidity = values[0];
|
|
3086
3083
|
rewardBalancesMetadata = values[1];
|
|
3087
3084
|
lockedAmount = values[2];
|
|
3088
3085
|
borrowedvaluation = totalBorrowLimit.minus(new BigNumber(accountLiquidity[1].toString()).div(decimalFactor(18)));
|
|
3089
3086
|
bufferedBorrowLimit = totalBorrowLimit.multipliedBy(BORROW_LIMIT_BUFFER);
|
|
3087
|
+
minimumBorrowLimitAllowed = borrowedvaluation.div(BORROW_LIMIT_BUFFER);
|
|
3090
3088
|
|
|
3091
3089
|
if (bufferedBorrowLimit.lte(borrowedvaluation)) {
|
|
3092
3090
|
borrowableAmount = new BigNumber(0);
|
|
@@ -3097,7 +3095,8 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3097
3095
|
for (i = 0; i < marketCount; i++) {
|
|
3098
3096
|
auToken = networkAddresses.auTokens[i];
|
|
3099
3097
|
moneyMarket = new MoneyMarketRead(this._networkConnection, auToken.address, auToken.underlying);
|
|
3100
|
-
|
|
3098
|
+
maxWithdrawCap = totalBorrowLimit.minus(minimumBorrowLimitAllowed).div(userMarketDetails[i].collateralRatio).div(underlyingPrices[i]);
|
|
3099
|
+
userMarketDetails[i].maxWithdrawableAmount = userMarketDetails[i].isCollateral && maxWithdrawCap.lt(userMarketDetails[i].depositBalance.formattedAmount()) ? new TokenAmount(moneyMarket.underlying, maxWithdrawCap.toFixed(24), false) : new TokenAmount(moneyMarket.underlying, userMarketDetails[i].depositBalance.rawAmount());
|
|
3101
3100
|
}
|
|
3102
3101
|
|
|
3103
3102
|
return _context2.abrupt("return", {
|
|
@@ -3237,6 +3236,18 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3237
3236
|
return stakeBalanceOf;
|
|
3238
3237
|
}();
|
|
3239
3238
|
|
|
3239
|
+
_proto.calcHypotheticalStats = function calcHypotheticalStats(args) {
|
|
3240
|
+
var deltaBorrowLimit = new BigNumber(args.userMarketDetail.depositBalance.formattedAmount()).multipliedBy(args.userMarketDetail.underlyingPrice).multipliedBy(args.userMarketDetail.collateralRatio).multipliedBy(BORROW_LIMIT_BUFFER);
|
|
3241
|
+
var newBorrowLimit = args.isEnable ? new BigNumber(args.currentBorrowLimit.amount).plus(deltaBorrowLimit) : new BigNumber(args.currentBorrowLimit.amount).minus(deltaBorrowLimit);
|
|
3242
|
+
return {
|
|
3243
|
+
newBorrowLimit: {
|
|
3244
|
+
amount: newBorrowLimit.toFixed(DECIMAL_PRECISION),
|
|
3245
|
+
currency: "USD"
|
|
3246
|
+
},
|
|
3247
|
+
newBorrowUtilization: new BigNumber(args.currentBorrowValuation.amount).div(newBorrowLimit).toNumber()
|
|
3248
|
+
};
|
|
3249
|
+
};
|
|
3250
|
+
|
|
3240
3251
|
return SdkRead;
|
|
3241
3252
|
}(BlockchainEntityRead);
|
|
3242
3253
|
var SdkReadWrite = /*#__PURE__*/function (_SdkRead) {
|
|
@@ -3352,7 +3363,8 @@ var dummyUserMarketDetails = {
|
|
|
3352
3363
|
depositBalance: dummyTokenAmount2,
|
|
3353
3364
|
borrowBalance: dummyZeroTokenAmount,
|
|
3354
3365
|
isCollateral: true,
|
|
3355
|
-
maxWithdrawableAmount: dummyTokenAmount
|
|
3366
|
+
maxWithdrawableAmount: dummyTokenAmount,
|
|
3367
|
+
collateralRatio: 0.5
|
|
3356
3368
|
};
|
|
3357
3369
|
|
|
3358
3370
|
export { AURORA_CHAINID, AURORA_DEFAULT_PROVIDER, AURORA_DEFAULT_PROVIDER_URL, AURORA_DEFAULT_SIGNER, AURPLYToken, AVAX_DEFAULT_PROVIDER, AVAX_DEFAULT_PROVIDER_URL, AurPlyPid, BORROW_LIMIT_BUFFER, BlockchainEntity, BlockchainEntityRead, BlockchainEntityReadWrite, ComptrollerRewardType, DECIMAL_PRECISION, ETHAddress, MoneyMarket, MoneyMarketRead, MoneyMarketReadWrite, ONE_DAY, ONE_YEAR, PLYToken, REWARDCLAIMSTART, SDK, SdkRead, SdkReadWrite, Token, TokenAmount, calcLMRewardApr, decimalFactor, dummyAddress, dummyMarketAddress, dummyPly, dummyPlyAurora, dummyToken, dummyTokenAmount, dummyTokenAmount2, dummyTokenAmount3, dummyUserMarketDetails, dummyZeroTokenAmount, fetchLPPositions, fetchLPPrice, fetchPrice, fetchPriceFromCoingecko, fetchPriceFromCoingeckoAPI, fetchPriceFromOracle, fetchUnderlyingTokensPrices, fetchValuation, formatObject, getCurrentTimestamp, getDecimal, isSameAddress, networkAddresses, validateAndParseAddress };
|