@kamino-finance/klend-sdk 5.11.10 → 5.11.12-beta.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/classes/reserve.d.ts +7 -1
- package/dist/classes/reserve.d.ts.map +1 -1
- package/dist/classes/reserve.js +152 -257
- package/dist/classes/reserve.js.map +1 -1
- package/dist/classes/utils.d.ts +1 -1
- package/dist/classes/utils.d.ts.map +1 -1
- package/dist/classes/utils.js +8 -2
- package/dist/classes/utils.js.map +1 -1
- package/dist/client_kamino_manager.js +54 -54
- package/dist/client_kamino_manager.js.map +1 -1
- package/package.json +1 -1
- package/src/classes/reserve.ts +184 -321
- package/src/classes/utils.ts +9 -3
- package/src/client_kamino_manager.ts +54 -54
package/dist/classes/reserve.js
CHANGED
|
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.KaminoReserve = exports.DEFAULT_RECENT_SLOT_DURATION_MS = void 0;
|
|
39
|
+
exports.sortIxnsByPriority = exports.modeMatches = exports.KaminoReserve = exports.DEFAULT_RECENT_SLOT_DURATION_MS = void 0;
|
|
40
40
|
exports.createReserveIxs = createReserveIxs;
|
|
41
41
|
exports.updateReserveConfigIx = updateReserveConfigIx;
|
|
42
42
|
exports.updateEntireReserveConfigIx = updateEntireReserveConfigIx;
|
|
@@ -919,12 +919,12 @@ async function createReserveIxs(connection, owner, ownerLiquiditySource, lending
|
|
|
919
919
|
const initReserveIx = (0, lib_1.initReserve)(accounts, programId);
|
|
920
920
|
return [createReserveIx, initReserveIx];
|
|
921
921
|
}
|
|
922
|
-
function updateReserveConfigIx(marketWithAddress, reserveAddress, modeDiscriminator, value, programId) {
|
|
922
|
+
function updateReserveConfigIx(marketWithAddress, reserveAddress, modeDiscriminator, value, programId, skipValidation = false) {
|
|
923
923
|
value;
|
|
924
924
|
const args = {
|
|
925
925
|
mode: new anchor.BN(modeDiscriminator),
|
|
926
926
|
value: value,
|
|
927
|
-
skipValidation
|
|
927
|
+
skipValidation,
|
|
928
928
|
};
|
|
929
929
|
const accounts = {
|
|
930
930
|
lendingMarketOwner: marketWithAddress.state.lendingMarketOwner,
|
|
@@ -939,195 +939,119 @@ function isExcludedReserveConfigKey(value) {
|
|
|
939
939
|
return EXCLUDED_RESERVE_CONFIG_KEYS.includes(value);
|
|
940
940
|
}
|
|
941
941
|
function handleConfigUpdate(key, reserve, reserveConfig, updateReserveIxnsArgs) {
|
|
942
|
+
// We add 1 to the discriminator, to account for the fact that the UpdateConfigMode
|
|
943
|
+
// inside the SC starts incrementing from 1
|
|
942
944
|
switch (key) {
|
|
943
945
|
case 'status':
|
|
944
|
-
if (reserve === undefined) {
|
|
946
|
+
if (reserve === undefined || reserve.config.status !== reserveConfig.status) {
|
|
945
947
|
updateReserveIxnsArgs.push({
|
|
946
|
-
mode: types_1.UpdateConfigMode.UpdateReserveStatus.discriminator,
|
|
947
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateReserveStatus.discriminator, reserveConfig.status),
|
|
948
|
-
});
|
|
949
|
-
}
|
|
950
|
-
else if (reserve.config.status !== reserveConfig.status) {
|
|
951
|
-
updateReserveIxnsArgs.push({
|
|
952
|
-
mode: types_1.UpdateConfigMode.UpdateReserveStatus.discriminator,
|
|
948
|
+
mode: types_1.UpdateConfigMode.UpdateReserveStatus.discriminator + 1,
|
|
953
949
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateReserveStatus.discriminator, reserveConfig.status),
|
|
954
950
|
});
|
|
955
951
|
}
|
|
956
952
|
break;
|
|
957
953
|
case 'assetTier':
|
|
958
|
-
if (reserve === undefined) {
|
|
954
|
+
if (reserve === undefined || reserve.config.assetTier !== reserveConfig.assetTier) {
|
|
959
955
|
updateReserveIxnsArgs.push({
|
|
960
|
-
mode: types_1.UpdateConfigMode.UpdateAssetTier.discriminator,
|
|
961
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateAssetTier.discriminator, reserveConfig.assetTier),
|
|
962
|
-
});
|
|
963
|
-
}
|
|
964
|
-
else if (reserve.config.assetTier !== reserveConfig.assetTier) {
|
|
965
|
-
updateReserveIxnsArgs.push({
|
|
966
|
-
mode: types_1.UpdateConfigMode.UpdateAssetTier.discriminator,
|
|
956
|
+
mode: types_1.UpdateConfigMode.UpdateAssetTier.discriminator + 1,
|
|
967
957
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateAssetTier.discriminator, reserveConfig.assetTier),
|
|
968
958
|
});
|
|
969
959
|
}
|
|
970
960
|
break;
|
|
971
961
|
case 'hostFixedInterestRateBps':
|
|
972
|
-
if (reserve === undefined) {
|
|
973
|
-
updateReserveIxnsArgs.push({
|
|
974
|
-
mode: types_1.UpdateConfigMode.UpdateHostFixedInterestRateBps.discriminator,
|
|
975
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateHostFixedInterestRateBps.discriminator, reserveConfig.hostFixedInterestRateBps),
|
|
976
|
-
});
|
|
977
|
-
}
|
|
978
|
-
else if (reserve.config.hostFixedInterestRateBps !== reserveConfig.hostFixedInterestRateBps) {
|
|
962
|
+
if (reserve === undefined || reserve.config.hostFixedInterestRateBps !== reserveConfig.hostFixedInterestRateBps) {
|
|
979
963
|
updateReserveIxnsArgs.push({
|
|
980
|
-
mode: types_1.UpdateConfigMode.UpdateHostFixedInterestRateBps.discriminator,
|
|
964
|
+
mode: types_1.UpdateConfigMode.UpdateHostFixedInterestRateBps.discriminator + 1,
|
|
981
965
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateHostFixedInterestRateBps.discriminator, reserveConfig.hostFixedInterestRateBps),
|
|
982
966
|
});
|
|
983
967
|
}
|
|
984
968
|
break;
|
|
985
969
|
case 'protocolTakeRatePct':
|
|
986
|
-
if (reserve === undefined) {
|
|
970
|
+
if (reserve === undefined || reserve.config.protocolTakeRatePct !== reserveConfig.protocolTakeRatePct) {
|
|
987
971
|
updateReserveIxnsArgs.push({
|
|
988
|
-
mode: types_1.UpdateConfigMode.UpdateProtocolTakeRate.discriminator,
|
|
989
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateProtocolTakeRate.discriminator, reserveConfig.protocolTakeRatePct),
|
|
990
|
-
});
|
|
991
|
-
}
|
|
992
|
-
else if (reserve.config.protocolTakeRatePct !== reserveConfig.protocolTakeRatePct) {
|
|
993
|
-
updateReserveIxnsArgs.push({
|
|
994
|
-
mode: types_1.UpdateConfigMode.UpdateProtocolTakeRate.discriminator,
|
|
972
|
+
mode: types_1.UpdateConfigMode.UpdateProtocolTakeRate.discriminator + 1,
|
|
995
973
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateProtocolTakeRate.discriminator, reserveConfig.protocolTakeRatePct),
|
|
996
974
|
});
|
|
997
975
|
}
|
|
998
976
|
break;
|
|
999
977
|
case 'protocolLiquidationFeePct':
|
|
1000
|
-
if (reserve === undefined
|
|
1001
|
-
|
|
1002
|
-
mode: types_1.UpdateConfigMode.UpdateProtocolLiquidationFee.discriminator,
|
|
1003
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateProtocolLiquidationFee.discriminator, reserveConfig.protocolLiquidationFeePct),
|
|
1004
|
-
});
|
|
1005
|
-
}
|
|
1006
|
-
else if (reserve.config.protocolLiquidationFeePct !== reserveConfig.protocolLiquidationFeePct) {
|
|
978
|
+
if (reserve === undefined ||
|
|
979
|
+
reserve.config.protocolLiquidationFeePct !== reserveConfig.protocolLiquidationFeePct) {
|
|
1007
980
|
updateReserveIxnsArgs.push({
|
|
1008
|
-
mode: types_1.UpdateConfigMode.UpdateProtocolLiquidationFee.discriminator,
|
|
981
|
+
mode: types_1.UpdateConfigMode.UpdateProtocolLiquidationFee.discriminator + 1,
|
|
1009
982
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateProtocolLiquidationFee.discriminator, reserveConfig.protocolLiquidationFeePct),
|
|
1010
983
|
});
|
|
1011
984
|
}
|
|
1012
985
|
break;
|
|
1013
986
|
case 'loanToValuePct':
|
|
1014
|
-
if (reserve === undefined) {
|
|
1015
|
-
updateReserveIxnsArgs.push({
|
|
1016
|
-
mode: types_1.UpdateConfigMode.UpdateLoanToValuePct.discriminator,
|
|
1017
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateLoanToValuePct.discriminator, reserveConfig.loanToValuePct),
|
|
1018
|
-
});
|
|
1019
|
-
}
|
|
1020
|
-
else if (reserve.config.loanToValuePct !== reserveConfig.loanToValuePct) {
|
|
987
|
+
if (reserve === undefined || reserve.config.loanToValuePct !== reserveConfig.loanToValuePct) {
|
|
1021
988
|
updateReserveIxnsArgs.push({
|
|
1022
|
-
mode: types_1.UpdateConfigMode.UpdateLoanToValuePct.discriminator,
|
|
989
|
+
mode: types_1.UpdateConfigMode.UpdateLoanToValuePct.discriminator + 1,
|
|
1023
990
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateLoanToValuePct.discriminator, reserveConfig.loanToValuePct),
|
|
1024
991
|
});
|
|
1025
992
|
}
|
|
1026
993
|
break;
|
|
1027
994
|
case 'liquidationThresholdPct':
|
|
1028
|
-
if (reserve === undefined) {
|
|
1029
|
-
updateReserveIxnsArgs.push({
|
|
1030
|
-
mode: types_1.UpdateConfigMode.UpdateLiquidationThresholdPct.discriminator,
|
|
1031
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateLiquidationThresholdPct.discriminator, reserveConfig.liquidationThresholdPct),
|
|
1032
|
-
});
|
|
1033
|
-
}
|
|
1034
|
-
else if (reserve.config.liquidationThresholdPct !== reserveConfig.liquidationThresholdPct) {
|
|
995
|
+
if (reserve === undefined || reserve.config.liquidationThresholdPct !== reserveConfig.liquidationThresholdPct) {
|
|
1035
996
|
updateReserveIxnsArgs.push({
|
|
1036
|
-
mode: types_1.UpdateConfigMode.UpdateLiquidationThresholdPct.discriminator,
|
|
997
|
+
mode: types_1.UpdateConfigMode.UpdateLiquidationThresholdPct.discriminator + 1,
|
|
1037
998
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateLiquidationThresholdPct.discriminator, reserveConfig.liquidationThresholdPct),
|
|
1038
999
|
});
|
|
1039
1000
|
}
|
|
1040
1001
|
break;
|
|
1041
1002
|
case 'minLiquidationBonusBps':
|
|
1042
|
-
if (reserve === undefined) {
|
|
1003
|
+
if (reserve === undefined || reserve.config.minLiquidationBonusBps !== reserveConfig.minLiquidationBonusBps) {
|
|
1043
1004
|
updateReserveIxnsArgs.push({
|
|
1044
|
-
mode: types_1.UpdateConfigMode.UpdateMinLiquidationBonusBps.discriminator,
|
|
1045
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateMinLiquidationBonusBps.discriminator, reserveConfig.minLiquidationBonusBps),
|
|
1046
|
-
});
|
|
1047
|
-
}
|
|
1048
|
-
else if (reserve.config.minLiquidationBonusBps !== reserveConfig.minLiquidationBonusBps) {
|
|
1049
|
-
updateReserveIxnsArgs.push({
|
|
1050
|
-
mode: types_1.UpdateConfigMode.UpdateMinLiquidationBonusBps.discriminator,
|
|
1005
|
+
mode: types_1.UpdateConfigMode.UpdateMinLiquidationBonusBps.discriminator + 1,
|
|
1051
1006
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateMinLiquidationBonusBps.discriminator, reserveConfig.minLiquidationBonusBps),
|
|
1052
1007
|
});
|
|
1053
1008
|
}
|
|
1054
1009
|
break;
|
|
1055
1010
|
case 'maxLiquidationBonusBps':
|
|
1056
|
-
if (reserve === undefined) {
|
|
1011
|
+
if (reserve === undefined || reserve.config.maxLiquidationBonusBps !== reserveConfig.maxLiquidationBonusBps) {
|
|
1057
1012
|
updateReserveIxnsArgs.push({
|
|
1058
|
-
mode: types_1.UpdateConfigMode.UpdateMaxLiquidationBonusBps.discriminator,
|
|
1059
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateMaxLiquidationBonusBps.discriminator, reserveConfig.maxLiquidationBonusBps),
|
|
1060
|
-
});
|
|
1061
|
-
}
|
|
1062
|
-
else if (reserve.config.maxLiquidationBonusBps !== reserveConfig.maxLiquidationBonusBps) {
|
|
1063
|
-
updateReserveIxnsArgs.push({
|
|
1064
|
-
mode: types_1.UpdateConfigMode.UpdateMaxLiquidationBonusBps.discriminator,
|
|
1013
|
+
mode: types_1.UpdateConfigMode.UpdateMaxLiquidationBonusBps.discriminator + 1,
|
|
1065
1014
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateMaxLiquidationBonusBps.discriminator, reserveConfig.maxLiquidationBonusBps),
|
|
1066
1015
|
});
|
|
1067
1016
|
}
|
|
1068
1017
|
break;
|
|
1069
1018
|
case 'badDebtLiquidationBonusBps':
|
|
1070
|
-
if (reserve === undefined
|
|
1071
|
-
|
|
1072
|
-
mode: types_1.UpdateConfigMode.UpdateBadDebtLiquidationBonusBps.discriminator,
|
|
1073
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBadDebtLiquidationBonusBps.discriminator, reserveConfig.badDebtLiquidationBonusBps),
|
|
1074
|
-
});
|
|
1075
|
-
}
|
|
1076
|
-
else if (reserve.config.badDebtLiquidationBonusBps !== reserveConfig.badDebtLiquidationBonusBps) {
|
|
1019
|
+
if (reserve === undefined ||
|
|
1020
|
+
reserve.config.badDebtLiquidationBonusBps !== reserveConfig.badDebtLiquidationBonusBps) {
|
|
1077
1021
|
updateReserveIxnsArgs.push({
|
|
1078
|
-
mode: types_1.UpdateConfigMode.UpdateBadDebtLiquidationBonusBps.discriminator,
|
|
1022
|
+
mode: types_1.UpdateConfigMode.UpdateBadDebtLiquidationBonusBps.discriminator + 1,
|
|
1079
1023
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBadDebtLiquidationBonusBps.discriminator, reserveConfig.badDebtLiquidationBonusBps),
|
|
1080
1024
|
});
|
|
1081
1025
|
}
|
|
1082
1026
|
break;
|
|
1083
1027
|
case 'deleveragingMarginCallPeriodSecs':
|
|
1084
|
-
if (reserve === undefined
|
|
1085
|
-
|
|
1086
|
-
mode: types_1.UpdateConfigMode.UpdateDeleveragingMarginCallPeriod.discriminator,
|
|
1087
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDeleveragingMarginCallPeriod.discriminator, reserveConfig.deleveragingMarginCallPeriodSecs.toNumber()),
|
|
1088
|
-
});
|
|
1089
|
-
}
|
|
1090
|
-
else if (!reserve.config.deleveragingMarginCallPeriodSecs.eq(reserveConfig.deleveragingMarginCallPeriodSecs)) {
|
|
1028
|
+
if (reserve === undefined ||
|
|
1029
|
+
!reserve.config.deleveragingMarginCallPeriodSecs.eq(reserveConfig.deleveragingMarginCallPeriodSecs)) {
|
|
1091
1030
|
updateReserveIxnsArgs.push({
|
|
1092
|
-
mode: types_1.UpdateConfigMode.UpdateDeleveragingMarginCallPeriod.discriminator,
|
|
1031
|
+
mode: types_1.UpdateConfigMode.UpdateDeleveragingMarginCallPeriod.discriminator + 1,
|
|
1093
1032
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDeleveragingMarginCallPeriod.discriminator, reserveConfig.deleveragingMarginCallPeriodSecs.toNumber()),
|
|
1094
1033
|
});
|
|
1095
1034
|
}
|
|
1096
1035
|
break;
|
|
1097
1036
|
case 'deleveragingThresholdDecreaseBpsPerDay':
|
|
1098
|
-
if (reserve === undefined
|
|
1037
|
+
if (reserve === undefined ||
|
|
1038
|
+
!reserve.config.deleveragingThresholdDecreaseBpsPerDay.eq(reserveConfig.deleveragingThresholdDecreaseBpsPerDay)) {
|
|
1099
1039
|
updateReserveIxnsArgs.push({
|
|
1100
|
-
mode: types_1.UpdateConfigMode.UpdateDeleveragingThresholdDecreaseBpsPerDay.discriminator,
|
|
1101
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDeleveragingThresholdDecreaseBpsPerDay.discriminator, reserveConfig.deleveragingThresholdDecreaseBpsPerDay.toNumber()),
|
|
1102
|
-
});
|
|
1103
|
-
}
|
|
1104
|
-
else if (!reserve.config.deleveragingThresholdDecreaseBpsPerDay.eq(reserveConfig.deleveragingThresholdDecreaseBpsPerDay)) {
|
|
1105
|
-
updateReserveIxnsArgs.push({
|
|
1106
|
-
mode: types_1.UpdateConfigMode.UpdateDeleveragingThresholdDecreaseBpsPerDay.discriminator,
|
|
1040
|
+
mode: types_1.UpdateConfigMode.UpdateDeleveragingThresholdDecreaseBpsPerDay.discriminator + 1,
|
|
1107
1041
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDeleveragingThresholdDecreaseBpsPerDay.discriminator, reserveConfig.deleveragingThresholdDecreaseBpsPerDay.toNumber()),
|
|
1108
1042
|
});
|
|
1109
1043
|
}
|
|
1110
1044
|
break;
|
|
1111
1045
|
case 'fees':
|
|
1112
|
-
if (reserve === undefined) {
|
|
1046
|
+
if (reserve === undefined || !reserve.config.fees.borrowFeeSf.eq(reserveConfig.fees.borrowFeeSf)) {
|
|
1113
1047
|
updateReserveIxnsArgs.push({
|
|
1114
|
-
mode: types_1.UpdateConfigMode.UpdateFeesBorrowFee.discriminator,
|
|
1048
|
+
mode: types_1.UpdateConfigMode.UpdateFeesBorrowFee.discriminator + 1,
|
|
1115
1049
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateFeesBorrowFee.discriminator, reserveConfig.fees.borrowFeeSf.toNumber()),
|
|
1116
1050
|
});
|
|
1117
|
-
updateReserveIxnsArgs.push({
|
|
1118
|
-
mode: types_1.UpdateConfigMode.UpdateFeesFlashLoanFee.discriminator,
|
|
1119
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateFeesFlashLoanFee.discriminator, reserveConfig.fees.flashLoanFeeSf.toNumber()),
|
|
1120
|
-
});
|
|
1121
1051
|
}
|
|
1122
|
-
|
|
1052
|
+
if (reserve === undefined || !reserve.config.fees.flashLoanFeeSf.eq(reserveConfig.fees.flashLoanFeeSf)) {
|
|
1123
1053
|
updateReserveIxnsArgs.push({
|
|
1124
|
-
mode: types_1.UpdateConfigMode.
|
|
1125
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateFeesBorrowFee.discriminator, reserveConfig.fees.borrowFeeSf.toNumber()),
|
|
1126
|
-
});
|
|
1127
|
-
}
|
|
1128
|
-
else if (!reserve.config.fees.flashLoanFeeSf.eq(reserveConfig.fees.flashLoanFeeSf)) {
|
|
1129
|
-
updateReserveIxnsArgs.push({
|
|
1130
|
-
mode: types_1.UpdateConfigMode.UpdateFeesFlashLoanFee.discriminator,
|
|
1054
|
+
mode: types_1.UpdateConfigMode.UpdateFeesFlashLoanFee.discriminator + 1,
|
|
1131
1055
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateFeesFlashLoanFee.discriminator, reserveConfig.fees.flashLoanFeeSf.toNumber()),
|
|
1132
1056
|
});
|
|
1133
1057
|
}
|
|
@@ -1135,63 +1059,50 @@ function handleConfigUpdate(key, reserve, reserveConfig, updateReserveIxnsArgs)
|
|
|
1135
1059
|
case 'borrowRateCurve':
|
|
1136
1060
|
if (reserve === undefined) {
|
|
1137
1061
|
updateReserveIxnsArgs.push({
|
|
1138
|
-
mode: UpdateConfigMode_1.UpdateBorrowRateCurve.discriminator,
|
|
1062
|
+
mode: UpdateConfigMode_1.UpdateBorrowRateCurve.discriminator + 1,
|
|
1139
1063
|
value: updateReserveConfigEncodedValue(UpdateConfigMode_1.UpdateBorrowRateCurve.discriminator, reserveConfig.borrowRateCurve),
|
|
1140
1064
|
});
|
|
1141
1065
|
}
|
|
1142
1066
|
else {
|
|
1067
|
+
let shouldBorrowCurveBeUpdated = false;
|
|
1143
1068
|
for (let i = 0; i < reserveConfig.borrowRateCurve.points.length; i++) {
|
|
1144
1069
|
if (reserve.config.borrowRateCurve.points[i].utilizationRateBps !==
|
|
1145
1070
|
reserveConfig.borrowRateCurve.points[i].utilizationRateBps ||
|
|
1146
1071
|
reserve.config.borrowRateCurve.points[i].borrowRateBps !==
|
|
1147
1072
|
reserveConfig.borrowRateCurve.points[i].borrowRateBps) {
|
|
1148
|
-
|
|
1149
|
-
mode: UpdateConfigMode_1.UpdateBorrowRateCurve.discriminator,
|
|
1150
|
-
value: updateReserveConfigEncodedValue(UpdateConfigMode_1.UpdateBorrowRateCurve.discriminator, reserveConfig.borrowRateCurve),
|
|
1151
|
-
});
|
|
1073
|
+
shouldBorrowCurveBeUpdated = true;
|
|
1152
1074
|
break;
|
|
1153
1075
|
}
|
|
1154
1076
|
}
|
|
1077
|
+
if (shouldBorrowCurveBeUpdated) {
|
|
1078
|
+
updateReserveIxnsArgs.push({
|
|
1079
|
+
mode: UpdateConfigMode_1.UpdateBorrowRateCurve.discriminator + 1,
|
|
1080
|
+
value: updateReserveConfigEncodedValue(UpdateConfigMode_1.UpdateBorrowRateCurve.discriminator, reserveConfig.borrowRateCurve),
|
|
1081
|
+
});
|
|
1082
|
+
break;
|
|
1083
|
+
}
|
|
1155
1084
|
}
|
|
1156
1085
|
break;
|
|
1157
1086
|
case 'borrowFactorPct':
|
|
1158
|
-
if (reserve === undefined) {
|
|
1159
|
-
updateReserveIxnsArgs.push({
|
|
1160
|
-
mode: types_1.UpdateConfigMode.UpdateBorrowFactor.discriminator,
|
|
1161
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBorrowFactor.discriminator, reserveConfig.borrowFactorPct.toNumber()),
|
|
1162
|
-
});
|
|
1163
|
-
}
|
|
1164
|
-
else if (!reserve.config.borrowFactorPct.eq(reserveConfig.borrowFactorPct)) {
|
|
1087
|
+
if (reserve === undefined || !reserve.config.borrowFactorPct.eq(reserveConfig.borrowFactorPct)) {
|
|
1165
1088
|
updateReserveIxnsArgs.push({
|
|
1166
|
-
mode: types_1.UpdateConfigMode.UpdateBorrowFactor.discriminator,
|
|
1089
|
+
mode: types_1.UpdateConfigMode.UpdateBorrowFactor.discriminator + 1,
|
|
1167
1090
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBorrowFactor.discriminator, reserveConfig.borrowFactorPct.toNumber()),
|
|
1168
1091
|
});
|
|
1169
1092
|
}
|
|
1170
1093
|
break;
|
|
1171
1094
|
case 'depositLimit':
|
|
1172
|
-
if (reserve === undefined) {
|
|
1173
|
-
updateReserveIxnsArgs.push({
|
|
1174
|
-
mode: types_1.UpdateConfigMode.UpdateDepositLimit.discriminator,
|
|
1175
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDepositLimit.discriminator, BigInt(reserveConfig.depositLimit.toString())),
|
|
1176
|
-
});
|
|
1177
|
-
}
|
|
1178
|
-
else if (!reserve.config.depositLimit.eq(reserveConfig.depositLimit)) {
|
|
1095
|
+
if (reserve === undefined || !reserve.config.depositLimit.eq(reserveConfig.depositLimit)) {
|
|
1179
1096
|
updateReserveIxnsArgs.push({
|
|
1180
|
-
mode: types_1.UpdateConfigMode.UpdateDepositLimit.discriminator,
|
|
1097
|
+
mode: types_1.UpdateConfigMode.UpdateDepositLimit.discriminator + 1,
|
|
1181
1098
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDepositLimit.discriminator, BigInt(reserveConfig.depositLimit.toString())),
|
|
1182
1099
|
});
|
|
1183
1100
|
}
|
|
1184
1101
|
break;
|
|
1185
1102
|
case 'borrowLimit':
|
|
1186
|
-
if (reserve === undefined) {
|
|
1187
|
-
updateReserveIxnsArgs.push({
|
|
1188
|
-
mode: types_1.UpdateConfigMode.UpdateBorrowLimit.discriminator,
|
|
1189
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBorrowLimit.discriminator, BigInt(reserveConfig.borrowLimit.toString())),
|
|
1190
|
-
});
|
|
1191
|
-
}
|
|
1192
|
-
else if (!reserve.config.borrowLimit.eq(reserveConfig.borrowLimit)) {
|
|
1103
|
+
if (reserve === undefined || !reserve.config.borrowLimit.eq(reserveConfig.borrowLimit)) {
|
|
1193
1104
|
updateReserveIxnsArgs.push({
|
|
1194
|
-
mode: types_1.UpdateConfigMode.UpdateBorrowLimit.discriminator,
|
|
1105
|
+
mode: types_1.UpdateConfigMode.UpdateBorrowLimit.discriminator + 1,
|
|
1195
1106
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBorrowLimit.discriminator, BigInt(reserveConfig.borrowLimit.toString())),
|
|
1196
1107
|
});
|
|
1197
1108
|
}
|
|
@@ -1200,140 +1111,140 @@ function handleConfigUpdate(key, reserve, reserveConfig, updateReserveIxnsArgs)
|
|
|
1200
1111
|
const tokenInfo = reserveConfig.tokenInfo;
|
|
1201
1112
|
if (reserve === undefined) {
|
|
1202
1113
|
updateReserveIxnsArgs.push({
|
|
1203
|
-
mode: types_1.UpdateConfigMode.UpdateTokenInfoName.discriminator,
|
|
1114
|
+
mode: types_1.UpdateConfigMode.UpdateTokenInfoName.discriminator + 1,
|
|
1204
1115
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoName.discriminator, tokenInfo.name),
|
|
1205
1116
|
});
|
|
1206
1117
|
updateReserveIxnsArgs.push({
|
|
1207
|
-
mode: types_1.UpdateConfigMode.UpdateTokenInfoLowerHeuristic.discriminator,
|
|
1118
|
+
mode: types_1.UpdateConfigMode.UpdateTokenInfoLowerHeuristic.discriminator + 1,
|
|
1208
1119
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoLowerHeuristic.discriminator, tokenInfo.heuristic.lower.toNumber()),
|
|
1209
1120
|
});
|
|
1210
1121
|
updateReserveIxnsArgs.push({
|
|
1211
|
-
mode: types_1.UpdateConfigMode.UpdateTokenInfoUpperHeuristic.discriminator,
|
|
1122
|
+
mode: types_1.UpdateConfigMode.UpdateTokenInfoUpperHeuristic.discriminator + 1,
|
|
1212
1123
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoUpperHeuristic.discriminator, tokenInfo.heuristic.upper.toNumber()),
|
|
1213
1124
|
});
|
|
1214
1125
|
updateReserveIxnsArgs.push({
|
|
1215
|
-
mode: types_1.UpdateConfigMode.UpdateTokenInfoExpHeuristic.discriminator,
|
|
1126
|
+
mode: types_1.UpdateConfigMode.UpdateTokenInfoExpHeuristic.discriminator + 1,
|
|
1216
1127
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoExpHeuristic.discriminator, tokenInfo.heuristic.exp.toNumber()),
|
|
1217
1128
|
});
|
|
1218
1129
|
updateReserveIxnsArgs.push({
|
|
1219
|
-
mode: types_1.UpdateConfigMode.UpdateTokenInfoTwapDivergence.discriminator,
|
|
1130
|
+
mode: types_1.UpdateConfigMode.UpdateTokenInfoTwapDivergence.discriminator + 1,
|
|
1220
1131
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoTwapDivergence.discriminator, tokenInfo.maxTwapDivergenceBps.toNumber()),
|
|
1221
1132
|
});
|
|
1222
1133
|
updateReserveIxnsArgs.push({
|
|
1223
|
-
mode: types_1.UpdateConfigMode.UpdateTokenInfoPriceMaxAge.discriminator,
|
|
1134
|
+
mode: types_1.UpdateConfigMode.UpdateTokenInfoPriceMaxAge.discriminator + 1,
|
|
1224
1135
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoPriceMaxAge.discriminator, tokenInfo.maxAgePriceSeconds.toNumber()),
|
|
1225
1136
|
});
|
|
1226
1137
|
updateReserveIxnsArgs.push({
|
|
1227
|
-
mode: types_1.UpdateConfigMode.UpdateTokenInfoTwapMaxAge.discriminator,
|
|
1138
|
+
mode: types_1.UpdateConfigMode.UpdateTokenInfoTwapMaxAge.discriminator + 1,
|
|
1228
1139
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoTwapMaxAge.discriminator, tokenInfo.maxAgeTwapSeconds.toNumber()),
|
|
1229
1140
|
});
|
|
1230
1141
|
updateReserveIxnsArgs.push({
|
|
1231
|
-
mode: types_1.UpdateConfigMode.UpdateTokenInfoScopeChain.discriminator,
|
|
1142
|
+
mode: types_1.UpdateConfigMode.UpdateTokenInfoScopeChain.discriminator + 1,
|
|
1232
1143
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoScopeChain.discriminator, tokenInfo.scopeConfiguration.priceChain),
|
|
1233
1144
|
});
|
|
1234
1145
|
updateReserveIxnsArgs.push({
|
|
1235
|
-
mode: types_1.UpdateConfigMode.UpdateTokenInfoScopeTwap.discriminator,
|
|
1146
|
+
mode: types_1.UpdateConfigMode.UpdateTokenInfoScopeTwap.discriminator + 1,
|
|
1236
1147
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoScopeTwap.discriminator, tokenInfo.scopeConfiguration.twapChain),
|
|
1237
1148
|
});
|
|
1238
1149
|
updateReserveIxnsArgs.push({
|
|
1239
|
-
mode: types_1.UpdateConfigMode.UpdateSwitchboardFeed.discriminator,
|
|
1150
|
+
mode: types_1.UpdateConfigMode.UpdateSwitchboardFeed.discriminator + 1,
|
|
1240
1151
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateSwitchboardFeed.discriminator, tokenInfo.switchboardConfiguration.priceAggregator),
|
|
1241
1152
|
});
|
|
1242
1153
|
updateReserveIxnsArgs.push({
|
|
1243
|
-
mode: types_1.UpdateConfigMode.UpdateSwitchboardTwapFeed.discriminator,
|
|
1154
|
+
mode: types_1.UpdateConfigMode.UpdateSwitchboardTwapFeed.discriminator + 1,
|
|
1244
1155
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateSwitchboardTwapFeed.discriminator, tokenInfo.switchboardConfiguration.twapAggregator),
|
|
1245
1156
|
});
|
|
1246
1157
|
updateReserveIxnsArgs.push({
|
|
1247
|
-
mode: types_1.UpdateConfigMode.UpdatePythPrice.discriminator,
|
|
1158
|
+
mode: types_1.UpdateConfigMode.UpdatePythPrice.discriminator + 1,
|
|
1248
1159
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdatePythPrice.discriminator, tokenInfo.pythConfiguration.price),
|
|
1249
1160
|
});
|
|
1250
1161
|
updateReserveIxnsArgs.push({
|
|
1251
|
-
mode: types_1.UpdateConfigMode.UpdateBlockPriceUsage.discriminator,
|
|
1162
|
+
mode: types_1.UpdateConfigMode.UpdateBlockPriceUsage.discriminator + 1,
|
|
1252
1163
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBlockPriceUsage.discriminator, tokenInfo.blockPriceUsage),
|
|
1253
1164
|
});
|
|
1254
1165
|
}
|
|
1255
1166
|
else {
|
|
1256
1167
|
if (!(0, utils_2.sameLengthArrayEquals)(reserve.config.tokenInfo.name, tokenInfo.name)) {
|
|
1257
1168
|
updateReserveIxnsArgs.push({
|
|
1258
|
-
mode: types_1.UpdateConfigMode.UpdateTokenInfoName.discriminator,
|
|
1169
|
+
mode: types_1.UpdateConfigMode.UpdateTokenInfoName.discriminator + 1,
|
|
1259
1170
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoName.discriminator, tokenInfo.name),
|
|
1260
1171
|
});
|
|
1261
1172
|
}
|
|
1262
1173
|
if (!reserve.config.tokenInfo.heuristic.lower.eq(tokenInfo.heuristic.lower)) {
|
|
1263
1174
|
updateReserveIxnsArgs.push({
|
|
1264
|
-
mode: types_1.UpdateConfigMode.UpdateTokenInfoLowerHeuristic.discriminator,
|
|
1175
|
+
mode: types_1.UpdateConfigMode.UpdateTokenInfoLowerHeuristic.discriminator + 1,
|
|
1265
1176
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoLowerHeuristic.discriminator, tokenInfo.heuristic.lower.toNumber()),
|
|
1266
1177
|
});
|
|
1267
1178
|
}
|
|
1268
1179
|
if (!reserve.config.tokenInfo.heuristic.upper.eq(tokenInfo.heuristic.upper)) {
|
|
1269
1180
|
updateReserveIxnsArgs.push({
|
|
1270
|
-
mode: types_1.UpdateConfigMode.UpdateTokenInfoUpperHeuristic.discriminator,
|
|
1181
|
+
mode: types_1.UpdateConfigMode.UpdateTokenInfoUpperHeuristic.discriminator + 1,
|
|
1271
1182
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoUpperHeuristic.discriminator, tokenInfo.heuristic.upper.toNumber()),
|
|
1272
1183
|
});
|
|
1273
1184
|
}
|
|
1274
1185
|
if (!reserve.config.tokenInfo.heuristic.exp.eq(tokenInfo.heuristic.exp)) {
|
|
1275
1186
|
updateReserveIxnsArgs.push({
|
|
1276
|
-
mode: types_1.UpdateConfigMode.UpdateTokenInfoExpHeuristic.discriminator,
|
|
1187
|
+
mode: types_1.UpdateConfigMode.UpdateTokenInfoExpHeuristic.discriminator + 1,
|
|
1277
1188
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoExpHeuristic.discriminator, tokenInfo.heuristic.exp.toNumber()),
|
|
1278
1189
|
});
|
|
1279
1190
|
}
|
|
1280
1191
|
if (!reserve.config.tokenInfo.maxTwapDivergenceBps.eq(tokenInfo.maxTwapDivergenceBps)) {
|
|
1281
1192
|
updateReserveIxnsArgs.push({
|
|
1282
|
-
mode: types_1.UpdateConfigMode.UpdateTokenInfoTwapDivergence.discriminator,
|
|
1193
|
+
mode: types_1.UpdateConfigMode.UpdateTokenInfoTwapDivergence.discriminator + 1,
|
|
1283
1194
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoTwapDivergence.discriminator, tokenInfo.maxTwapDivergenceBps.toNumber()),
|
|
1284
1195
|
});
|
|
1285
1196
|
}
|
|
1286
1197
|
if (!reserve.config.tokenInfo.maxAgePriceSeconds.eq(tokenInfo.maxAgePriceSeconds)) {
|
|
1287
1198
|
updateReserveIxnsArgs.push({
|
|
1288
|
-
mode: types_1.UpdateConfigMode.UpdateTokenInfoPriceMaxAge.discriminator,
|
|
1199
|
+
mode: types_1.UpdateConfigMode.UpdateTokenInfoPriceMaxAge.discriminator + 1,
|
|
1289
1200
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoPriceMaxAge.discriminator, tokenInfo.maxAgePriceSeconds.toNumber()),
|
|
1290
1201
|
});
|
|
1291
1202
|
}
|
|
1292
1203
|
if (!reserve.config.tokenInfo.maxAgeTwapSeconds.eq(tokenInfo.maxAgeTwapSeconds)) {
|
|
1293
1204
|
updateReserveIxnsArgs.push({
|
|
1294
|
-
mode: types_1.UpdateConfigMode.UpdateTokenInfoTwapMaxAge.discriminator,
|
|
1205
|
+
mode: types_1.UpdateConfigMode.UpdateTokenInfoTwapMaxAge.discriminator + 1,
|
|
1295
1206
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoTwapMaxAge.discriminator, tokenInfo.maxAgeTwapSeconds.toNumber()),
|
|
1296
1207
|
});
|
|
1297
1208
|
}
|
|
1298
1209
|
if (!(0, utils_2.sameLengthArrayEquals)(reserve.config.tokenInfo.scopeConfiguration.priceChain, tokenInfo.scopeConfiguration.priceChain)) {
|
|
1299
1210
|
updateReserveIxnsArgs.push({
|
|
1300
|
-
mode: types_1.UpdateConfigMode.UpdateTokenInfoScopeChain.discriminator,
|
|
1211
|
+
mode: types_1.UpdateConfigMode.UpdateTokenInfoScopeChain.discriminator + 1,
|
|
1301
1212
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoScopeChain.discriminator, tokenInfo.scopeConfiguration.priceChain),
|
|
1302
1213
|
});
|
|
1303
1214
|
}
|
|
1304
1215
|
if (!(0, utils_2.sameLengthArrayEquals)(reserve.config.tokenInfo.scopeConfiguration.twapChain, tokenInfo.scopeConfiguration.twapChain)) {
|
|
1305
1216
|
updateReserveIxnsArgs.push({
|
|
1306
|
-
mode: types_1.UpdateConfigMode.UpdateTokenInfoScopeTwap.discriminator,
|
|
1217
|
+
mode: types_1.UpdateConfigMode.UpdateTokenInfoScopeTwap.discriminator + 1,
|
|
1307
1218
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoScopeTwap.discriminator, tokenInfo.scopeConfiguration.twapChain),
|
|
1308
1219
|
});
|
|
1309
1220
|
}
|
|
1310
1221
|
if (!reserve.config.tokenInfo.switchboardConfiguration.priceAggregator.equals(tokenInfo.switchboardConfiguration.priceAggregator)) {
|
|
1311
1222
|
updateReserveIxnsArgs.push({
|
|
1312
|
-
mode: types_1.UpdateConfigMode.UpdateSwitchboardFeed.discriminator,
|
|
1223
|
+
mode: types_1.UpdateConfigMode.UpdateSwitchboardFeed.discriminator + 1,
|
|
1313
1224
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateSwitchboardFeed.discriminator, tokenInfo.switchboardConfiguration.priceAggregator),
|
|
1314
1225
|
});
|
|
1315
1226
|
}
|
|
1316
1227
|
if (!reserve.config.tokenInfo.switchboardConfiguration.twapAggregator.equals(tokenInfo.switchboardConfiguration.twapAggregator)) {
|
|
1317
1228
|
updateReserveIxnsArgs.push({
|
|
1318
|
-
mode: types_1.UpdateConfigMode.UpdateSwitchboardTwapFeed.discriminator,
|
|
1229
|
+
mode: types_1.UpdateConfigMode.UpdateSwitchboardTwapFeed.discriminator + 1,
|
|
1319
1230
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateSwitchboardTwapFeed.discriminator, tokenInfo.switchboardConfiguration.twapAggregator),
|
|
1320
1231
|
});
|
|
1321
1232
|
}
|
|
1322
1233
|
if (!reserve.config.tokenInfo.pythConfiguration.price.equals(tokenInfo.pythConfiguration.price)) {
|
|
1323
1234
|
updateReserveIxnsArgs.push({
|
|
1324
|
-
mode: types_1.UpdateConfigMode.UpdatePythPrice.discriminator,
|
|
1235
|
+
mode: types_1.UpdateConfigMode.UpdatePythPrice.discriminator + 1,
|
|
1325
1236
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdatePythPrice.discriminator, tokenInfo.pythConfiguration.price),
|
|
1326
1237
|
});
|
|
1327
1238
|
}
|
|
1328
1239
|
if (reserve.config.tokenInfo.blockPriceUsage !== tokenInfo.blockPriceUsage) {
|
|
1329
1240
|
updateReserveIxnsArgs.push({
|
|
1330
|
-
mode: types_1.UpdateConfigMode.UpdateBlockPriceUsage.discriminator,
|
|
1241
|
+
mode: types_1.UpdateConfigMode.UpdateBlockPriceUsage.discriminator + 1,
|
|
1331
1242
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBlockPriceUsage.discriminator, tokenInfo.blockPriceUsage),
|
|
1332
1243
|
});
|
|
1333
1244
|
}
|
|
1334
1245
|
if (!reserve.config.tokenInfo.scopeConfiguration.priceFeed.equals(tokenInfo.scopeConfiguration.priceFeed)) {
|
|
1335
1246
|
updateReserveIxnsArgs.push({
|
|
1336
|
-
mode: types_1.UpdateConfigMode.UpdateScopePriceFeed.discriminator,
|
|
1247
|
+
mode: types_1.UpdateConfigMode.UpdateScopePriceFeed.discriminator + 1,
|
|
1337
1248
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateScopePriceFeed.discriminator, tokenInfo.scopeConfiguration.priceFeed),
|
|
1338
1249
|
});
|
|
1339
1250
|
}
|
|
@@ -1342,21 +1253,17 @@ function handleConfigUpdate(key, reserve, reserveConfig, updateReserveIxnsArgs)
|
|
|
1342
1253
|
case 'depositWithdrawalCap':
|
|
1343
1254
|
if (reserve === undefined) {
|
|
1344
1255
|
updateReserveIxnsArgs.push({
|
|
1345
|
-
mode: types_1.UpdateConfigMode.UpdateDepositWithdrawalCap.discriminator,
|
|
1256
|
+
mode: types_1.UpdateConfigMode.UpdateDepositWithdrawalCap.discriminator + 1,
|
|
1346
1257
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDepositWithdrawalCap.discriminator, [
|
|
1347
1258
|
reserveConfig.depositWithdrawalCap.configCapacity.toNumber(),
|
|
1348
1259
|
reserveConfig.depositWithdrawalCap.configIntervalLengthSeconds.toNumber(),
|
|
1349
1260
|
]),
|
|
1350
1261
|
});
|
|
1351
|
-
updateReserveIxnsArgs.push({
|
|
1352
|
-
mode: types_1.UpdateConfigMode.UpdateDepositWithdrawalCapCurrentTotal.discriminator,
|
|
1353
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDepositWithdrawalCap.discriminator, reserveConfig.depositWithdrawalCap.currentTotal.toNumber()),
|
|
1354
|
-
});
|
|
1355
1262
|
}
|
|
1356
1263
|
else if (!reserve.config.depositWithdrawalCap.configCapacity.eq(reserveConfig.depositWithdrawalCap.configCapacity) ||
|
|
1357
1264
|
!reserve.config.depositWithdrawalCap.configIntervalLengthSeconds.eq(reserveConfig.depositWithdrawalCap.configIntervalLengthSeconds)) {
|
|
1358
1265
|
updateReserveIxnsArgs.push({
|
|
1359
|
-
mode: types_1.UpdateConfigMode.UpdateDepositWithdrawalCap.discriminator,
|
|
1266
|
+
mode: types_1.UpdateConfigMode.UpdateDepositWithdrawalCap.discriminator + 1,
|
|
1360
1267
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDepositWithdrawalCap.discriminator, [
|
|
1361
1268
|
reserveConfig.depositWithdrawalCap.configCapacity.toNumber(),
|
|
1362
1269
|
reserveConfig.depositWithdrawalCap.configIntervalLengthSeconds.toNumber(),
|
|
@@ -1365,7 +1272,7 @@ function handleConfigUpdate(key, reserve, reserveConfig, updateReserveIxnsArgs)
|
|
|
1365
1272
|
}
|
|
1366
1273
|
else if (!reserve.config.depositWithdrawalCap.currentTotal.eq(reserveConfig.depositWithdrawalCap.currentTotal)) {
|
|
1367
1274
|
updateReserveIxnsArgs.push({
|
|
1368
|
-
mode: types_1.UpdateConfigMode.UpdateDepositWithdrawalCapCurrentTotal.discriminator,
|
|
1275
|
+
mode: types_1.UpdateConfigMode.UpdateDepositWithdrawalCapCurrentTotal.discriminator + 1,
|
|
1369
1276
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDepositWithdrawalCap.discriminator, reserveConfig.depositWithdrawalCap.currentTotal.toNumber()),
|
|
1370
1277
|
});
|
|
1371
1278
|
}
|
|
@@ -1373,21 +1280,17 @@ function handleConfigUpdate(key, reserve, reserveConfig, updateReserveIxnsArgs)
|
|
|
1373
1280
|
case 'debtWithdrawalCap':
|
|
1374
1281
|
if (reserve === undefined) {
|
|
1375
1282
|
updateReserveIxnsArgs.push({
|
|
1376
|
-
mode: types_1.UpdateConfigMode.UpdateDebtWithdrawalCap.discriminator,
|
|
1283
|
+
mode: types_1.UpdateConfigMode.UpdateDebtWithdrawalCap.discriminator + 1,
|
|
1377
1284
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDebtWithdrawalCap.discriminator, [
|
|
1378
1285
|
reserveConfig.debtWithdrawalCap.configCapacity.toNumber(),
|
|
1379
1286
|
reserveConfig.debtWithdrawalCap.configIntervalLengthSeconds.toNumber(),
|
|
1380
1287
|
]),
|
|
1381
1288
|
});
|
|
1382
|
-
updateReserveIxnsArgs.push({
|
|
1383
|
-
mode: types_1.UpdateConfigMode.UpdateDebtWithdrawalCapCurrentTotal.discriminator,
|
|
1384
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDebtWithdrawalCap.discriminator, reserveConfig.debtWithdrawalCap.currentTotal.toNumber()),
|
|
1385
|
-
});
|
|
1386
1289
|
}
|
|
1387
1290
|
else if (!reserve.config.debtWithdrawalCap.configCapacity.eq(reserveConfig.debtWithdrawalCap.configCapacity) ||
|
|
1388
1291
|
!reserve.config.debtWithdrawalCap.configIntervalLengthSeconds.eq(reserveConfig.debtWithdrawalCap.configIntervalLengthSeconds)) {
|
|
1389
1292
|
updateReserveIxnsArgs.push({
|
|
1390
|
-
mode: types_1.UpdateConfigMode.UpdateDebtWithdrawalCap.discriminator,
|
|
1293
|
+
mode: types_1.UpdateConfigMode.UpdateDebtWithdrawalCap.discriminator + 1,
|
|
1391
1294
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDebtWithdrawalCap.discriminator, [
|
|
1392
1295
|
reserveConfig.debtWithdrawalCap.configCapacity.toNumber(),
|
|
1393
1296
|
reserveConfig.debtWithdrawalCap.configIntervalLengthSeconds.toNumber(),
|
|
@@ -1396,116 +1299,69 @@ function handleConfigUpdate(key, reserve, reserveConfig, updateReserveIxnsArgs)
|
|
|
1396
1299
|
}
|
|
1397
1300
|
else if (!reserve.config.debtWithdrawalCap.currentTotal.eq(reserveConfig.debtWithdrawalCap.currentTotal)) {
|
|
1398
1301
|
updateReserveIxnsArgs.push({
|
|
1399
|
-
mode: types_1.UpdateConfigMode.UpdateDebtWithdrawalCapCurrentTotal.discriminator,
|
|
1302
|
+
mode: types_1.UpdateConfigMode.UpdateDebtWithdrawalCapCurrentTotal.discriminator + 1,
|
|
1400
1303
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDebtWithdrawalCap.discriminator, reserveConfig.debtWithdrawalCap.currentTotal.toNumber()),
|
|
1401
1304
|
});
|
|
1402
1305
|
}
|
|
1403
1306
|
break;
|
|
1404
1307
|
case 'elevationGroups':
|
|
1405
|
-
if (reserve === undefined
|
|
1308
|
+
if (reserve === undefined ||
|
|
1309
|
+
!(0, utils_2.sameLengthArrayEquals)(reserve.config.elevationGroups, reserveConfig.elevationGroups)) {
|
|
1406
1310
|
updateReserveIxnsArgs.push({
|
|
1407
|
-
mode: types_1.UpdateConfigMode.UpdateElevationGroup.discriminator,
|
|
1311
|
+
mode: types_1.UpdateConfigMode.UpdateElevationGroup.discriminator + 1,
|
|
1408
1312
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateElevationGroup.discriminator, reserveConfig.elevationGroups),
|
|
1409
1313
|
});
|
|
1410
1314
|
}
|
|
1411
|
-
else {
|
|
1412
|
-
for (let i = 0; i < reserveConfig.elevationGroups.length; i++) {
|
|
1413
|
-
if (reserve.config.elevationGroups[i] !== reserveConfig.elevationGroups[i]) {
|
|
1414
|
-
updateReserveIxnsArgs.push({
|
|
1415
|
-
mode: types_1.UpdateConfigMode.UpdateElevationGroup.discriminator,
|
|
1416
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateElevationGroup.discriminator, reserveConfig.elevationGroups),
|
|
1417
|
-
});
|
|
1418
|
-
break;
|
|
1419
|
-
}
|
|
1420
|
-
}
|
|
1421
|
-
}
|
|
1422
1315
|
break;
|
|
1423
1316
|
case 'disableUsageAsCollOutsideEmode':
|
|
1424
|
-
if (reserve === undefined
|
|
1317
|
+
if (reserve === undefined ||
|
|
1318
|
+
reserve.config.disableUsageAsCollOutsideEmode !== reserveConfig.disableUsageAsCollOutsideEmode) {
|
|
1425
1319
|
updateReserveIxnsArgs.push({
|
|
1426
|
-
mode: types_1.UpdateConfigMode.UpdateDisableUsageAsCollateralOutsideEmode.discriminator,
|
|
1427
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDisableUsageAsCollateralOutsideEmode.discriminator, reserveConfig.disableUsageAsCollOutsideEmode),
|
|
1428
|
-
});
|
|
1429
|
-
}
|
|
1430
|
-
else if (reserve.config.disableUsageAsCollOutsideEmode !== reserveConfig.disableUsageAsCollOutsideEmode) {
|
|
1431
|
-
updateReserveIxnsArgs.push({
|
|
1432
|
-
mode: types_1.UpdateConfigMode.UpdateDisableUsageAsCollateralOutsideEmode.discriminator,
|
|
1320
|
+
mode: types_1.UpdateConfigMode.UpdateDisableUsageAsCollateralOutsideEmode.discriminator + 1,
|
|
1433
1321
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDisableUsageAsCollateralOutsideEmode.discriminator, reserveConfig.disableUsageAsCollOutsideEmode),
|
|
1434
1322
|
});
|
|
1435
1323
|
}
|
|
1436
1324
|
break;
|
|
1437
1325
|
case 'utilizationLimitBlockBorrowingAbovePct':
|
|
1438
|
-
if (reserve === undefined
|
|
1326
|
+
if (reserve === undefined ||
|
|
1327
|
+
reserve.config.utilizationLimitBlockBorrowingAbovePct !== reserveConfig.utilizationLimitBlockBorrowingAbovePct) {
|
|
1439
1328
|
updateReserveIxnsArgs.push({
|
|
1440
|
-
mode: types_1.UpdateConfigMode.UpdateBlockBorrowingAboveUtilizationPct.discriminator,
|
|
1441
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBlockBorrowingAboveUtilizationPct.discriminator, reserveConfig.utilizationLimitBlockBorrowingAbovePct),
|
|
1442
|
-
});
|
|
1443
|
-
}
|
|
1444
|
-
else if (reserve.config.utilizationLimitBlockBorrowingAbovePct !== reserveConfig.utilizationLimitBlockBorrowingAbovePct) {
|
|
1445
|
-
updateReserveIxnsArgs.push({
|
|
1446
|
-
mode: types_1.UpdateConfigMode.UpdateBlockBorrowingAboveUtilizationPct.discriminator,
|
|
1329
|
+
mode: types_1.UpdateConfigMode.UpdateBlockBorrowingAboveUtilizationPct.discriminator + 1,
|
|
1447
1330
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBlockBorrowingAboveUtilizationPct.discriminator, reserveConfig.utilizationLimitBlockBorrowingAbovePct),
|
|
1448
1331
|
});
|
|
1449
1332
|
}
|
|
1450
1333
|
break;
|
|
1451
1334
|
case 'autodeleverageEnabled':
|
|
1452
|
-
if (reserve === undefined) {
|
|
1335
|
+
if (reserve === undefined || reserve.config.autodeleverageEnabled !== reserveConfig.autodeleverageEnabled) {
|
|
1453
1336
|
updateReserveIxnsArgs.push({
|
|
1454
|
-
mode: types_1.UpdateConfigMode.UpdateAutodeleverageEnabled.discriminator,
|
|
1455
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateAutodeleverageEnabled.discriminator, reserveConfig.autodeleverageEnabled),
|
|
1456
|
-
});
|
|
1457
|
-
}
|
|
1458
|
-
else if (reserve.config.autodeleverageEnabled !== reserveConfig.autodeleverageEnabled) {
|
|
1459
|
-
updateReserveIxnsArgs.push({
|
|
1460
|
-
mode: types_1.UpdateConfigMode.UpdateAutodeleverageEnabled.discriminator,
|
|
1337
|
+
mode: types_1.UpdateConfigMode.UpdateAutodeleverageEnabled.discriminator + 1,
|
|
1461
1338
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateAutodeleverageEnabled.discriminator, reserveConfig.autodeleverageEnabled),
|
|
1462
1339
|
});
|
|
1463
1340
|
}
|
|
1464
1341
|
break;
|
|
1465
1342
|
case 'borrowLimitOutsideElevationGroup':
|
|
1466
|
-
if (reserve === undefined
|
|
1343
|
+
if (reserve === undefined ||
|
|
1344
|
+
!reserve.config.borrowLimitOutsideElevationGroup.eq(reserveConfig.borrowLimitOutsideElevationGroup)) {
|
|
1467
1345
|
updateReserveIxnsArgs.push({
|
|
1468
|
-
mode: types_1.UpdateConfigMode.UpdateBorrowLimitOutsideElevationGroup.discriminator,
|
|
1346
|
+
mode: types_1.UpdateConfigMode.UpdateBorrowLimitOutsideElevationGroup.discriminator + 1,
|
|
1469
1347
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBorrowLimitOutsideElevationGroup.discriminator, reserveConfig.borrowLimitOutsideElevationGroup.toNumber()),
|
|
1470
1348
|
});
|
|
1471
1349
|
}
|
|
1472
|
-
else if (!reserve.config.borrowLimitOutsideElevationGroup.eq(reserveConfig.borrowLimitOutsideElevationGroup)) {
|
|
1473
|
-
updateReserveIxnsArgs.push({
|
|
1474
|
-
mode: types_1.UpdateConfigMode.UpdateBorrowLimitOutsideElevationGroup.discriminator,
|
|
1475
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBorrowLimitOutsideElevationGroup.discriminator, BigInt(reserveConfig.borrowLimitOutsideElevationGroup.toString())),
|
|
1476
|
-
});
|
|
1477
|
-
}
|
|
1478
1350
|
break;
|
|
1479
1351
|
case 'borrowLimitAgainstThisCollateralInElevationGroup':
|
|
1480
|
-
if (reserve === undefined
|
|
1352
|
+
if (reserve === undefined ||
|
|
1353
|
+
!(0, utils_2.sameLengthArrayEquals)(reserve.config.borrowLimitAgainstThisCollateralInElevationGroup, reserveConfig.borrowLimitAgainstThisCollateralInElevationGroup)) {
|
|
1481
1354
|
updateReserveIxnsArgs.push({
|
|
1482
|
-
mode: types_1.UpdateConfigMode.UpdateBorrowLimitsInElevationGroupAgainstThisReserve.discriminator,
|
|
1355
|
+
mode: types_1.UpdateConfigMode.UpdateBorrowLimitsInElevationGroupAgainstThisReserve.discriminator + 1,
|
|
1483
1356
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBorrowLimitsInElevationGroupAgainstThisReserve.discriminator, reserveConfig.borrowLimitAgainstThisCollateralInElevationGroup.map((borrowLimit) => borrowLimit.toNumber())),
|
|
1484
1357
|
});
|
|
1485
1358
|
}
|
|
1486
|
-
else {
|
|
1487
|
-
for (let i = 0; i < reserveConfig.borrowLimitAgainstThisCollateralInElevationGroup.length; i++) {
|
|
1488
|
-
if (reserve.config.borrowLimitAgainstThisCollateralInElevationGroup[i] !==
|
|
1489
|
-
reserveConfig.borrowLimitAgainstThisCollateralInElevationGroup[i]) {
|
|
1490
|
-
updateReserveIxnsArgs.push({
|
|
1491
|
-
mode: types_1.UpdateConfigMode.UpdateBorrowLimitsInElevationGroupAgainstThisReserve.discriminator,
|
|
1492
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBorrowLimitsInElevationGroupAgainstThisReserve.discriminator, reserveConfig.borrowLimitAgainstThisCollateralInElevationGroup.map((borrowLimit) => borrowLimit.toNumber())),
|
|
1493
|
-
});
|
|
1494
|
-
}
|
|
1495
|
-
}
|
|
1496
|
-
}
|
|
1497
1359
|
break;
|
|
1498
1360
|
case 'deleveragingBonusIncreaseBpsPerDay':
|
|
1499
|
-
if (reserve === undefined
|
|
1500
|
-
|
|
1501
|
-
mode: types_1.UpdateConfigMode.UpdateDeleveragingBonusIncreaseBpsPerDay.discriminator,
|
|
1502
|
-
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDeleveragingBonusIncreaseBpsPerDay.discriminator, reserveConfig.deleveragingBonusIncreaseBpsPerDay.toNumber()),
|
|
1503
|
-
});
|
|
1504
|
-
}
|
|
1505
|
-
else if (reserve.config.deleveragingBonusIncreaseBpsPerDay.toNumber() !==
|
|
1506
|
-
reserveConfig.deleveragingBonusIncreaseBpsPerDay.toNumber()) {
|
|
1361
|
+
if (reserve === undefined ||
|
|
1362
|
+
!reserve.config.deleveragingBonusIncreaseBpsPerDay.eq(reserveConfig.deleveragingBonusIncreaseBpsPerDay)) {
|
|
1507
1363
|
updateReserveIxnsArgs.push({
|
|
1508
|
-
mode: types_1.UpdateConfigMode.UpdateDeleveragingBonusIncreaseBpsPerDay.discriminator,
|
|
1364
|
+
mode: types_1.UpdateConfigMode.UpdateDeleveragingBonusIncreaseBpsPerDay.discriminator + 1,
|
|
1509
1365
|
value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDeleveragingBonusIncreaseBpsPerDay.discriminator, reserveConfig.deleveragingBonusIncreaseBpsPerDay.toNumber()),
|
|
1510
1366
|
});
|
|
1511
1367
|
}
|
|
@@ -1533,7 +1389,7 @@ function updateEntireReserveConfigIx(marketWithAddress, reserveAddress, reserveC
|
|
|
1533
1389
|
return ix;
|
|
1534
1390
|
}
|
|
1535
1391
|
function parseForChangesReserveConfigAndGetIxs(marketWithAddress, reserve, reserveAddress, reserveConfig, programId) {
|
|
1536
|
-
|
|
1392
|
+
let updateReserveIxnsArgs = [];
|
|
1537
1393
|
for (const key in reserveConfig.toEncodable()) {
|
|
1538
1394
|
if (isExcludedReserveConfigKey(key)) {
|
|
1539
1395
|
continue;
|
|
@@ -1541,8 +1397,13 @@ function parseForChangesReserveConfigAndGetIxs(marketWithAddress, reserve, reser
|
|
|
1541
1397
|
handleConfigUpdate(key, reserve, reserveConfig, updateReserveIxnsArgs);
|
|
1542
1398
|
}
|
|
1543
1399
|
const ixns = [];
|
|
1400
|
+
updateReserveIxnsArgs = (0, exports.sortIxnsByPriority)(updateReserveIxnsArgs);
|
|
1544
1401
|
updateReserveIxnsArgs.forEach((updateReserveConfigArgs) => {
|
|
1545
|
-
|
|
1402
|
+
let skipValidation = false;
|
|
1403
|
+
if ((0, exports.modeMatches)(updateReserveConfigArgs.mode)) {
|
|
1404
|
+
skipValidation = true;
|
|
1405
|
+
}
|
|
1406
|
+
ixns.push(updateReserveConfigIx(marketWithAddress, reserveAddress, updateReserveConfigArgs.mode, updateReserveConfigArgs.value, programId, skipValidation));
|
|
1546
1407
|
});
|
|
1547
1408
|
return ixns;
|
|
1548
1409
|
}
|
|
@@ -1590,9 +1451,14 @@ function updateReserveConfigEncodedValue(discriminator, value) {
|
|
|
1590
1451
|
case types_1.UpdateConfigMode.UpdateDepositLimit.discriminator:
|
|
1591
1452
|
case types_1.UpdateConfigMode.UpdateBorrowLimit.discriminator:
|
|
1592
1453
|
case types_1.UpdateConfigMode.UpdateBorrowLimitOutsideElevationGroup.discriminator:
|
|
1593
|
-
value = value;
|
|
1594
1454
|
buffer = Buffer.alloc(8);
|
|
1595
|
-
|
|
1455
|
+
// Convert value to BigInt if it's not already
|
|
1456
|
+
const bigIntValue = typeof value === 'bigint' ? value : BigInt(value.toString());
|
|
1457
|
+
// Split into two 32-bit values
|
|
1458
|
+
const low = Number(bigIntValue & BigInt(0xffffffff));
|
|
1459
|
+
const high = Number(bigIntValue >> BigInt(32));
|
|
1460
|
+
buffer.writeUInt32LE(low, 0);
|
|
1461
|
+
buffer.writeUInt32LE(high, 4);
|
|
1596
1462
|
break;
|
|
1597
1463
|
case types_1.UpdateConfigMode.UpdateTokenInfoScopeChain.discriminator:
|
|
1598
1464
|
case types_1.UpdateConfigMode.UpdateTokenInfoScopeTwap.discriminator:
|
|
@@ -1647,12 +1513,41 @@ function updateReserveConfigEncodedValue(discriminator, value) {
|
|
|
1647
1513
|
return Uint8Array.from([...buffer]);
|
|
1648
1514
|
}
|
|
1649
1515
|
function serializeBorrowRateCurve(curve) {
|
|
1650
|
-
const buffer = Buffer.alloc(
|
|
1516
|
+
const buffer = Buffer.alloc(8 * curve.points.length);
|
|
1651
1517
|
buffer.writeUInt32LE(curve.points.length, 0);
|
|
1652
1518
|
for (let i = 0; i < curve.points.length; i++) {
|
|
1653
|
-
buffer.writeUInt32LE(curve.points[i].utilizationRateBps,
|
|
1654
|
-
buffer.writeUInt32LE(curve.points[i].borrowRateBps,
|
|
1519
|
+
buffer.writeUInt32LE(curve.points[i].utilizationRateBps, 8 * i);
|
|
1520
|
+
buffer.writeUInt32LE(curve.points[i].borrowRateBps, 4 + 8 * i);
|
|
1655
1521
|
}
|
|
1656
1522
|
return buffer;
|
|
1657
1523
|
}
|
|
1524
|
+
const modeMatches = (mode) => {
|
|
1525
|
+
const validModes = [
|
|
1526
|
+
types_1.UpdateConfigMode.UpdateScopePriceFeed.discriminator + 1,
|
|
1527
|
+
types_1.UpdateConfigMode.UpdateTokenInfoScopeChain.discriminator + 1,
|
|
1528
|
+
types_1.UpdateConfigMode.UpdateTokenInfoScopeTwap.discriminator + 1,
|
|
1529
|
+
types_1.UpdateConfigMode.UpdateTokenInfoExpHeuristic.discriminator + 1,
|
|
1530
|
+
types_1.UpdateConfigMode.UpdateTokenInfoTwapDivergence.discriminator + 1,
|
|
1531
|
+
types_1.UpdateConfigMode.UpdateTokenInfoPriceMaxAge.discriminator + 1,
|
|
1532
|
+
types_1.UpdateConfigMode.UpdateTokenInfoTwapMaxAge.discriminator + 1,
|
|
1533
|
+
];
|
|
1534
|
+
return validModes.includes(mode);
|
|
1535
|
+
};
|
|
1536
|
+
exports.modeMatches = modeMatches;
|
|
1537
|
+
// Sort update reserve ixns, to first have the oracle config updates first
|
|
1538
|
+
// In order to skip the validation for the scope config updates
|
|
1539
|
+
const sortIxnsByPriority = (updateReserveIxnsArgs) => {
|
|
1540
|
+
return updateReserveIxnsArgs.sort((a, b) => {
|
|
1541
|
+
const isPriorityA = a.mode === 20 || a.mode === 16;
|
|
1542
|
+
const isPriorityB = b.mode === 20 || b.mode === 16;
|
|
1543
|
+
if (isPriorityA && !isPriorityB) {
|
|
1544
|
+
return -1;
|
|
1545
|
+
}
|
|
1546
|
+
if (isPriorityB && !isPriorityA) {
|
|
1547
|
+
return 1;
|
|
1548
|
+
}
|
|
1549
|
+
return 0;
|
|
1550
|
+
});
|
|
1551
|
+
};
|
|
1552
|
+
exports.sortIxnsByPriority = sortIxnsByPriority;
|
|
1658
1553
|
//# sourceMappingURL=reserve.js.map
|