@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.esm.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Signer } from '@ethersproject/abstract-signer';
|
|
2
2
|
import BigNumber from 'bignumber.js';
|
|
3
|
-
import {
|
|
4
|
-
import { BigNumber as BigNumber$1, utils, Contract, ethers as ethers$1 } from 'ethers';
|
|
3
|
+
import { BigNumber as BigNumber$1, utils, Contract } from 'ethers';
|
|
5
4
|
import AuErc20ABI from '@aurigami/contracts/artifacts/contracts/AuErc20.sol/AuErc20.json';
|
|
6
5
|
import AuETHABI from '@aurigami/contracts/artifacts/contracts/AuETH.sol/AuETH.json';
|
|
7
6
|
import ComptrollerABI from '@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json';
|
|
@@ -892,18 +891,27 @@ var BlockchainEntity = /*#__PURE__*/function () {
|
|
|
892
891
|
return BlockchainEntity;
|
|
893
892
|
}();
|
|
894
893
|
|
|
895
|
-
var
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
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 = {}));
|
|
910
|
+
|
|
901
911
|
var dummyAddress = "0xDEADbeEfEEeEEEeEEEeEEeeeeeEeEEeeeeEEEEeE";
|
|
902
912
|
var ETHAddress = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
|
903
|
-
var dummyPrivateKey = '1111111111111111111111111111111111111111111111111111111111111111';
|
|
904
|
-
var AURORA_DEFAULT_SIGNER = /*#__PURE__*/new ethers.Wallet(dummyPrivateKey, AURORA_DEFAULT_PROVIDER);
|
|
905
913
|
var AURORA_CHAINID = 1313161554;
|
|
906
|
-
var DECIMAL_PRECISION =
|
|
914
|
+
var DECIMAL_PRECISION = 10;
|
|
907
915
|
var networkAddresses = {
|
|
908
916
|
auTokens: [{
|
|
909
917
|
address: /*#__PURE__*/'0x2dEf6eb801757655AD227110d65C80DB595bBc60'.toLowerCase(),
|
|
@@ -948,6 +956,7 @@ var REWARDCLAIMSTART = 1640995200;
|
|
|
948
956
|
var ONE_DAY = 86400;
|
|
949
957
|
var ONE_YEAR = ONE_DAY * 365;
|
|
950
958
|
var AurPlyPid = 0;
|
|
959
|
+
var INF = /*#__PURE__*/BigNumber$1.from(2).pow(256).sub(1);
|
|
951
960
|
|
|
952
961
|
var decimalRecords = {
|
|
953
962
|
'0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee': 18,
|
|
@@ -1016,13 +1025,6 @@ function calcLMRewardApr(rewardsValue, totalStakeValue, frequencyPerYear) {
|
|
|
1016
1025
|
return rewardsValue.multipliedBy(frequencyPerYear).dividedBy(totalStakeValue);
|
|
1017
1026
|
}
|
|
1018
1027
|
|
|
1019
|
-
var ComptrollerRewardType;
|
|
1020
|
-
|
|
1021
|
-
(function (ComptrollerRewardType) {
|
|
1022
|
-
ComptrollerRewardType[ComptrollerRewardType["PLY"] = 0] = "PLY";
|
|
1023
|
-
ComptrollerRewardType[ComptrollerRewardType["AURORA"] = 1] = "AURORA";
|
|
1024
|
-
})(ComptrollerRewardType || (ComptrollerRewardType = {}));
|
|
1025
|
-
|
|
1026
1028
|
var Token = function Token(address, decimals) {
|
|
1027
1029
|
this.address = address.toLowerCase();
|
|
1028
1030
|
this.decimals = decimals;
|
|
@@ -2276,31 +2278,25 @@ function _fetchPrice() {
|
|
|
2276
2278
|
return _fetchPrice.apply(this, arguments);
|
|
2277
2279
|
}
|
|
2278
2280
|
|
|
2279
|
-
function fetchValuation(_x13, _x14
|
|
2281
|
+
function fetchValuation(_x13, _x14) {
|
|
2280
2282
|
return _fetchValuation.apply(this, arguments);
|
|
2281
2283
|
}
|
|
2282
2284
|
|
|
2283
2285
|
function _fetchValuation() {
|
|
2284
|
-
_fetchValuation = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee8(tokenAmount, provider
|
|
2286
|
+
_fetchValuation = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee8(tokenAmount, provider) {
|
|
2287
|
+
var price;
|
|
2285
2288
|
return runtime_1.wrap(function _callee8$(_context8) {
|
|
2286
2289
|
while (1) {
|
|
2287
2290
|
switch (_context8.prev = _context8.next) {
|
|
2288
2291
|
case 0:
|
|
2289
|
-
|
|
2290
|
-
_context8.next = 4;
|
|
2291
|
-
break;
|
|
2292
|
-
}
|
|
2293
|
-
|
|
2294
|
-
_context8.next = 3;
|
|
2292
|
+
_context8.next = 2;
|
|
2295
2293
|
return fetchPrice(tokenAmount.token.address, provider);
|
|
2296
2294
|
|
|
2297
|
-
case
|
|
2295
|
+
case 2:
|
|
2298
2296
|
price = _context8.sent;
|
|
2297
|
+
return _context8.abrupt("return", calcValuation(tokenAmount, price));
|
|
2299
2298
|
|
|
2300
2299
|
case 4:
|
|
2301
|
-
return _context8.abrupt("return", new BigNumber(tokenAmount.formattedAmount()).multipliedBy(price));
|
|
2302
|
-
|
|
2303
|
-
case 5:
|
|
2304
2300
|
case "end":
|
|
2305
2301
|
return _context8.stop();
|
|
2306
2302
|
}
|
|
@@ -2310,6 +2306,10 @@ function _fetchValuation() {
|
|
|
2310
2306
|
return _fetchValuation.apply(this, arguments);
|
|
2311
2307
|
}
|
|
2312
2308
|
|
|
2309
|
+
function calcValuation(tokenAmount, price) {
|
|
2310
|
+
return new BigNumber(tokenAmount.formattedAmount()).multipliedBy(price);
|
|
2311
|
+
}
|
|
2312
|
+
|
|
2313
2313
|
var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
2314
2314
|
_inheritsLoose(MoneyMarketRead, _BlockchainEntityRead);
|
|
2315
2315
|
|
|
@@ -2631,7 +2631,7 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2631
2631
|
case 11:
|
|
2632
2632
|
_context9.t0 = calcLMRewardApr;
|
|
2633
2633
|
_context9.next = 14;
|
|
2634
|
-
return
|
|
2634
|
+
return calcValuation(new TokenAmount(PLYToken, rewardSpeeds.plyRewardBorrowSpeed.toString()), plyPrice);
|
|
2635
2635
|
|
|
2636
2636
|
case 14:
|
|
2637
2637
|
_context9.t1 = _context9.sent;
|
|
@@ -2640,7 +2640,7 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2640
2640
|
borrowPlyApy = (0, _context9.t0)(_context9.t1, _context9.t2, _context9.t3);
|
|
2641
2641
|
_context9.t4 = calcLMRewardApr;
|
|
2642
2642
|
_context9.next = 21;
|
|
2643
|
-
return
|
|
2643
|
+
return calcValuation(new TokenAmount(PLYToken, rewardSpeeds.plyRewardSupplySpeed.toString()), plyPrice);
|
|
2644
2644
|
|
|
2645
2645
|
case 21:
|
|
2646
2646
|
_context9.t5 = _context9.sent;
|
|
@@ -2804,9 +2804,17 @@ var MoneyMarketReadWrite = /*#__PURE__*/function (_MoneyMarketRead) {
|
|
|
2804
2804
|
while (1) {
|
|
2805
2805
|
switch (_context14.prev = _context14.next) {
|
|
2806
2806
|
case 0:
|
|
2807
|
+
if (!new BigNumber(amount.rawAmount()).lt(0)) {
|
|
2808
|
+
_context14.next = 2;
|
|
2809
|
+
break;
|
|
2810
|
+
}
|
|
2811
|
+
|
|
2812
|
+
return _context14.abrupt("return", this.auToken.connect(this._networkConnection.signer).redeemUnderlying(INF));
|
|
2813
|
+
|
|
2814
|
+
case 2:
|
|
2807
2815
|
return _context14.abrupt("return", this.auToken.connect(this._networkConnection.signer).redeemUnderlying(amount.rawAmount()));
|
|
2808
2816
|
|
|
2809
|
-
case
|
|
2817
|
+
case 3:
|
|
2810
2818
|
case "end":
|
|
2811
2819
|
return _context14.stop();
|
|
2812
2820
|
}
|
|
@@ -2992,7 +3000,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2992
3000
|
var _getUserDetails = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(userAddress) {
|
|
2993
3001
|
var _this2 = this;
|
|
2994
3002
|
|
|
2995
|
-
var marketCount, userMarketDetails, assetsIn, promises, totalBorrowLimit, pricePromises, _loop2, _iterator, _step, underlyingPrices,
|
|
3003
|
+
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
3004
|
|
|
2997
3005
|
return runtime_1.wrap(function _callee2$(_context2) {
|
|
2998
3006
|
while (1) {
|
|
@@ -3041,7 +3049,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3041
3049
|
|
|
3042
3050
|
case 12:
|
|
3043
3051
|
underlyingPrices = _context2.sent;
|
|
3044
|
-
|
|
3052
|
+
depositValues = [];
|
|
3045
3053
|
|
|
3046
3054
|
_loop = function _loop() {
|
|
3047
3055
|
var auToken = networkAddresses.auTokens[i];
|
|
@@ -3054,18 +3062,13 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3054
3062
|
userMarketDetails[i].isCollateral = false;
|
|
3055
3063
|
}
|
|
3056
3064
|
|
|
3057
|
-
|
|
3065
|
+
depositValues.push(calcValuation(userMarketDetails[i].depositBalance, underlyingPrices[i]));
|
|
3058
3066
|
};
|
|
3059
3067
|
|
|
3060
3068
|
for (i = 0; i < marketCount; i++) {
|
|
3061
3069
|
_loop();
|
|
3062
3070
|
}
|
|
3063
3071
|
|
|
3064
|
-
_context2.next = 18;
|
|
3065
|
-
return Promise.all(depositValuationPromises);
|
|
3066
|
-
|
|
3067
|
-
case 18:
|
|
3068
|
-
depositValues = _context2.sent;
|
|
3069
3072
|
totalBorrowLimit = depositValues.reduce(function (p, v, index) {
|
|
3070
3073
|
if (userMarketDetails[index].isCollateral) return p.plus(v.multipliedBy(userMarketDetails[index].collateralRatio));
|
|
3071
3074
|
return p;
|
|
@@ -3074,15 +3077,20 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3074
3077
|
promises.push(this._comptroller.getAccountLiquidity(userAddress));
|
|
3075
3078
|
promises.push(this._auriLens.callStatic.getRewardBalancesMetadata(this._comptroller.address, this._auriFairLaunch.address, userAddress, [AurPlyPid]));
|
|
3076
3079
|
promises.push(this._tokenLock.lockedAmounts(userAddress));
|
|
3077
|
-
_context2.next =
|
|
3080
|
+
_context2.next = 23;
|
|
3078
3081
|
return Promise.all(promises);
|
|
3079
3082
|
|
|
3080
|
-
case
|
|
3083
|
+
case 23:
|
|
3081
3084
|
values = _context2.sent;
|
|
3082
3085
|
accountLiquidity = values[0];
|
|
3083
3086
|
rewardBalancesMetadata = values[1];
|
|
3084
3087
|
lockedAmount = values[2];
|
|
3085
3088
|
borrowedvaluation = totalBorrowLimit.minus(new BigNumber(accountLiquidity[1].toString()).div(decimalFactor(18)));
|
|
3089
|
+
|
|
3090
|
+
if (borrowedvaluation.lt("0.00001")) {
|
|
3091
|
+
borrowedvaluation = new BigNumber(0);
|
|
3092
|
+
}
|
|
3093
|
+
|
|
3086
3094
|
bufferedBorrowLimit = totalBorrowLimit.multipliedBy(BORROW_LIMIT_BUFFER);
|
|
3087
3095
|
minimumBorrowLimitAllowed = borrowedvaluation.div(BORROW_LIMIT_BUFFER);
|
|
3088
3096
|
|
|
@@ -3113,7 +3121,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3113
3121
|
}
|
|
3114
3122
|
});
|
|
3115
3123
|
|
|
3116
|
-
case
|
|
3124
|
+
case 34:
|
|
3117
3125
|
case "end":
|
|
3118
3126
|
return _context2.stop();
|
|
3119
3127
|
}
|
|
@@ -3236,15 +3244,41 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3236
3244
|
return stakeBalanceOf;
|
|
3237
3245
|
}();
|
|
3238
3246
|
|
|
3239
|
-
_proto.calcHypotheticalStats = function calcHypotheticalStats(
|
|
3240
|
-
var
|
|
3241
|
-
|
|
3247
|
+
_proto.calcHypotheticalStats = function calcHypotheticalStats(_ref) {
|
|
3248
|
+
var userMarketDetail = _ref.userMarketDetail,
|
|
3249
|
+
currentBorrowLimit = _ref.currentBorrowLimit,
|
|
3250
|
+
currentBorrowValuation = _ref.currentBorrowValuation,
|
|
3251
|
+
action = _ref.action,
|
|
3252
|
+
tokenAmount = _ref.tokenAmount;
|
|
3253
|
+
var newBorrowLimit = new BigNumber(currentBorrowLimit.amount),
|
|
3254
|
+
newBorrowValuation = new BigNumber(currentBorrowValuation.amount);
|
|
3255
|
+
|
|
3256
|
+
switch (action) {
|
|
3257
|
+
case MarketAction.EnableCollateral:
|
|
3258
|
+
case MarketAction.DisableCollateral:
|
|
3259
|
+
var deltaBorrowLimit = calcValuation(userMarketDetail.depositBalance, new BigNumber(userMarketDetail.underlyingPrice)).multipliedBy(userMarketDetail.collateralRatio).multipliedBy(BORROW_LIMIT_BUFFER);
|
|
3260
|
+
newBorrowLimit = action == MarketAction.EnableCollateral ? newBorrowLimit.plus(deltaBorrowLimit) : newBorrowLimit.minus(deltaBorrowLimit);
|
|
3261
|
+
break;
|
|
3262
|
+
|
|
3263
|
+
case MarketAction.Deposit:
|
|
3264
|
+
case MarketAction.Withdraw:
|
|
3265
|
+
deltaBorrowLimit = calcValuation(tokenAmount, new BigNumber(userMarketDetail.underlyingPrice)).multipliedBy(userMarketDetail.collateralRatio).multipliedBy(BORROW_LIMIT_BUFFER);
|
|
3266
|
+
newBorrowLimit = action == MarketAction.Deposit ? newBorrowLimit.plus(deltaBorrowLimit) : newBorrowLimit.minus(deltaBorrowLimit);
|
|
3267
|
+
break;
|
|
3268
|
+
|
|
3269
|
+
case MarketAction.Borrow:
|
|
3270
|
+
case MarketAction.Repay:
|
|
3271
|
+
var deltaBorrowValuation = calcValuation(tokenAmount, new BigNumber(userMarketDetail.underlyingPrice));
|
|
3272
|
+
newBorrowValuation = action == MarketAction.Borrow ? newBorrowValuation.plus(deltaBorrowValuation) : newBorrowValuation.minus(deltaBorrowValuation);
|
|
3273
|
+
break;
|
|
3274
|
+
}
|
|
3275
|
+
|
|
3242
3276
|
return {
|
|
3243
3277
|
newBorrowLimit: {
|
|
3244
3278
|
amount: newBorrowLimit.toFixed(DECIMAL_PRECISION),
|
|
3245
3279
|
currency: "USD"
|
|
3246
3280
|
},
|
|
3247
|
-
newBorrowUtilization:
|
|
3281
|
+
newBorrowUtilization: newBorrowValuation.div(newBorrowLimit).toNumber()
|
|
3248
3282
|
};
|
|
3249
3283
|
};
|
|
3250
3284
|
|
|
@@ -3343,8 +3377,8 @@ var SDK = /*#__PURE__*/function (_BlockchainEntity) {
|
|
|
3343
3377
|
return new SdkRead(networkConnection);
|
|
3344
3378
|
};
|
|
3345
3379
|
|
|
3346
|
-
|
|
3347
|
-
return new
|
|
3380
|
+
_proto3.readWrite = function readWrite(networkConnection) {
|
|
3381
|
+
return new SdkReadWrite(networkConnection);
|
|
3348
3382
|
};
|
|
3349
3383
|
|
|
3350
3384
|
return SDK;
|
|
@@ -3364,8 +3398,9 @@ var dummyUserMarketDetails = {
|
|
|
3364
3398
|
borrowBalance: dummyZeroTokenAmount,
|
|
3365
3399
|
isCollateral: true,
|
|
3366
3400
|
maxWithdrawableAmount: dummyTokenAmount,
|
|
3367
|
-
collateralRatio: 0.5
|
|
3401
|
+
collateralRatio: 0.5,
|
|
3402
|
+
underlyingPrice: "1"
|
|
3368
3403
|
};
|
|
3369
3404
|
|
|
3370
|
-
export { AURORA_CHAINID,
|
|
3405
|
+
export { AURORA_CHAINID, AURPLYToken, AurPlyPid, BORROW_LIMIT_BUFFER, BlockchainEntity, BlockchainEntityRead, BlockchainEntityReadWrite, ComptrollerRewardType, DECIMAL_PRECISION, ETHAddress, INF, 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 };
|
|
3371
3406
|
//# sourceMappingURL=sdk.esm.js.map
|