@kamino-finance/klend-sdk 5.11.18 → 5.12.1

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.
Files changed (112) hide show
  1. package/dist/classes/action.d.ts +9 -1
  2. package/dist/classes/action.d.ts.map +1 -1
  3. package/dist/classes/action.js +15 -1
  4. package/dist/classes/action.js.map +1 -1
  5. package/dist/classes/fraction.d.ts +6 -5
  6. package/dist/classes/fraction.d.ts.map +1 -1
  7. package/dist/classes/fraction.js +13 -8
  8. package/dist/classes/fraction.js.map +1 -1
  9. package/dist/classes/manager.d.ts +3 -2
  10. package/dist/classes/manager.d.ts.map +1 -1
  11. package/dist/classes/manager.js +13 -2
  12. package/dist/classes/manager.js.map +1 -1
  13. package/dist/classes/obligation.d.ts +54 -1
  14. package/dist/classes/obligation.d.ts.map +1 -1
  15. package/dist/classes/obligation.js +47 -1
  16. package/dist/classes/obligation.js.map +1 -1
  17. package/dist/classes/obligationOrder.d.ts +206 -0
  18. package/dist/classes/obligationOrder.d.ts.map +1 -0
  19. package/dist/classes/obligationOrder.js +359 -0
  20. package/dist/classes/obligationOrder.js.map +1 -0
  21. package/dist/classes/reserve.d.ts +5 -5
  22. package/dist/classes/reserve.d.ts.map +1 -1
  23. package/dist/classes/reserve.js +80 -264
  24. package/dist/classes/reserve.js.map +1 -1
  25. package/dist/classes/types.d.ts +14 -1
  26. package/dist/classes/types.d.ts.map +1 -1
  27. package/dist/classes/utils.d.ts +9 -0
  28. package/dist/classes/utils.d.ts.map +1 -1
  29. package/dist/classes/utils.js +21 -0
  30. package/dist/classes/utils.js.map +1 -1
  31. package/dist/classes/vault.d.ts +2 -1
  32. package/dist/classes/vault.d.ts.map +1 -1
  33. package/dist/classes/vault.js +4 -2
  34. package/dist/classes/vault.js.map +1 -1
  35. package/dist/client_kamino_manager.js +6 -6
  36. package/dist/client_kamino_manager.js.map +1 -1
  37. package/dist/idl.json +244 -23
  38. package/dist/idl_codegen/accounts/LendingMarket.d.ts +12 -6
  39. package/dist/idl_codegen/accounts/LendingMarket.d.ts.map +1 -1
  40. package/dist/idl_codegen/accounts/LendingMarket.js +15 -3
  41. package/dist/idl_codegen/accounts/LendingMarket.js.map +1 -1
  42. package/dist/idl_codegen/accounts/Obligation.d.ts +27 -6
  43. package/dist/idl_codegen/accounts/Obligation.d.ts.map +1 -1
  44. package/dist/idl_codegen/accounts/Obligation.js +26 -9
  45. package/dist/idl_codegen/accounts/Obligation.js.map +1 -1
  46. package/dist/idl_codegen/errors/custom.d.ts +36 -4
  47. package/dist/idl_codegen/errors/custom.d.ts.map +1 -1
  48. package/dist/idl_codegen/errors/custom.js +64 -8
  49. package/dist/idl_codegen/errors/custom.js.map +1 -1
  50. package/dist/idl_codegen/instructions/index.d.ts +2 -0
  51. package/dist/idl_codegen/instructions/index.d.ts.map +1 -1
  52. package/dist/idl_codegen/instructions/index.js +3 -1
  53. package/dist/idl_codegen/instructions/index.js.map +1 -1
  54. package/dist/idl_codegen/instructions/setObligationOrder.d.ts +14 -0
  55. package/dist/idl_codegen/instructions/setObligationOrder.d.ts.map +1 -0
  56. package/dist/idl_codegen/instructions/setObligationOrder.js +62 -0
  57. package/dist/idl_codegen/instructions/setObligationOrder.js.map +1 -0
  58. package/dist/idl_codegen/types/ObligationOrder.d.ts +284 -0
  59. package/dist/idl_codegen/types/ObligationOrder.d.ts.map +1 -0
  60. package/dist/idl_codegen/types/ObligationOrder.js +205 -0
  61. package/dist/idl_codegen/types/ObligationOrder.js.map +1 -0
  62. package/dist/idl_codegen/types/ReserveConfig.d.ts +26 -11
  63. package/dist/idl_codegen/types/ReserveConfig.d.ts.map +1 -1
  64. package/dist/idl_codegen/types/ReserveConfig.js +15 -10
  65. package/dist/idl_codegen/types/ReserveConfig.js.map +1 -1
  66. package/dist/idl_codegen/types/UpdateConfigMode.d.ts +34 -21
  67. package/dist/idl_codegen/types/UpdateConfigMode.d.ts.map +1 -1
  68. package/dist/idl_codegen/types/UpdateConfigMode.js +58 -34
  69. package/dist/idl_codegen/types/UpdateConfigMode.js.map +1 -1
  70. package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts +13 -0
  71. package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts.map +1 -1
  72. package/dist/idl_codegen/types/UpdateLendingMarketMode.js +25 -1
  73. package/dist/idl_codegen/types/UpdateLendingMarketMode.js.map +1 -1
  74. package/dist/idl_codegen/types/index.d.ts +6 -4
  75. package/dist/idl_codegen/types/index.d.ts.map +1 -1
  76. package/dist/idl_codegen/types/index.js +3 -1
  77. package/dist/idl_codegen/types/index.js.map +1 -1
  78. package/dist/idl_codegen/zero_padding/ObligationZP.d.ts +13 -6
  79. package/dist/idl_codegen/zero_padding/ObligationZP.d.ts.map +1 -1
  80. package/dist/idl_codegen/zero_padding/ObligationZP.js +25 -11
  81. package/dist/idl_codegen/zero_padding/ObligationZP.js.map +1 -1
  82. package/dist/utils/instruction.d.ts +1 -1
  83. package/dist/utils/instruction.d.ts.map +1 -1
  84. package/dist/utils/instruction.js +5 -1
  85. package/dist/utils/instruction.js.map +1 -1
  86. package/dist/utils/managerTypes.js +2 -2
  87. package/dist/utils/managerTypes.js.map +1 -1
  88. package/package.json +1 -1
  89. package/src/classes/action.ts +26 -1
  90. package/src/classes/fraction.ts +16 -12
  91. package/src/classes/manager.ts +17 -2
  92. package/src/classes/obligation.ts +77 -1
  93. package/src/classes/obligationOrder.ts +514 -0
  94. package/src/classes/reserve.ts +257 -336
  95. package/src/classes/types.ts +15 -1
  96. package/src/classes/utils.ts +21 -0
  97. package/src/classes/vault.ts +5 -2
  98. package/src/client_kamino_manager.ts +6 -6
  99. package/src/idl.json +244 -23
  100. package/src/idl_codegen/accounts/LendingMarket.ts +23 -7
  101. package/src/idl_codegen/accounts/Obligation.ts +50 -13
  102. package/src/idl_codegen/errors/custom.ts +68 -6
  103. package/src/idl_codegen/instructions/index.ts +5 -0
  104. package/src/idl_codegen/instructions/setObligationOrder.ts +45 -0
  105. package/src/idl_codegen/types/ObligationOrder.ts +347 -0
  106. package/src/idl_codegen/types/ReserveConfig.ts +31 -16
  107. package/src/idl_codegen/types/UpdateConfigMode.ts +69 -39
  108. package/src/idl_codegen/types/UpdateLendingMarketMode.ts +30 -0
  109. package/src/idl_codegen/types/index.ts +15 -6
  110. package/src/idl_codegen/zero_padding/ObligationZP.ts +37 -15
  111. package/src/utils/instruction.ts +5 -1
  112. package/src/utils/managerTypes.ts +2 -2
@@ -56,7 +56,6 @@ const bn_js_1 = __importDefault(require("bn.js"));
56
56
  const lib_1 = require("../lib");
57
57
  const anchor = __importStar(require("@coral-xyz/anchor"));
58
58
  const spl_token_1 = require("@solana/spl-token");
59
- const UpdateConfigMode_1 = require("../idl_codegen/types/UpdateConfigMode");
60
59
  const kliquidity_sdk_1 = require("@kamino-finance/kliquidity-sdk");
61
60
  const farms_sdk_1 = require("@kamino-finance/farms-sdk");
62
61
  exports.DEFAULT_RECENT_SLOT_DURATION_MS = 450;
@@ -934,134 +933,93 @@ function updateReserveConfigIx(marketWithAddress, reserveAddress, modeDiscrimina
934
933
  const ix = (0, lib_1.updateReserveConfig)(args, accounts, programId);
935
934
  return ix;
936
935
  }
937
- const EXCLUDED_RESERVE_CONFIG_KEYS = ['reserved1', 'reserved2', 'reserved3'];
936
+ const EXCLUDED_RESERVE_CONFIG_KEYS = ['reserved1', 'reserved2'];
938
937
  function isExcludedReserveConfigKey(value) {
939
938
  return EXCLUDED_RESERVE_CONFIG_KEYS.includes(value);
940
939
  }
941
940
  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
944
941
  switch (key) {
945
942
  case 'status':
946
943
  if (reserve === undefined || reserve.config.status !== reserveConfig.status) {
947
- updateReserveIxnsArgs.push({
948
- mode: types_1.UpdateConfigMode.UpdateReserveStatus.discriminator + 1,
949
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateReserveStatus.discriminator, reserveConfig.status),
950
- });
944
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateReserveStatus.discriminator, reserveConfig.status));
951
945
  }
952
946
  break;
953
947
  case 'assetTier':
954
948
  if (reserve === undefined || reserve.config.assetTier !== reserveConfig.assetTier) {
955
- updateReserveIxnsArgs.push({
956
- mode: types_1.UpdateConfigMode.UpdateAssetTier.discriminator + 1,
957
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateAssetTier.discriminator, reserveConfig.assetTier),
958
- });
949
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateAssetTier.discriminator, reserveConfig.assetTier));
959
950
  }
960
951
  break;
961
952
  case 'hostFixedInterestRateBps':
962
953
  if (reserve === undefined || reserve.config.hostFixedInterestRateBps !== reserveConfig.hostFixedInterestRateBps) {
963
- updateReserveIxnsArgs.push({
964
- mode: types_1.UpdateConfigMode.UpdateHostFixedInterestRateBps.discriminator + 1,
965
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateHostFixedInterestRateBps.discriminator, reserveConfig.hostFixedInterestRateBps),
966
- });
954
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateHostFixedInterestRateBps.discriminator, reserveConfig.hostFixedInterestRateBps));
967
955
  }
968
956
  break;
969
957
  case 'protocolTakeRatePct':
970
958
  if (reserve === undefined || reserve.config.protocolTakeRatePct !== reserveConfig.protocolTakeRatePct) {
971
- updateReserveIxnsArgs.push({
972
- mode: types_1.UpdateConfigMode.UpdateProtocolTakeRate.discriminator + 1,
973
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateProtocolTakeRate.discriminator, reserveConfig.protocolTakeRatePct),
974
- });
959
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateProtocolTakeRate.discriminator, reserveConfig.protocolTakeRatePct));
975
960
  }
976
961
  break;
977
962
  case 'protocolLiquidationFeePct':
978
963
  if (reserve === undefined ||
979
964
  reserve.config.protocolLiquidationFeePct !== reserveConfig.protocolLiquidationFeePct) {
980
- updateReserveIxnsArgs.push({
981
- mode: types_1.UpdateConfigMode.UpdateProtocolLiquidationFee.discriminator + 1,
982
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateProtocolLiquidationFee.discriminator, reserveConfig.protocolLiquidationFeePct),
983
- });
965
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateProtocolLiquidationFee.discriminator, reserveConfig.protocolLiquidationFeePct));
966
+ }
967
+ break;
968
+ case 'protocolOrderExecutionFeePct':
969
+ if (reserve === undefined ||
970
+ reserve.config.protocolOrderExecutionFeePct !== reserveConfig.protocolOrderExecutionFeePct) {
971
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateProtocolOrderExecutionFee.discriminator, reserveConfig.protocolOrderExecutionFeePct));
984
972
  }
985
973
  break;
986
974
  case 'loanToValuePct':
987
975
  if (reserve === undefined || reserve.config.loanToValuePct !== reserveConfig.loanToValuePct) {
988
- updateReserveIxnsArgs.push({
989
- mode: types_1.UpdateConfigMode.UpdateLoanToValuePct.discriminator + 1,
990
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateLoanToValuePct.discriminator, reserveConfig.loanToValuePct),
991
- });
976
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateLoanToValuePct.discriminator, reserveConfig.loanToValuePct));
992
977
  }
993
978
  break;
994
979
  case 'liquidationThresholdPct':
995
980
  if (reserve === undefined || reserve.config.liquidationThresholdPct !== reserveConfig.liquidationThresholdPct) {
996
- updateReserveIxnsArgs.push({
997
- mode: types_1.UpdateConfigMode.UpdateLiquidationThresholdPct.discriminator + 1,
998
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateLiquidationThresholdPct.discriminator, reserveConfig.liquidationThresholdPct),
999
- });
981
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateLiquidationThresholdPct.discriminator, reserveConfig.liquidationThresholdPct));
1000
982
  }
1001
983
  break;
1002
984
  case 'minLiquidationBonusBps':
1003
985
  if (reserve === undefined || reserve.config.minLiquidationBonusBps !== reserveConfig.minLiquidationBonusBps) {
1004
- updateReserveIxnsArgs.push({
1005
- mode: types_1.UpdateConfigMode.UpdateMinLiquidationBonusBps.discriminator + 1,
1006
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateMinLiquidationBonusBps.discriminator, reserveConfig.minLiquidationBonusBps),
1007
- });
986
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateMinLiquidationBonusBps.discriminator, reserveConfig.minLiquidationBonusBps));
1008
987
  }
1009
988
  break;
1010
989
  case 'maxLiquidationBonusBps':
1011
990
  if (reserve === undefined || reserve.config.maxLiquidationBonusBps !== reserveConfig.maxLiquidationBonusBps) {
1012
- updateReserveIxnsArgs.push({
1013
- mode: types_1.UpdateConfigMode.UpdateMaxLiquidationBonusBps.discriminator + 1,
1014
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateMaxLiquidationBonusBps.discriminator, reserveConfig.maxLiquidationBonusBps),
1015
- });
991
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateMaxLiquidationBonusBps.discriminator, reserveConfig.maxLiquidationBonusBps));
1016
992
  }
1017
993
  break;
1018
994
  case 'badDebtLiquidationBonusBps':
1019
995
  if (reserve === undefined ||
1020
996
  reserve.config.badDebtLiquidationBonusBps !== reserveConfig.badDebtLiquidationBonusBps) {
1021
- updateReserveIxnsArgs.push({
1022
- mode: types_1.UpdateConfigMode.UpdateBadDebtLiquidationBonusBps.discriminator + 1,
1023
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBadDebtLiquidationBonusBps.discriminator, reserveConfig.badDebtLiquidationBonusBps),
1024
- });
997
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateBadDebtLiquidationBonusBps.discriminator, reserveConfig.badDebtLiquidationBonusBps));
1025
998
  }
1026
999
  break;
1027
1000
  case 'deleveragingMarginCallPeriodSecs':
1028
1001
  if (reserve === undefined ||
1029
1002
  !reserve.config.deleveragingMarginCallPeriodSecs.eq(reserveConfig.deleveragingMarginCallPeriodSecs)) {
1030
- updateReserveIxnsArgs.push({
1031
- mode: types_1.UpdateConfigMode.UpdateDeleveragingMarginCallPeriod.discriminator + 1,
1032
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDeleveragingMarginCallPeriod.discriminator, reserveConfig.deleveragingMarginCallPeriodSecs.toNumber()),
1033
- });
1003
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateDeleveragingMarginCallPeriod.discriminator, reserveConfig.deleveragingMarginCallPeriodSecs.toNumber()));
1034
1004
  }
1035
1005
  break;
1036
1006
  case 'deleveragingThresholdDecreaseBpsPerDay':
1037
1007
  if (reserve === undefined ||
1038
1008
  !reserve.config.deleveragingThresholdDecreaseBpsPerDay.eq(reserveConfig.deleveragingThresholdDecreaseBpsPerDay)) {
1039
- updateReserveIxnsArgs.push({
1040
- mode: types_1.UpdateConfigMode.UpdateDeleveragingThresholdDecreaseBpsPerDay.discriminator + 1,
1041
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDeleveragingThresholdDecreaseBpsPerDay.discriminator, reserveConfig.deleveragingThresholdDecreaseBpsPerDay.toNumber()),
1042
- });
1009
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateDeleveragingThresholdDecreaseBpsPerDay.discriminator, reserveConfig.deleveragingThresholdDecreaseBpsPerDay.toNumber()));
1043
1010
  }
1044
1011
  break;
1045
1012
  case 'fees':
1046
1013
  if (reserve === undefined || !reserve.config.fees.borrowFeeSf.eq(reserveConfig.fees.borrowFeeSf)) {
1047
- updateReserveIxnsArgs.push({
1048
- mode: types_1.UpdateConfigMode.UpdateFeesBorrowFee.discriminator + 1,
1049
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateFeesBorrowFee.discriminator, reserveConfig.fees.borrowFeeSf.toNumber()),
1050
- });
1014
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateFeesBorrowFee.discriminator, reserveConfig.fees.borrowFeeSf.toNumber()));
1051
1015
  }
1052
1016
  if (reserve === undefined || !reserve.config.fees.flashLoanFeeSf.eq(reserveConfig.fees.flashLoanFeeSf)) {
1053
- updateReserveIxnsArgs.push({
1054
- mode: types_1.UpdateConfigMode.UpdateFeesFlashLoanFee.discriminator + 1,
1055
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateFeesFlashLoanFee.discriminator, reserveConfig.fees.flashLoanFeeSf.toNumber()),
1056
- });
1017
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateFeesFlashLoanFee.discriminator, reserveConfig.fees.flashLoanFeeSf.toNumber()));
1057
1018
  }
1058
1019
  break;
1059
1020
  case 'borrowRateCurve':
1060
1021
  if (reserve === undefined) {
1061
- updateReserveIxnsArgs.push({
1062
- mode: UpdateConfigMode_1.UpdateBorrowRateCurve.discriminator + 1,
1063
- value: updateReserveConfigEncodedValue(UpdateConfigMode_1.UpdateBorrowRateCurve.discriminator, reserveConfig.borrowRateCurve),
1064
- });
1022
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateBorrowRateCurve.discriminator, reserveConfig.borrowRateCurve));
1065
1023
  }
1066
1024
  else {
1067
1025
  let shouldBorrowCurveBeUpdated = false;
@@ -1075,301 +1033,161 @@ function handleConfigUpdate(key, reserve, reserveConfig, updateReserveIxnsArgs)
1075
1033
  }
1076
1034
  }
1077
1035
  if (shouldBorrowCurveBeUpdated) {
1078
- updateReserveIxnsArgs.push({
1079
- mode: UpdateConfigMode_1.UpdateBorrowRateCurve.discriminator + 1,
1080
- value: updateReserveConfigEncodedValue(UpdateConfigMode_1.UpdateBorrowRateCurve.discriminator, reserveConfig.borrowRateCurve),
1081
- });
1036
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateBorrowRateCurve.discriminator, reserveConfig.borrowRateCurve));
1082
1037
  break;
1083
1038
  }
1084
1039
  }
1085
1040
  break;
1086
1041
  case 'borrowFactorPct':
1087
1042
  if (reserve === undefined || !reserve.config.borrowFactorPct.eq(reserveConfig.borrowFactorPct)) {
1088
- updateReserveIxnsArgs.push({
1089
- mode: types_1.UpdateConfigMode.UpdateBorrowFactor.discriminator + 1,
1090
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBorrowFactor.discriminator, reserveConfig.borrowFactorPct.toNumber()),
1091
- });
1043
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateBorrowFactor.discriminator, reserveConfig.borrowFactorPct.toNumber()));
1092
1044
  }
1093
1045
  break;
1094
1046
  case 'depositLimit':
1095
1047
  if (reserve === undefined || !reserve.config.depositLimit.eq(reserveConfig.depositLimit)) {
1096
- updateReserveIxnsArgs.push({
1097
- mode: types_1.UpdateConfigMode.UpdateDepositLimit.discriminator + 1,
1098
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDepositLimit.discriminator, BigInt(reserveConfig.depositLimit.toString())),
1099
- });
1048
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateDepositLimit.discriminator, BigInt(reserveConfig.depositLimit.toString())));
1100
1049
  }
1101
1050
  break;
1102
1051
  case 'borrowLimit':
1103
1052
  if (reserve === undefined || !reserve.config.borrowLimit.eq(reserveConfig.borrowLimit)) {
1104
- updateReserveIxnsArgs.push({
1105
- mode: types_1.UpdateConfigMode.UpdateBorrowLimit.discriminator + 1,
1106
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBorrowLimit.discriminator, BigInt(reserveConfig.borrowLimit.toString())),
1107
- });
1053
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateBorrowLimit.discriminator, BigInt(reserveConfig.borrowLimit.toString())));
1108
1054
  }
1109
1055
  break;
1110
1056
  case 'tokenInfo':
1111
1057
  const tokenInfo = reserveConfig.tokenInfo;
1112
1058
  if (reserve === undefined) {
1113
- updateReserveIxnsArgs.push({
1114
- mode: types_1.UpdateConfigMode.UpdateTokenInfoName.discriminator + 1,
1115
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoName.discriminator, tokenInfo.name),
1116
- });
1117
- updateReserveIxnsArgs.push({
1118
- mode: types_1.UpdateConfigMode.UpdateTokenInfoLowerHeuristic.discriminator + 1,
1119
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoLowerHeuristic.discriminator, tokenInfo.heuristic.lower.toNumber()),
1120
- });
1121
- updateReserveIxnsArgs.push({
1122
- mode: types_1.UpdateConfigMode.UpdateTokenInfoUpperHeuristic.discriminator + 1,
1123
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoUpperHeuristic.discriminator, tokenInfo.heuristic.upper.toNumber()),
1124
- });
1125
- updateReserveIxnsArgs.push({
1126
- mode: types_1.UpdateConfigMode.UpdateTokenInfoExpHeuristic.discriminator + 1,
1127
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoExpHeuristic.discriminator, tokenInfo.heuristic.exp.toNumber()),
1128
- });
1129
- updateReserveIxnsArgs.push({
1130
- mode: types_1.UpdateConfigMode.UpdateTokenInfoTwapDivergence.discriminator + 1,
1131
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoTwapDivergence.discriminator, tokenInfo.maxTwapDivergenceBps.toNumber()),
1132
- });
1133
- updateReserveIxnsArgs.push({
1134
- mode: types_1.UpdateConfigMode.UpdateTokenInfoPriceMaxAge.discriminator + 1,
1135
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoPriceMaxAge.discriminator, tokenInfo.maxAgePriceSeconds.toNumber()),
1136
- });
1137
- updateReserveIxnsArgs.push({
1138
- mode: types_1.UpdateConfigMode.UpdateTokenInfoTwapMaxAge.discriminator + 1,
1139
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoTwapMaxAge.discriminator, tokenInfo.maxAgeTwapSeconds.toNumber()),
1140
- });
1141
- updateReserveIxnsArgs.push({
1142
- mode: types_1.UpdateConfigMode.UpdateTokenInfoScopeChain.discriminator + 1,
1143
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoScopeChain.discriminator, tokenInfo.scopeConfiguration.priceChain),
1144
- });
1145
- updateReserveIxnsArgs.push({
1146
- mode: types_1.UpdateConfigMode.UpdateTokenInfoScopeTwap.discriminator + 1,
1147
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoScopeTwap.discriminator, tokenInfo.scopeConfiguration.twapChain),
1148
- });
1149
- updateReserveIxnsArgs.push({
1150
- mode: types_1.UpdateConfigMode.UpdateSwitchboardFeed.discriminator + 1,
1151
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateSwitchboardFeed.discriminator, tokenInfo.switchboardConfiguration.priceAggregator),
1152
- });
1153
- updateReserveIxnsArgs.push({
1154
- mode: types_1.UpdateConfigMode.UpdateSwitchboardTwapFeed.discriminator + 1,
1155
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateSwitchboardTwapFeed.discriminator, tokenInfo.switchboardConfiguration.twapAggregator),
1156
- });
1157
- updateReserveIxnsArgs.push({
1158
- mode: types_1.UpdateConfigMode.UpdatePythPrice.discriminator + 1,
1159
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdatePythPrice.discriminator, tokenInfo.pythConfiguration.price),
1160
- });
1161
- updateReserveIxnsArgs.push({
1162
- mode: types_1.UpdateConfigMode.UpdateBlockPriceUsage.discriminator + 1,
1163
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBlockPriceUsage.discriminator, tokenInfo.blockPriceUsage),
1164
- });
1059
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateTokenInfoName.discriminator, tokenInfo.name));
1060
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateTokenInfoLowerHeuristic.discriminator, tokenInfo.heuristic.lower.toNumber()));
1061
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateTokenInfoUpperHeuristic.discriminator, tokenInfo.heuristic.upper.toNumber()));
1062
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateTokenInfoExpHeuristic.discriminator, tokenInfo.heuristic.exp.toNumber()));
1063
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateTokenInfoTwapDivergence.discriminator, tokenInfo.maxTwapDivergenceBps.toNumber()));
1064
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateTokenInfoPriceMaxAge.discriminator, tokenInfo.maxAgePriceSeconds.toNumber()));
1065
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateTokenInfoTwapMaxAge.discriminator, tokenInfo.maxAgeTwapSeconds.toNumber()));
1066
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateTokenInfoScopeChain.discriminator, tokenInfo.scopeConfiguration.priceChain));
1067
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateTokenInfoScopeTwap.discriminator, tokenInfo.scopeConfiguration.twapChain));
1068
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateSwitchboardFeed.discriminator, tokenInfo.switchboardConfiguration.priceAggregator));
1069
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateSwitchboardTwapFeed.discriminator, tokenInfo.switchboardConfiguration.twapAggregator));
1070
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdatePythPrice.discriminator, tokenInfo.pythConfiguration.price));
1071
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateBlockPriceUsage.discriminator, tokenInfo.blockPriceUsage));
1165
1072
  }
1166
1073
  else {
1167
1074
  if (!(0, utils_2.sameLengthArrayEquals)(reserve.config.tokenInfo.name, tokenInfo.name)) {
1168
- updateReserveIxnsArgs.push({
1169
- mode: types_1.UpdateConfigMode.UpdateTokenInfoName.discriminator + 1,
1170
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoName.discriminator, tokenInfo.name),
1171
- });
1075
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateTokenInfoName.discriminator, tokenInfo.name));
1172
1076
  }
1173
1077
  if (!reserve.config.tokenInfo.heuristic.lower.eq(tokenInfo.heuristic.lower)) {
1174
- updateReserveIxnsArgs.push({
1175
- mode: types_1.UpdateConfigMode.UpdateTokenInfoLowerHeuristic.discriminator + 1,
1176
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoLowerHeuristic.discriminator, tokenInfo.heuristic.lower.toNumber()),
1177
- });
1078
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateTokenInfoLowerHeuristic.discriminator, tokenInfo.heuristic.lower.toNumber()));
1178
1079
  }
1179
1080
  if (!reserve.config.tokenInfo.heuristic.upper.eq(tokenInfo.heuristic.upper)) {
1180
- updateReserveIxnsArgs.push({
1181
- mode: types_1.UpdateConfigMode.UpdateTokenInfoUpperHeuristic.discriminator + 1,
1182
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoUpperHeuristic.discriminator, tokenInfo.heuristic.upper.toNumber()),
1183
- });
1081
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateTokenInfoUpperHeuristic.discriminator, tokenInfo.heuristic.upper.toNumber()));
1184
1082
  }
1185
1083
  if (!reserve.config.tokenInfo.heuristic.exp.eq(tokenInfo.heuristic.exp)) {
1186
- updateReserveIxnsArgs.push({
1187
- mode: types_1.UpdateConfigMode.UpdateTokenInfoExpHeuristic.discriminator + 1,
1188
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoExpHeuristic.discriminator, tokenInfo.heuristic.exp.toNumber()),
1189
- });
1084
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateTokenInfoExpHeuristic.discriminator, tokenInfo.heuristic.exp.toNumber()));
1190
1085
  }
1191
1086
  if (!reserve.config.tokenInfo.maxTwapDivergenceBps.eq(tokenInfo.maxTwapDivergenceBps)) {
1192
- updateReserveIxnsArgs.push({
1193
- mode: types_1.UpdateConfigMode.UpdateTokenInfoTwapDivergence.discriminator + 1,
1194
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoTwapDivergence.discriminator, tokenInfo.maxTwapDivergenceBps.toNumber()),
1195
- });
1087
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateTokenInfoTwapDivergence.discriminator, tokenInfo.maxTwapDivergenceBps.toNumber()));
1196
1088
  }
1197
1089
  if (!reserve.config.tokenInfo.maxAgePriceSeconds.eq(tokenInfo.maxAgePriceSeconds)) {
1198
- updateReserveIxnsArgs.push({
1199
- mode: types_1.UpdateConfigMode.UpdateTokenInfoPriceMaxAge.discriminator + 1,
1200
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoPriceMaxAge.discriminator, tokenInfo.maxAgePriceSeconds.toNumber()),
1201
- });
1090
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateTokenInfoPriceMaxAge.discriminator, tokenInfo.maxAgePriceSeconds.toNumber()));
1202
1091
  }
1203
1092
  if (!reserve.config.tokenInfo.maxAgeTwapSeconds.eq(tokenInfo.maxAgeTwapSeconds)) {
1204
- updateReserveIxnsArgs.push({
1205
- mode: types_1.UpdateConfigMode.UpdateTokenInfoTwapMaxAge.discriminator + 1,
1206
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoTwapMaxAge.discriminator, tokenInfo.maxAgeTwapSeconds.toNumber()),
1207
- });
1093
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateTokenInfoTwapMaxAge.discriminator, tokenInfo.maxAgeTwapSeconds.toNumber()));
1208
1094
  }
1209
1095
  if (!(0, utils_2.sameLengthArrayEquals)(reserve.config.tokenInfo.scopeConfiguration.priceChain, tokenInfo.scopeConfiguration.priceChain)) {
1210
- updateReserveIxnsArgs.push({
1211
- mode: types_1.UpdateConfigMode.UpdateTokenInfoScopeChain.discriminator + 1,
1212
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoScopeChain.discriminator, tokenInfo.scopeConfiguration.priceChain),
1213
- });
1096
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateTokenInfoScopeChain.discriminator, tokenInfo.scopeConfiguration.priceChain));
1214
1097
  }
1215
1098
  if (!(0, utils_2.sameLengthArrayEquals)(reserve.config.tokenInfo.scopeConfiguration.twapChain, tokenInfo.scopeConfiguration.twapChain)) {
1216
- updateReserveIxnsArgs.push({
1217
- mode: types_1.UpdateConfigMode.UpdateTokenInfoScopeTwap.discriminator + 1,
1218
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateTokenInfoScopeTwap.discriminator, tokenInfo.scopeConfiguration.twapChain),
1219
- });
1099
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateTokenInfoScopeTwap.discriminator, tokenInfo.scopeConfiguration.twapChain));
1220
1100
  }
1221
1101
  if (!reserve.config.tokenInfo.switchboardConfiguration.priceAggregator.equals(tokenInfo.switchboardConfiguration.priceAggregator)) {
1222
- updateReserveIxnsArgs.push({
1223
- mode: types_1.UpdateConfigMode.UpdateSwitchboardFeed.discriminator + 1,
1224
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateSwitchboardFeed.discriminator, tokenInfo.switchboardConfiguration.priceAggregator),
1225
- });
1102
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateSwitchboardFeed.discriminator, tokenInfo.switchboardConfiguration.priceAggregator));
1226
1103
  }
1227
1104
  if (!reserve.config.tokenInfo.switchboardConfiguration.twapAggregator.equals(tokenInfo.switchboardConfiguration.twapAggregator)) {
1228
- updateReserveIxnsArgs.push({
1229
- mode: types_1.UpdateConfigMode.UpdateSwitchboardTwapFeed.discriminator + 1,
1230
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateSwitchboardTwapFeed.discriminator, tokenInfo.switchboardConfiguration.twapAggregator),
1231
- });
1105
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateSwitchboardTwapFeed.discriminator, tokenInfo.switchboardConfiguration.twapAggregator));
1232
1106
  }
1233
1107
  if (!reserve.config.tokenInfo.pythConfiguration.price.equals(tokenInfo.pythConfiguration.price)) {
1234
- updateReserveIxnsArgs.push({
1235
- mode: types_1.UpdateConfigMode.UpdatePythPrice.discriminator + 1,
1236
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdatePythPrice.discriminator, tokenInfo.pythConfiguration.price),
1237
- });
1108
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdatePythPrice.discriminator, tokenInfo.pythConfiguration.price));
1238
1109
  }
1239
1110
  if (reserve.config.tokenInfo.blockPriceUsage !== tokenInfo.blockPriceUsage) {
1240
- updateReserveIxnsArgs.push({
1241
- mode: types_1.UpdateConfigMode.UpdateBlockPriceUsage.discriminator + 1,
1242
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBlockPriceUsage.discriminator, tokenInfo.blockPriceUsage),
1243
- });
1111
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateBlockPriceUsage.discriminator, tokenInfo.blockPriceUsage));
1244
1112
  }
1245
1113
  if (!reserve.config.tokenInfo.scopeConfiguration.priceFeed.equals(tokenInfo.scopeConfiguration.priceFeed)) {
1246
- updateReserveIxnsArgs.push({
1247
- mode: types_1.UpdateConfigMode.UpdateScopePriceFeed.discriminator + 1,
1248
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateScopePriceFeed.discriminator, tokenInfo.scopeConfiguration.priceFeed),
1249
- });
1114
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateScopePriceFeed.discriminator, tokenInfo.scopeConfiguration.priceFeed));
1250
1115
  }
1251
1116
  }
1252
1117
  break;
1253
1118
  case 'depositWithdrawalCap':
1254
- if (reserve === undefined) {
1255
- updateReserveIxnsArgs.push({
1256
- mode: types_1.UpdateConfigMode.UpdateDepositWithdrawalCap.discriminator + 1,
1257
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDepositWithdrawalCap.discriminator, [
1258
- reserveConfig.depositWithdrawalCap.configCapacity.toNumber(),
1259
- reserveConfig.depositWithdrawalCap.configIntervalLengthSeconds.toNumber(),
1260
- ]),
1261
- });
1262
- }
1263
- else if (!reserve.config.depositWithdrawalCap.configCapacity.eq(reserveConfig.depositWithdrawalCap.configCapacity) ||
1119
+ if (reserve === undefined ||
1120
+ !reserve.config.depositWithdrawalCap.configCapacity.eq(reserveConfig.depositWithdrawalCap.configCapacity) ||
1264
1121
  !reserve.config.depositWithdrawalCap.configIntervalLengthSeconds.eq(reserveConfig.depositWithdrawalCap.configIntervalLengthSeconds)) {
1265
- updateReserveIxnsArgs.push({
1266
- mode: types_1.UpdateConfigMode.UpdateDepositWithdrawalCap.discriminator + 1,
1267
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDepositWithdrawalCap.discriminator, [
1268
- reserveConfig.depositWithdrawalCap.configCapacity.toNumber(),
1269
- reserveConfig.depositWithdrawalCap.configIntervalLengthSeconds.toNumber(),
1270
- ]),
1271
- });
1272
- }
1273
- else if (!reserve.config.depositWithdrawalCap.currentTotal.eq(reserveConfig.depositWithdrawalCap.currentTotal)) {
1274
- updateReserveIxnsArgs.push({
1275
- mode: types_1.UpdateConfigMode.UpdateDepositWithdrawalCapCurrentTotal.discriminator + 1,
1276
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDepositWithdrawalCap.discriminator, reserveConfig.depositWithdrawalCap.currentTotal.toNumber()),
1277
- });
1122
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateDepositWithdrawalCap.discriminator, [
1123
+ reserveConfig.depositWithdrawalCap.configCapacity.toNumber(),
1124
+ reserveConfig.depositWithdrawalCap.configIntervalLengthSeconds.toNumber(),
1125
+ ]));
1278
1126
  }
1279
1127
  break;
1280
1128
  case 'debtWithdrawalCap':
1281
- if (reserve === undefined) {
1282
- updateReserveIxnsArgs.push({
1283
- mode: types_1.UpdateConfigMode.UpdateDebtWithdrawalCap.discriminator + 1,
1284
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDebtWithdrawalCap.discriminator, [
1285
- reserveConfig.debtWithdrawalCap.configCapacity.toNumber(),
1286
- reserveConfig.debtWithdrawalCap.configIntervalLengthSeconds.toNumber(),
1287
- ]),
1288
- });
1289
- }
1290
- else if (!reserve.config.debtWithdrawalCap.configCapacity.eq(reserveConfig.debtWithdrawalCap.configCapacity) ||
1129
+ if (reserve === undefined ||
1130
+ !reserve.config.debtWithdrawalCap.configCapacity.eq(reserveConfig.debtWithdrawalCap.configCapacity) ||
1291
1131
  !reserve.config.debtWithdrawalCap.configIntervalLengthSeconds.eq(reserveConfig.debtWithdrawalCap.configIntervalLengthSeconds)) {
1292
- updateReserveIxnsArgs.push({
1293
- mode: types_1.UpdateConfigMode.UpdateDebtWithdrawalCap.discriminator + 1,
1294
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDebtWithdrawalCap.discriminator, [
1295
- reserveConfig.debtWithdrawalCap.configCapacity.toNumber(),
1296
- reserveConfig.debtWithdrawalCap.configIntervalLengthSeconds.toNumber(),
1297
- ]),
1298
- });
1299
- }
1300
- else if (!reserve.config.debtWithdrawalCap.currentTotal.eq(reserveConfig.debtWithdrawalCap.currentTotal)) {
1301
- updateReserveIxnsArgs.push({
1302
- mode: types_1.UpdateConfigMode.UpdateDebtWithdrawalCapCurrentTotal.discriminator + 1,
1303
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDebtWithdrawalCap.discriminator, reserveConfig.debtWithdrawalCap.currentTotal.toNumber()),
1304
- });
1132
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateDebtWithdrawalCap.discriminator, [
1133
+ reserveConfig.debtWithdrawalCap.configCapacity.toNumber(),
1134
+ reserveConfig.debtWithdrawalCap.configIntervalLengthSeconds.toNumber(),
1135
+ ]));
1305
1136
  }
1306
1137
  break;
1307
1138
  case 'elevationGroups':
1308
1139
  if (reserve === undefined ||
1309
1140
  !(0, utils_2.sameLengthArrayEquals)(reserve.config.elevationGroups, reserveConfig.elevationGroups)) {
1310
- updateReserveIxnsArgs.push({
1311
- mode: types_1.UpdateConfigMode.UpdateElevationGroup.discriminator + 1,
1312
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateElevationGroup.discriminator, reserveConfig.elevationGroups),
1313
- });
1141
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateElevationGroup.discriminator, reserveConfig.elevationGroups));
1314
1142
  }
1315
1143
  break;
1316
1144
  case 'disableUsageAsCollOutsideEmode':
1317
1145
  if (reserve === undefined ||
1318
1146
  reserve.config.disableUsageAsCollOutsideEmode !== reserveConfig.disableUsageAsCollOutsideEmode) {
1319
- updateReserveIxnsArgs.push({
1320
- mode: types_1.UpdateConfigMode.UpdateDisableUsageAsCollateralOutsideEmode.discriminator + 1,
1321
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDisableUsageAsCollateralOutsideEmode.discriminator, reserveConfig.disableUsageAsCollOutsideEmode),
1322
- });
1147
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateDisableUsageAsCollateralOutsideEmode.discriminator, reserveConfig.disableUsageAsCollOutsideEmode));
1323
1148
  }
1324
1149
  break;
1325
1150
  case 'utilizationLimitBlockBorrowingAbovePct':
1326
1151
  if (reserve === undefined ||
1327
1152
  reserve.config.utilizationLimitBlockBorrowingAbovePct !== reserveConfig.utilizationLimitBlockBorrowingAbovePct) {
1328
- updateReserveIxnsArgs.push({
1329
- mode: types_1.UpdateConfigMode.UpdateBlockBorrowingAboveUtilizationPct.discriminator + 1,
1330
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBlockBorrowingAboveUtilizationPct.discriminator, reserveConfig.utilizationLimitBlockBorrowingAbovePct),
1331
- });
1153
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateBlockBorrowingAboveUtilizationPct.discriminator, reserveConfig.utilizationLimitBlockBorrowingAbovePct));
1332
1154
  }
1333
1155
  break;
1334
1156
  case 'autodeleverageEnabled':
1335
1157
  if (reserve === undefined || reserve.config.autodeleverageEnabled !== reserveConfig.autodeleverageEnabled) {
1336
- updateReserveIxnsArgs.push({
1337
- mode: types_1.UpdateConfigMode.UpdateAutodeleverageEnabled.discriminator + 1,
1338
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateAutodeleverageEnabled.discriminator, reserveConfig.autodeleverageEnabled),
1339
- });
1158
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateAutodeleverageEnabled.discriminator, reserveConfig.autodeleverageEnabled));
1340
1159
  }
1341
1160
  break;
1342
1161
  case 'borrowLimitOutsideElevationGroup':
1343
1162
  if (reserve === undefined ||
1344
1163
  !reserve.config.borrowLimitOutsideElevationGroup.eq(reserveConfig.borrowLimitOutsideElevationGroup)) {
1345
- updateReserveIxnsArgs.push({
1346
- mode: types_1.UpdateConfigMode.UpdateBorrowLimitOutsideElevationGroup.discriminator + 1,
1347
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBorrowLimitOutsideElevationGroup.discriminator, reserveConfig.borrowLimitOutsideElevationGroup.toNumber()),
1348
- });
1164
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateBorrowLimitOutsideElevationGroup.discriminator, reserveConfig.borrowLimitOutsideElevationGroup.toNumber()));
1349
1165
  }
1350
1166
  break;
1351
1167
  case 'borrowLimitAgainstThisCollateralInElevationGroup':
1352
1168
  if (reserve === undefined ||
1353
1169
  !(0, utils_2.sameLengthArrayEquals)(reserve.config.borrowLimitAgainstThisCollateralInElevationGroup, reserveConfig.borrowLimitAgainstThisCollateralInElevationGroup)) {
1354
- updateReserveIxnsArgs.push({
1355
- mode: types_1.UpdateConfigMode.UpdateBorrowLimitsInElevationGroupAgainstThisReserve.discriminator + 1,
1356
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateBorrowLimitsInElevationGroupAgainstThisReserve.discriminator, reserveConfig.borrowLimitAgainstThisCollateralInElevationGroup.map((borrowLimit) => borrowLimit.toNumber())),
1357
- });
1170
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateBorrowLimitsInElevationGroupAgainstThisReserve.discriminator, reserveConfig.borrowLimitAgainstThisCollateralInElevationGroup.map((borrowLimit) => borrowLimit.toNumber())));
1358
1171
  }
1359
1172
  break;
1360
1173
  case 'deleveragingBonusIncreaseBpsPerDay':
1361
1174
  if (reserve === undefined ||
1362
1175
  !reserve.config.deleveragingBonusIncreaseBpsPerDay.eq(reserveConfig.deleveragingBonusIncreaseBpsPerDay)) {
1363
- updateReserveIxnsArgs.push({
1364
- mode: types_1.UpdateConfigMode.UpdateDeleveragingBonusIncreaseBpsPerDay.discriminator + 1,
1365
- value: updateReserveConfigEncodedValue(types_1.UpdateConfigMode.UpdateDeleveragingBonusIncreaseBpsPerDay.discriminator, reserveConfig.deleveragingBonusIncreaseBpsPerDay.toNumber()),
1366
- });
1176
+ updateReserveIxnsArgs.push(createUpdateReserveIxnsArg(types_1.UpdateConfigMode.UpdateDeleveragingBonusIncreaseBpsPerDay.discriminator, reserveConfig.deleveragingBonusIncreaseBpsPerDay.toNumber()));
1367
1177
  }
1368
1178
  break;
1369
1179
  default:
1370
1180
  (0, utils_2.assertNever)(key); // Will cause compile error if any case is missing
1371
1181
  }
1372
1182
  }
1183
+ function createUpdateReserveIxnsArg(discriminator, value) {
1184
+ return {
1185
+ // Note: below we add 1 to the discriminator, because UpdateConfigMode in SC starts from 1, while the idl-codegen
1186
+ // creates the TS counterparts starting from 0:
1187
+ mode: discriminator + 1,
1188
+ value: updateReserveConfigEncodedValue(discriminator, value),
1189
+ };
1190
+ }
1373
1191
  function updateEntireReserveConfigIx(marketWithAddress, reserveAddress, reserveConfig, programId) {
1374
1192
  const layout = types_1.ReserveConfig.layout();
1375
1193
  const data = Buffer.alloc(1000);
@@ -1438,8 +1256,6 @@ function updateReserveConfigEncodedValue(discriminator, value) {
1438
1256
  case types_1.UpdateConfigMode.UpdateTokenInfoTwapDivergence.discriminator:
1439
1257
  case types_1.UpdateConfigMode.UpdateTokenInfoPriceMaxAge.discriminator:
1440
1258
  case types_1.UpdateConfigMode.UpdateTokenInfoTwapMaxAge.discriminator:
1441
- case types_1.UpdateConfigMode.UpdateDebtWithdrawalCapCurrentTotal.discriminator:
1442
- case types_1.UpdateConfigMode.UpdateDepositWithdrawalCapCurrentTotal.discriminator:
1443
1259
  case types_1.UpdateConfigMode.UpdateDeleveragingMarginCallPeriod.discriminator:
1444
1260
  case types_1.UpdateConfigMode.UpdateBorrowFactor.discriminator:
1445
1261
  case types_1.UpdateConfigMode.UpdateDeleveragingThresholdDecreaseBpsPerDay.discriminator: