@aurigami/sdk 0.3.5 → 0.4.4
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 +10 -3
- package/dist/constants.d.ts +1 -7
- package/dist/priceFetcher.d.ts +2 -1
- package/dist/sdk.cjs.development.js +101 -65
- 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 +89 -48
- package/dist/sdk.esm.js.map +1 -1
- package/dist/types.d.ts +13 -0
- package/package.json +2 -1
- package/src/MoneyMarket.ts +3 -5
- package/src/SDK.ts +60 -11
- package/src/constants.ts +2 -20
- package/src/dummy.ts +2 -1
- package/src/priceFetcher.ts +8 -7
- package/src/types.ts +16 -2
package/dist/sdk.esm.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Signer } from '@ethersproject/abstract-signer';
|
|
2
2
|
import BigNumber from 'bignumber.js';
|
|
3
|
-
import { BigNumber as BigNumber$1, utils, Contract
|
|
3
|
+
import { BigNumber as BigNumber$1, utils, Contract } from 'ethers';
|
|
4
4
|
import AuErc20ABI from '@aurigami/contracts/artifacts/contracts/AuErc20.sol/AuErc20.json';
|
|
5
5
|
import AuETHABI from '@aurigami/contracts/artifacts/contracts/AuETH.sol/AuETH.json';
|
|
6
6
|
import ComptrollerABI from '@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json';
|
|
7
7
|
import AuriLensABI from '@aurigami/contracts/artifacts/contracts/AuriLens.sol/AuriLens.json';
|
|
8
|
+
import axios from 'axios';
|
|
8
9
|
import TokenLockABI from '@aurigami/contracts/artifacts/contracts/TokenLock.sol/TokenLock.json';
|
|
9
10
|
import AuriFairLaunchABI from '@aurigami/contracts/artifacts/contracts/AuriFairLaunch.sol/AuriFairLaunch.json';
|
|
10
11
|
|
|
@@ -890,18 +891,27 @@ var BlockchainEntity = /*#__PURE__*/function () {
|
|
|
890
891
|
return BlockchainEntity;
|
|
891
892
|
}();
|
|
892
893
|
|
|
893
|
-
var
|
|
894
|
+
var ComptrollerRewardType;
|
|
895
|
+
|
|
896
|
+
(function (ComptrollerRewardType) {
|
|
897
|
+
ComptrollerRewardType[ComptrollerRewardType["PLY"] = 0] = "PLY";
|
|
898
|
+
ComptrollerRewardType[ComptrollerRewardType["AURORA"] = 1] = "AURORA";
|
|
899
|
+
})(ComptrollerRewardType || (ComptrollerRewardType = {}));
|
|
900
|
+
var MarketAction;
|
|
901
|
+
|
|
902
|
+
(function (MarketAction) {
|
|
903
|
+
MarketAction[MarketAction["Deposit"] = 0] = "Deposit";
|
|
904
|
+
MarketAction[MarketAction["Borrow"] = 1] = "Borrow";
|
|
905
|
+
MarketAction[MarketAction["Withdraw"] = 2] = "Withdraw";
|
|
906
|
+
MarketAction[MarketAction["Repay"] = 3] = "Repay";
|
|
907
|
+
MarketAction[MarketAction["EnableCollateral"] = 4] = "EnableCollateral";
|
|
908
|
+
MarketAction[MarketAction["DisableCollateral"] = 5] = "DisableCollateral";
|
|
909
|
+
})(MarketAction || (MarketAction = {}));
|
|
894
910
|
|
|
895
|
-
var AVAX_DEFAULT_PROVIDER_URL = 'https://api.avax.network/ext/bc/C/rpc';
|
|
896
|
-
var AVAX_DEFAULT_PROVIDER = /*#__PURE__*/new ethers.providers.JsonRpcProvider(AVAX_DEFAULT_PROVIDER_URL);
|
|
897
|
-
var AURORA_DEFAULT_PROVIDER_URL = "https://mainnet.aurora.dev";
|
|
898
|
-
var AURORA_DEFAULT_PROVIDER = /*#__PURE__*/new ethers.providers.JsonRpcProvider(AURORA_DEFAULT_PROVIDER_URL);
|
|
899
911
|
var dummyAddress = "0xDEADbeEfEEeEEEeEEEeEEeeeeeEeEEeeeeEEEEeE";
|
|
900
912
|
var ETHAddress = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
|
901
|
-
var dummyPrivateKey = '1111111111111111111111111111111111111111111111111111111111111111';
|
|
902
|
-
var AURORA_DEFAULT_SIGNER = /*#__PURE__*/new ethers.Wallet(dummyPrivateKey, AURORA_DEFAULT_PROVIDER);
|
|
903
913
|
var AURORA_CHAINID = 1313161554;
|
|
904
|
-
var DECIMAL_PRECISION =
|
|
914
|
+
var DECIMAL_PRECISION = 10;
|
|
905
915
|
var networkAddresses = {
|
|
906
916
|
auTokens: [{
|
|
907
917
|
address: /*#__PURE__*/'0x2dEf6eb801757655AD227110d65C80DB595bBc60'.toLowerCase(),
|
|
@@ -1014,13 +1024,6 @@ function calcLMRewardApr(rewardsValue, totalStakeValue, frequencyPerYear) {
|
|
|
1014
1024
|
return rewardsValue.multipliedBy(frequencyPerYear).dividedBy(totalStakeValue);
|
|
1015
1025
|
}
|
|
1016
1026
|
|
|
1017
|
-
var ComptrollerRewardType;
|
|
1018
|
-
|
|
1019
|
-
(function (ComptrollerRewardType) {
|
|
1020
|
-
ComptrollerRewardType[ComptrollerRewardType["PLY"] = 0] = "PLY";
|
|
1021
|
-
ComptrollerRewardType[ComptrollerRewardType["AURORA"] = 1] = "AURORA";
|
|
1022
|
-
})(ComptrollerRewardType || (ComptrollerRewardType = {}));
|
|
1023
|
-
|
|
1024
1027
|
var Token = function Token(address, decimals) {
|
|
1025
1028
|
this.address = address.toLowerCase();
|
|
1026
1029
|
this.decimals = decimals;
|
|
@@ -2005,8 +2008,6 @@ var IUniswapV2PairABI = {
|
|
|
2005
2008
|
deployedLinkReferences: deployedLinkReferences
|
|
2006
2009
|
};
|
|
2007
2010
|
|
|
2008
|
-
var axios = /*#__PURE__*/require('axios');
|
|
2009
|
-
|
|
2010
2011
|
function fetchPriceFromCoingeckoAPI(_x) {
|
|
2011
2012
|
return _fetchPriceFromCoingeckoAPI.apply(this, arguments);
|
|
2012
2013
|
}
|
|
@@ -2276,31 +2277,25 @@ function _fetchPrice() {
|
|
|
2276
2277
|
return _fetchPrice.apply(this, arguments);
|
|
2277
2278
|
}
|
|
2278
2279
|
|
|
2279
|
-
function fetchValuation(_x13, _x14
|
|
2280
|
+
function fetchValuation(_x13, _x14) {
|
|
2280
2281
|
return _fetchValuation.apply(this, arguments);
|
|
2281
2282
|
}
|
|
2282
2283
|
|
|
2283
2284
|
function _fetchValuation() {
|
|
2284
|
-
_fetchValuation = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee8(tokenAmount, provider
|
|
2285
|
+
_fetchValuation = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee8(tokenAmount, provider) {
|
|
2286
|
+
var price;
|
|
2285
2287
|
return runtime_1.wrap(function _callee8$(_context8) {
|
|
2286
2288
|
while (1) {
|
|
2287
2289
|
switch (_context8.prev = _context8.next) {
|
|
2288
2290
|
case 0:
|
|
2289
|
-
|
|
2290
|
-
_context8.next = 4;
|
|
2291
|
-
break;
|
|
2292
|
-
}
|
|
2293
|
-
|
|
2294
|
-
_context8.next = 3;
|
|
2291
|
+
_context8.next = 2;
|
|
2295
2292
|
return fetchPrice(tokenAmount.token.address, provider);
|
|
2296
2293
|
|
|
2297
|
-
case
|
|
2294
|
+
case 2:
|
|
2298
2295
|
price = _context8.sent;
|
|
2296
|
+
return _context8.abrupt("return", calcValuation(tokenAmount, price));
|
|
2299
2297
|
|
|
2300
2298
|
case 4:
|
|
2301
|
-
return _context8.abrupt("return", new BigNumber(tokenAmount.formattedAmount()).multipliedBy(price));
|
|
2302
|
-
|
|
2303
|
-
case 5:
|
|
2304
2299
|
case "end":
|
|
2305
2300
|
return _context8.stop();
|
|
2306
2301
|
}
|
|
@@ -2310,6 +2305,10 @@ function _fetchValuation() {
|
|
|
2310
2305
|
return _fetchValuation.apply(this, arguments);
|
|
2311
2306
|
}
|
|
2312
2307
|
|
|
2308
|
+
function calcValuation(tokenAmount, price) {
|
|
2309
|
+
return new BigNumber(tokenAmount.formattedAmount()).multipliedBy(price);
|
|
2310
|
+
}
|
|
2311
|
+
|
|
2313
2312
|
var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
2314
2313
|
_inheritsLoose(MoneyMarketRead, _BlockchainEntityRead);
|
|
2315
2314
|
|
|
@@ -2631,7 +2630,7 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2631
2630
|
case 11:
|
|
2632
2631
|
_context9.t0 = calcLMRewardApr;
|
|
2633
2632
|
_context9.next = 14;
|
|
2634
|
-
return
|
|
2633
|
+
return calcValuation(new TokenAmount(PLYToken, rewardSpeeds.plyRewardBorrowSpeed.toString()), plyPrice);
|
|
2635
2634
|
|
|
2636
2635
|
case 14:
|
|
2637
2636
|
_context9.t1 = _context9.sent;
|
|
@@ -2640,7 +2639,7 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2640
2639
|
borrowPlyApy = (0, _context9.t0)(_context9.t1, _context9.t2, _context9.t3);
|
|
2641
2640
|
_context9.t4 = calcLMRewardApr;
|
|
2642
2641
|
_context9.next = 21;
|
|
2643
|
-
return
|
|
2642
|
+
return calcValuation(new TokenAmount(PLYToken, rewardSpeeds.plyRewardSupplySpeed.toString()), plyPrice);
|
|
2644
2643
|
|
|
2645
2644
|
case 21:
|
|
2646
2645
|
_context9.t5 = _context9.sent;
|
|
@@ -2992,7 +2991,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2992
2991
|
var _getUserDetails = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(userAddress) {
|
|
2993
2992
|
var _this2 = this;
|
|
2994
2993
|
|
|
2995
|
-
var marketCount, userMarketDetails, assetsIn, promises, totalBorrowLimit, pricePromises, _loop2, _iterator, _step, underlyingPrices,
|
|
2994
|
+
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;
|
|
2996
2995
|
|
|
2997
2996
|
return runtime_1.wrap(function _callee2$(_context2) {
|
|
2998
2997
|
while (1) {
|
|
@@ -3019,7 +3018,10 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3019
3018
|
promises.push(moneyMarket.getCollateralRatio().then(function (res) {
|
|
3020
3019
|
userMarketDetail.collateralRatio = res.toNumber();
|
|
3021
3020
|
}));
|
|
3022
|
-
pricePromises.push(fetchPrice(moneyMarket.underlying.address, _this2._networkConnection.provider))
|
|
3021
|
+
pricePromises.push(fetchPrice(moneyMarket.underlying.address, _this2._networkConnection.provider).then(function (res) {
|
|
3022
|
+
userMarketDetail.underlyingPrice = res.toString();
|
|
3023
|
+
return res;
|
|
3024
|
+
}));
|
|
3023
3025
|
};
|
|
3024
3026
|
|
|
3025
3027
|
for (_iterator = _createForOfIteratorHelperLoose(networkAddresses.auTokens); !(_step = _iterator()).done;) {
|
|
@@ -3038,7 +3040,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3038
3040
|
|
|
3039
3041
|
case 12:
|
|
3040
3042
|
underlyingPrices = _context2.sent;
|
|
3041
|
-
|
|
3043
|
+
depositValues = [];
|
|
3042
3044
|
|
|
3043
3045
|
_loop = function _loop() {
|
|
3044
3046
|
var auToken = networkAddresses.auTokens[i];
|
|
@@ -3051,18 +3053,13 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3051
3053
|
userMarketDetails[i].isCollateral = false;
|
|
3052
3054
|
}
|
|
3053
3055
|
|
|
3054
|
-
|
|
3056
|
+
depositValues.push(calcValuation(userMarketDetails[i].depositBalance, underlyingPrices[i]));
|
|
3055
3057
|
};
|
|
3056
3058
|
|
|
3057
3059
|
for (i = 0; i < marketCount; i++) {
|
|
3058
3060
|
_loop();
|
|
3059
3061
|
}
|
|
3060
3062
|
|
|
3061
|
-
_context2.next = 18;
|
|
3062
|
-
return Promise.all(depositValuationPromises);
|
|
3063
|
-
|
|
3064
|
-
case 18:
|
|
3065
|
-
depositValues = _context2.sent;
|
|
3066
3063
|
totalBorrowLimit = depositValues.reduce(function (p, v, index) {
|
|
3067
3064
|
if (userMarketDetails[index].isCollateral) return p.plus(v.multipliedBy(userMarketDetails[index].collateralRatio));
|
|
3068
3065
|
return p;
|
|
@@ -3071,15 +3068,20 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3071
3068
|
promises.push(this._comptroller.getAccountLiquidity(userAddress));
|
|
3072
3069
|
promises.push(this._auriLens.callStatic.getRewardBalancesMetadata(this._comptroller.address, this._auriFairLaunch.address, userAddress, [AurPlyPid]));
|
|
3073
3070
|
promises.push(this._tokenLock.lockedAmounts(userAddress));
|
|
3074
|
-
_context2.next =
|
|
3071
|
+
_context2.next = 23;
|
|
3075
3072
|
return Promise.all(promises);
|
|
3076
3073
|
|
|
3077
|
-
case
|
|
3074
|
+
case 23:
|
|
3078
3075
|
values = _context2.sent;
|
|
3079
3076
|
accountLiquidity = values[0];
|
|
3080
3077
|
rewardBalancesMetadata = values[1];
|
|
3081
3078
|
lockedAmount = values[2];
|
|
3082
3079
|
borrowedvaluation = totalBorrowLimit.minus(new BigNumber(accountLiquidity[1].toString()).div(decimalFactor(18)));
|
|
3080
|
+
|
|
3081
|
+
if (borrowedvaluation.lt("0.00001")) {
|
|
3082
|
+
borrowedvaluation = new BigNumber(0);
|
|
3083
|
+
}
|
|
3084
|
+
|
|
3083
3085
|
bufferedBorrowLimit = totalBorrowLimit.multipliedBy(BORROW_LIMIT_BUFFER);
|
|
3084
3086
|
minimumBorrowLimitAllowed = borrowedvaluation.div(BORROW_LIMIT_BUFFER);
|
|
3085
3087
|
|
|
@@ -3110,7 +3112,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3110
3112
|
}
|
|
3111
3113
|
});
|
|
3112
3114
|
|
|
3113
|
-
case
|
|
3115
|
+
case 34:
|
|
3114
3116
|
case "end":
|
|
3115
3117
|
return _context2.stop();
|
|
3116
3118
|
}
|
|
@@ -3233,6 +3235,44 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3233
3235
|
return stakeBalanceOf;
|
|
3234
3236
|
}();
|
|
3235
3237
|
|
|
3238
|
+
_proto.calcHypotheticalStats = function calcHypotheticalStats(_ref) {
|
|
3239
|
+
var userMarketDetail = _ref.userMarketDetail,
|
|
3240
|
+
currentBorrowLimit = _ref.currentBorrowLimit,
|
|
3241
|
+
currentBorrowValuation = _ref.currentBorrowValuation,
|
|
3242
|
+
action = _ref.action,
|
|
3243
|
+
tokenAmount = _ref.tokenAmount;
|
|
3244
|
+
var newBorrowLimit = new BigNumber(currentBorrowLimit.amount),
|
|
3245
|
+
newBorrowValuation = new BigNumber(currentBorrowValuation.amount);
|
|
3246
|
+
|
|
3247
|
+
switch (action) {
|
|
3248
|
+
case MarketAction.EnableCollateral:
|
|
3249
|
+
case MarketAction.DisableCollateral:
|
|
3250
|
+
var deltaBorrowLimit = calcValuation(userMarketDetail.depositBalance, new BigNumber(userMarketDetail.underlyingPrice)).multipliedBy(userMarketDetail.collateralRatio).multipliedBy(BORROW_LIMIT_BUFFER);
|
|
3251
|
+
newBorrowLimit = action == MarketAction.EnableCollateral ? newBorrowLimit.plus(deltaBorrowLimit) : newBorrowLimit.minus(deltaBorrowLimit);
|
|
3252
|
+
break;
|
|
3253
|
+
|
|
3254
|
+
case MarketAction.Deposit:
|
|
3255
|
+
case MarketAction.Withdraw:
|
|
3256
|
+
deltaBorrowLimit = calcValuation(tokenAmount, new BigNumber(userMarketDetail.underlyingPrice)).multipliedBy(userMarketDetail.collateralRatio).multipliedBy(BORROW_LIMIT_BUFFER);
|
|
3257
|
+
newBorrowLimit = action == MarketAction.Deposit ? newBorrowLimit.plus(deltaBorrowLimit) : newBorrowLimit.minus(deltaBorrowLimit);
|
|
3258
|
+
break;
|
|
3259
|
+
|
|
3260
|
+
case MarketAction.Borrow:
|
|
3261
|
+
case MarketAction.Repay:
|
|
3262
|
+
var deltaBorrowValuation = calcValuation(tokenAmount, new BigNumber(userMarketDetail.underlyingPrice));
|
|
3263
|
+
newBorrowValuation = action == MarketAction.Borrow ? newBorrowValuation.plus(deltaBorrowValuation) : newBorrowValuation.minus(deltaBorrowValuation);
|
|
3264
|
+
break;
|
|
3265
|
+
}
|
|
3266
|
+
|
|
3267
|
+
return {
|
|
3268
|
+
newBorrowLimit: {
|
|
3269
|
+
amount: newBorrowLimit.toFixed(DECIMAL_PRECISION),
|
|
3270
|
+
currency: "USD"
|
|
3271
|
+
},
|
|
3272
|
+
newBorrowUtilization: newBorrowValuation.div(newBorrowLimit).toNumber()
|
|
3273
|
+
};
|
|
3274
|
+
};
|
|
3275
|
+
|
|
3236
3276
|
return SdkRead;
|
|
3237
3277
|
}(BlockchainEntityRead);
|
|
3238
3278
|
var SdkReadWrite = /*#__PURE__*/function (_SdkRead) {
|
|
@@ -3328,8 +3368,8 @@ var SDK = /*#__PURE__*/function (_BlockchainEntity) {
|
|
|
3328
3368
|
return new SdkRead(networkConnection);
|
|
3329
3369
|
};
|
|
3330
3370
|
|
|
3331
|
-
|
|
3332
|
-
return new
|
|
3371
|
+
_proto3.readWrite = function readWrite(networkConnection) {
|
|
3372
|
+
return new SdkReadWrite(networkConnection);
|
|
3333
3373
|
};
|
|
3334
3374
|
|
|
3335
3375
|
return SDK;
|
|
@@ -3349,8 +3389,9 @@ var dummyUserMarketDetails = {
|
|
|
3349
3389
|
borrowBalance: dummyZeroTokenAmount,
|
|
3350
3390
|
isCollateral: true,
|
|
3351
3391
|
maxWithdrawableAmount: dummyTokenAmount,
|
|
3352
|
-
collateralRatio: 0.5
|
|
3392
|
+
collateralRatio: 0.5,
|
|
3393
|
+
underlyingPrice: "1"
|
|
3353
3394
|
};
|
|
3354
3395
|
|
|
3355
|
-
export { AURORA_CHAINID,
|
|
3396
|
+
export { AURORA_CHAINID, AURPLYToken, AurPlyPid, BORROW_LIMIT_BUFFER, BlockchainEntity, BlockchainEntityRead, BlockchainEntityReadWrite, ComptrollerRewardType, DECIMAL_PRECISION, ETHAddress, MarketAction, MoneyMarket, MoneyMarketRead, MoneyMarketReadWrite, ONE_DAY, ONE_YEAR, PLYToken, REWARDCLAIMSTART, SDK, SdkRead, SdkReadWrite, Token, TokenAmount, calcLMRewardApr, calcValuation, 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 };
|
|
3356
3397
|
//# sourceMappingURL=sdk.esm.js.map
|