carbon-js-sdk 0.4.2 → 0.4.3-dev.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 (86) hide show
  1. package/lib/CarbonSDK.js +1 -1
  2. package/lib/clients/CarbonQueryClient.js +2 -2
  3. package/lib/clients/ETHClient.d.ts +11 -4
  4. package/lib/clients/ETHClient.js +32 -18
  5. package/lib/clients/HydrogenClient.d.ts +16 -7
  6. package/lib/clients/HydrogenClient.js +56 -10
  7. package/lib/clients/NEOClient.d.ts +1 -1
  8. package/lib/clients/NEOClient.js +15 -10
  9. package/lib/clients/TokenClient.d.ts +29 -5
  10. package/lib/clients/TokenClient.js +258 -53
  11. package/lib/clients/ZILClient.d.ts +1 -1
  12. package/lib/clients/ZILClient.js +25 -20
  13. package/lib/codec/cosmos/gov/v1/query.js +2 -2
  14. package/lib/codec/cosmos/gov/v1/tx.js +2 -2
  15. package/lib/codec/cosmos/gov/v1beta1/query.js +2 -2
  16. package/lib/codec/cosmos/gov/v1beta1/tx.js +2 -2
  17. package/lib/codec/cosmos/group/v1/events.js +2 -2
  18. package/lib/codec/cosmos/group/v1/tx.js +4 -4
  19. package/lib/codec/cosmos/tx/v1beta1/tx.js +4 -4
  20. package/lib/constant/generic.js +1 -1
  21. package/lib/constant/ibc.d.ts +7 -0
  22. package/lib/constant/ibc.js +4 -1
  23. package/lib/constant/network.d.ts +2 -0
  24. package/lib/constant/network.js +5 -1
  25. package/lib/hydrogen/transfer.d.ts +5 -5
  26. package/lib/modules/cdp.js +43 -43
  27. package/lib/modules/cosmwasm.js +1 -1
  28. package/lib/modules/gov.js +12 -12
  29. package/lib/modules/ibc.d.ts +5 -1
  30. package/lib/modules/ibc.js +78 -0
  31. package/lib/modules/liquiditypool.js +1 -1
  32. package/lib/provider/account/EthLedgerAccount/EthLedgerAccount.js +1 -1
  33. package/lib/provider/account/NeoLedgerAccount/N3Ledger/ErrorCode.js +1 -1
  34. package/lib/provider/account/NeoLedgerAccount/N3Ledger/main.js +8 -8
  35. package/lib/provider/account/NeoLedgerAccount/NeoLedgerAccount.js +3 -3
  36. package/lib/provider/account/NeoLedgerAccount/NeonLedger.js +1 -1
  37. package/lib/provider/amino/types/admin.js +27 -27
  38. package/lib/provider/amino/types/bank.js +1 -1
  39. package/lib/provider/amino/types/broker.js +1 -1
  40. package/lib/provider/amino/types/cdp.js +22 -22
  41. package/lib/provider/amino/types/coin.js +4 -4
  42. package/lib/provider/amino/types/gov.js +4 -4
  43. package/lib/provider/amino/types/ibc.js +1 -1
  44. package/lib/provider/amino/types/leverage.js +1 -1
  45. package/lib/provider/amino/types/liquidityPool.js +7 -7
  46. package/lib/provider/amino/types/market.js +1 -1
  47. package/lib/provider/amino/types/oracle.js +1 -1
  48. package/lib/provider/amino/types/order.js +4 -4
  49. package/lib/provider/amino/types/position.js +1 -1
  50. package/lib/provider/amino/types/profile.js +1 -1
  51. package/lib/provider/amino/types/staking.js +4 -4
  52. package/lib/provider/amino/types/subaccount.js +3 -3
  53. package/lib/provider/amino/utils.js +11 -11
  54. package/lib/provider/keplr/KeplrStore.d.ts +1 -1
  55. package/lib/provider/keplr/KeplrStore.js +2 -5
  56. package/lib/provider/ledger/ledger.js +2 -2
  57. package/lib/provider/metamask/MetaMask.d.ts +5 -5
  58. package/lib/provider/metamask/MetaMask.js +37 -37
  59. package/lib/provider/o3/O3Wallet.js +2 -2
  60. package/lib/util/address.js +13 -13
  61. package/lib/util/api.js +4 -4
  62. package/lib/util/blockchain.d.ts +26 -0
  63. package/lib/util/blockchain.js +160 -1
  64. package/lib/util/fetch.js +1 -1
  65. package/lib/util/generic.js +3 -3
  66. package/lib/util/ibc.d.ts +4 -3
  67. package/lib/util/ibc.js +20 -1
  68. package/lib/util/number.js +5 -5
  69. package/lib/wallet/CarbonSigner.js +2 -2
  70. package/lib/wallet/CarbonSigningClient.js +8 -8
  71. package/lib/wallet/CarbonWallet.js +6 -6
  72. package/lib/websocket/connector.d.ts +2 -1
  73. package/lib/websocket/connector.js +7 -9
  74. package/package.json +1 -1
  75. package/lib/clients/EvmIbcClient.d.ts +0 -86
  76. package/lib/clients/EvmIbcClient.js +0 -90
  77. package/lib/codec/broker/incoming_pool_swap.d.ts +0 -23
  78. package/lib/codec/broker/incoming_pool_swap.js +0 -136
  79. package/lib/util/ethermint/evm-ibc.d.ts +0 -97
  80. package/lib/util/ethermint/evm-ibc.js +0 -134
  81. package/lib/util/ethermint/index.d.ts +0 -3
  82. package/lib/util/ethermint/index.js +0 -12
  83. package/lib/util/ethermint/keys.d.ts +0 -39
  84. package/lib/util/ethermint/keys.js +0 -138
  85. package/lib/util/ethermint/web3.d.ts +0 -36
  86. package/lib/util/ethermint/web3.js +0 -124
@@ -1474,7 +1474,7 @@ exports.MsgVote = {
1474
1474
  : "";
1475
1475
  message.option =
1476
1476
  object.option !== undefined && object.option !== null
1477
- ? types_1.voteOptionFromJSON(object.option)
1477
+ ? (0, types_1.voteOptionFromJSON)(object.option)
1478
1478
  : 0;
1479
1479
  message.metadata =
1480
1480
  object.metadata !== undefined && object.metadata !== null
@@ -1492,7 +1492,7 @@ exports.MsgVote = {
1492
1492
  (obj.proposalId = (message.proposalId || long_1.default.UZERO).toString());
1493
1493
  message.voter !== undefined && (obj.voter = message.voter);
1494
1494
  message.option !== undefined &&
1495
- (obj.option = types_1.voteOptionToJSON(message.option));
1495
+ (obj.option = (0, types_1.voteOptionToJSON)(message.option));
1496
1496
  message.metadata !== undefined && (obj.metadata = message.metadata);
1497
1497
  message.exec !== undefined && (obj.exec = execToJSON(message.exec));
1498
1498
  return obj;
@@ -1633,14 +1633,14 @@ exports.MsgExecResponse = {
1633
1633
  const message = Object.assign({}, baseMsgExecResponse);
1634
1634
  message.result =
1635
1635
  object.result !== undefined && object.result !== null
1636
- ? types_1.proposalExecutorResultFromJSON(object.result)
1636
+ ? (0, types_1.proposalExecutorResultFromJSON)(object.result)
1637
1637
  : 0;
1638
1638
  return message;
1639
1639
  },
1640
1640
  toJSON(message) {
1641
1641
  const obj = {};
1642
1642
  message.result !== undefined &&
1643
- (obj.result = types_1.proposalExecutorResultToJSON(message.result));
1643
+ (obj.result = (0, types_1.proposalExecutorResultToJSON)(message.result));
1644
1644
  return obj;
1645
1645
  },
1646
1646
  fromPartial(object) {
@@ -763,13 +763,13 @@ exports.ModeInfo_Single = {
763
763
  const message = Object.assign({}, baseModeInfo_Single);
764
764
  message.mode =
765
765
  object.mode !== undefined && object.mode !== null
766
- ? signing_1.signModeFromJSON(object.mode)
766
+ ? (0, signing_1.signModeFromJSON)(object.mode)
767
767
  : 0;
768
768
  return message;
769
769
  },
770
770
  toJSON(message) {
771
771
  const obj = {};
772
- message.mode !== undefined && (obj.mode = signing_1.signModeToJSON(message.mode));
772
+ message.mode !== undefined && (obj.mode = (0, signing_1.signModeToJSON)(message.mode));
773
773
  return obj;
774
774
  },
775
775
  fromPartial(object) {
@@ -1052,7 +1052,7 @@ exports.AuxSignerData = {
1052
1052
  : undefined;
1053
1053
  message.mode =
1054
1054
  object.mode !== undefined && object.mode !== null
1055
- ? signing_1.signModeFromJSON(object.mode)
1055
+ ? (0, signing_1.signModeFromJSON)(object.mode)
1056
1056
  : 0;
1057
1057
  message.sig =
1058
1058
  object.sig !== undefined && object.sig !== null
@@ -1067,7 +1067,7 @@ exports.AuxSignerData = {
1067
1067
  (obj.signDoc = message.signDoc
1068
1068
  ? exports.SignDocDirectAux.toJSON(message.signDoc)
1069
1069
  : undefined);
1070
- message.mode !== undefined && (obj.mode = signing_1.signModeToJSON(message.mode));
1070
+ message.mode !== undefined && (obj.mode = (0, signing_1.signModeToJSON)(message.mode));
1071
1071
  message.sig !== undefined &&
1072
1072
  (obj.sig = base64FromBytes(message.sig !== undefined ? message.sig : new Uint8Array()));
1073
1073
  return obj;
@@ -12,7 +12,7 @@ exports.DEFAULT_FEE_DENOM = "swth";
12
12
  exports.DEFAULT_GAS_PRICE = new bignumber_js_1.default(10);
13
13
  exports.DEFAULT_GAS = new bignumber_js_1.default(10000000);
14
14
  exports.DEFAULT_FEE = {
15
- amount: proto_signing_1.coins(exports.DEFAULT_GAS_PRICE.times(exports.DEFAULT_GAS).dp(0).toString(), "swth"),
15
+ amount: (0, proto_signing_1.coins)(exports.DEFAULT_GAS_PRICE.times(exports.DEFAULT_GAS).dp(0).toString(), "swth"),
16
16
  gas: exports.DEFAULT_GAS.toString(10),
17
17
  };
18
18
  exports.CARBON_GAS_PRICE = {
@@ -78,6 +78,13 @@ export interface CosmWasmChannelSet extends ChannelSet {
78
78
  export declare const swthChannels: SimpleMap<ChannelConfig>;
79
79
  export declare const cibtIbcTokenRegex: RegExp;
80
80
  export declare const ibcTokenRegex: RegExp;
81
+ export declare const cw20TokenRegex: RegExp;
82
+ export declare const cosmBridgeRegex: RegExp;
81
83
  export declare const ibcNetworkRegex: RegExp;
84
+ export declare const ibcTransferChannelRegex: RegExp;
82
85
  export declare const ibcDefaultGas: number;
83
86
  export declare const DefaultGasPriceStep: GasPriceStep;
87
+ export declare type MinimalDenomMap = SimpleMap<string>;
88
+ export interface ExtendedChainInfo extends ChainInfo {
89
+ minimalDenomMap: MinimalDenomMap;
90
+ }
@@ -19,7 +19,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
19
19
  return result;
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.DefaultGasPriceStep = exports.ibcDefaultGas = exports.ibcNetworkRegex = exports.ibcTokenRegex = exports.cibtIbcTokenRegex = exports.swthChannels = exports.EmbedChainInfosInit = exports.ibcWhitelist = exports.swthIbcWhitelist = exports.ChainIds = exports.IBCAddress = void 0;
22
+ exports.DefaultGasPriceStep = exports.ibcDefaultGas = exports.ibcTransferChannelRegex = exports.ibcNetworkRegex = exports.cosmBridgeRegex = exports.cw20TokenRegex = exports.ibcTokenRegex = exports.cibtIbcTokenRegex = exports.swthChannels = exports.EmbedChainInfosInit = exports.ibcWhitelist = exports.swthIbcWhitelist = exports.ChainIds = exports.IBCAddress = void 0;
23
23
  const bech32 = __importStar(require("bech32"));
24
24
  const generic_1 = require("./generic");
25
25
  const token_1 = require("./token");
@@ -2116,7 +2116,10 @@ exports.swthChannels = {
2116
2116
  };
2117
2117
  exports.cibtIbcTokenRegex = RegExp(`^${token_1.DenomPrefix.CDPToken}/ibc/([a-f\\d]+)$`, "i");
2118
2118
  exports.ibcTokenRegex = /^ibc\/([a-f\d]+)$/i;
2119
+ exports.cw20TokenRegex = /^cw20:([a-z\d]+)$/i;
2120
+ exports.cosmBridgeRegex = /^wasm\.([a-z\d]+)$/i;
2119
2121
  exports.ibcNetworkRegex = /^([a-z\d_-]+)-([\d]+)$/i;
2122
+ exports.ibcTransferChannelRegex = /^transfer\/channel-(\d+)/i;
2120
2123
  exports.ibcDefaultGas = 300000;
2121
2124
  exports.DefaultGasPriceStep = {
2122
2125
  low: 0.01,
@@ -1,3 +1,4 @@
1
+ import { SimpleMap } from "../util/type";
1
2
  export declare enum Network {
2
3
  MainNet = "mainnet",
3
4
  TestNet = "testnet",
@@ -64,3 +65,4 @@ export interface NetworkConfigProvider {
64
65
  export declare const NetworkConfigs: {
65
66
  [key in Network]: NetworkConfig;
66
67
  };
68
+ export declare const publicRpcNodes: SimpleMap<string>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NetworkConfigs = exports.DEFAULT_NETWORK = exports.CarbonChainIDs = exports.Network = void 0;
3
+ exports.publicRpcNodes = exports.NetworkConfigs = exports.DEFAULT_NETWORK = exports.CarbonChainIDs = exports.Network = void 0;
4
4
  const neon_core_next_1 = require("@cityofzion/neon-core-next");
5
5
  var Network;
6
6
  (function (Network) {
@@ -318,3 +318,7 @@ exports.NetworkConfigs = {
318
318
  },
319
319
  },
320
320
  };
321
+ exports.publicRpcNodes = {
322
+ Osmosis: "https://rpc.osmosis.zone/",
323
+ Terra: "https://terra-rpc.lavenderfive.com:443/",
324
+ };
@@ -1,4 +1,4 @@
1
- import { Blockchain } from "../util/blockchain";
1
+ import { Blockchain, BlockchainV2 } from "../util/blockchain";
2
2
  export interface GetTransfersRequest {
3
3
  bridging_blockchain?: string;
4
4
  source_blockchain?: string;
@@ -53,9 +53,9 @@ export interface CrossChainTransfer {
53
53
  nonce: string;
54
54
  created_at: Date;
55
55
  updated_at: Date;
56
- source_blockchain: Blockchain | null;
57
- bridging_blockchain: Blockchain | null;
58
- destination_blockchain: Blockchain | null;
56
+ source_blockchain: Blockchain | BlockchainV2 | null;
57
+ bridging_blockchain: Blockchain | BlockchainV2 | null;
58
+ destination_blockchain: Blockchain | BlockchainV2 | null;
59
59
  status: CrossChainFlowStatus;
60
60
  carbon_token_id: string;
61
61
  recovery_address_hash: string;
@@ -68,7 +68,7 @@ export interface CrossChainTransferDetailed extends CrossChainTransfer {
68
68
  }
69
69
  export interface ChainTransaction {
70
70
  id: string;
71
- blockchain: Blockchain;
71
+ blockchain: Blockchain | BlockchainV2;
72
72
  contract: string;
73
73
  block_height: number;
74
74
  tx_hash: string;
@@ -458,7 +458,7 @@ class CDPModule extends base_1.default {
458
458
  let availableBorrowsUsd = number_1.BN_ZERO;
459
459
  let currLiquidationThreshold = number_1.BN_ZERO;
460
460
  for (let i = 0; i < collaterals.length; i++) {
461
- const amount = number_1.bnOrZero(collaterals[i].collateralAmount);
461
+ const amount = (0, number_1.bnOrZero)(collaterals[i].collateralAmount);
462
462
  if (amount.isZero()) {
463
463
  continue; // no collateral for denom
464
464
  }
@@ -475,9 +475,9 @@ class CDPModule extends base_1.default {
475
475
  if (!assetParam) {
476
476
  continue;
477
477
  }
478
- const ltv = number_1.bnOrZero(assetParam.loanToValue).div(number_1.BN_10000);
478
+ const ltv = (0, number_1.bnOrZero)(assetParam.loanToValue).div(number_1.BN_10000);
479
479
  const availableBorrowUsd = collateralUsdVal.times(ltv);
480
- const liquidationThreshold = number_1.bnOrZero(assetParam.liquidationThreshold).div(number_1.BN_10000);
480
+ const liquidationThreshold = (0, number_1.bnOrZero)(assetParam.liquidationThreshold).div(number_1.BN_10000);
481
481
  const liquidationThresholdVal = collateralUsdVal.times(liquidationThreshold);
482
482
  totalCollateralsUsd = totalCollateralsUsd.plus(collateralUsdVal);
483
483
  availableBorrowsUsd = availableBorrowsUsd.plus(availableBorrowUsd);
@@ -488,7 +488,7 @@ class CDPModule extends base_1.default {
488
488
  const debts = debtsRsp.debts;
489
489
  let totalDebtsUsd = number_1.BN_ZERO;
490
490
  for (let i = 0; i < debts.length; i++) {
491
- const amount = number_1.bnOrZero(debts[i].principalDebt);
491
+ const amount = (0, number_1.bnOrZero)(debts[i].principalDebt);
492
492
  const denom = debts[i].denom;
493
493
  if (amount.isZero()) {
494
494
  continue;
@@ -510,7 +510,7 @@ class CDPModule extends base_1.default {
510
510
  if (stablecoinDebtInfo) {
511
511
  const accountStablecoin = yield sdk.query.cdp.AccountStablecoin({ address: account });
512
512
  const stablecoinDecimals = (_a = (yield this.sdkProvider.getTokenClient().getDecimals(stablecoinDebtInfo.denom))) !== null && _a !== void 0 ? _a : number_1.BN_ZERO;
513
- const stablecoinDebtAmount = number_1.bnOrZero(accountStablecoin.principalDebt).plus(number_1.bnOrZero(accountStablecoin.interestDebt));
513
+ const stablecoinDebtAmount = (0, number_1.bnOrZero)(accountStablecoin.principalDebt).plus((0, number_1.bnOrZero)(accountStablecoin.interestDebt));
514
514
  stablecoinDebtUsd = stablecoinDebtAmount.shiftedBy(-stablecoinDecimals);
515
515
  totalDebtsUsd = totalDebtsUsd.plus(stablecoinDebtUsd);
516
516
  }
@@ -531,7 +531,7 @@ class CDPModule extends base_1.default {
531
531
  const sdk = this.sdkProvider;
532
532
  const cdpAddress = this.getCdpModuleAddress();
533
533
  const balanceRsp = yield sdk.query.bank.Balance(query_2.QueryBalanceRequest.fromPartial({ address: cdpAddress, denom }));
534
- return number_1.bnOrZero((_a = balanceRsp.balance) === null || _a === void 0 ? void 0 : _a.amount);
534
+ return (0, number_1.bnOrZero)((_a = balanceRsp.balance) === null || _a === void 0 ? void 0 : _a.amount);
535
535
  });
536
536
  }
537
537
  getCdpToActualRatio(cdpDenom) {
@@ -542,13 +542,13 @@ class CDPModule extends base_1.default {
542
542
  const cdpAmountRsp = supplyRsp.amount;
543
543
  if (!cdpAmountRsp)
544
544
  throw new Error("unable to retrieve cdp token supply");
545
- const cdpAmount = number_1.bnOrZero(cdpAmountRsp.amount);
545
+ const cdpAmount = (0, number_1.bnOrZero)(cdpAmountRsp.amount);
546
546
  const cdpAddress = this.getCdpModuleAddress();
547
547
  const balanceRsp = yield sdk.query.bank.Balance(query_2.QueryBalanceRequest.fromPartial({ address: cdpAddress, denom }));
548
548
  if (!balanceRsp.balance)
549
549
  throw new Error("unable to retrieve cdp module balance");
550
550
  const owedAmount = yield this.getTotalTokenDebt(denom);
551
- const actualAmount = number_1.bnOrZero(balanceRsp.balance.amount).plus(owedAmount);
551
+ const actualAmount = (0, number_1.bnOrZero)(balanceRsp.balance.amount).plus(owedAmount);
552
552
  if (!owedAmount)
553
553
  throw new Error("unable to retrieve total token debt");
554
554
  return cdpAmount.div(actualAmount);
@@ -570,8 +570,8 @@ class CDPModule extends base_1.default {
570
570
  const allDebts = allDebtsRes.debtInfosAll;
571
571
  for (let i = 0; i < allDebts.length; i++) {
572
572
  const denom = allDebts[i].denom;
573
- const interest = number_1.bnOrZero(allDebts[i].totalAccumulatedInterest);
574
- const principal = number_1.bnOrZero(allDebts[i].totalPrincipal);
573
+ const interest = (0, number_1.bnOrZero)(allDebts[i].totalAccumulatedInterest);
574
+ const principal = (0, number_1.bnOrZero)(allDebts[i].totalPrincipal);
575
575
  const debtAmt = interest.plus(principal);
576
576
  const debtUsdVal = yield this.getTokenUsdVal(denom, debtAmt);
577
577
  if (!debtUsdVal) {
@@ -583,7 +583,7 @@ class CDPModule extends base_1.default {
583
583
  const stablecoinDebtRes = yield this.sdkProvider.query.cdp.StablecoinDebt({});
584
584
  if (stablecoinDebtRes.stablecoinDebtInfo) {
585
585
  const debtInfo = stablecoinDebtRes.stablecoinDebtInfo;
586
- const debtAmt = number_1.bnOrZero(debtInfo.totalPrincipal).plus(number_1.bnOrZero(debtInfo.totalAccumulatedInterest));
586
+ const debtAmt = (0, number_1.bnOrZero)(debtInfo.totalPrincipal).plus((0, number_1.bnOrZero)(debtInfo.totalAccumulatedInterest));
587
587
  const stablecoinDecimals = (_a = (yield sdk.getTokenClient().getDecimals(debtInfo.denom))) !== null && _a !== void 0 ? _a : 0;
588
588
  const debtUsdVal = debtAmt.shiftedBy(-stablecoinDecimals);
589
589
  totalDebt = totalDebt.plus(debtUsdVal);
@@ -601,7 +601,7 @@ class CDPModule extends base_1.default {
601
601
  if (!TokenClient_1.default.isCdpToken(balance.denom)) {
602
602
  continue;
603
603
  }
604
- const amount = number_1.bnOrZero(balance.amount);
604
+ const amount = (0, number_1.bnOrZero)(balance.amount);
605
605
  const collateralUsdValue = yield this.getCdpTokenUsdVal(balance.denom, amount);
606
606
  allCollateralsUsdValue = allCollateralsUsdValue.plus(collateralUsdValue);
607
607
  }
@@ -625,7 +625,7 @@ class CDPModule extends base_1.default {
625
625
  const priceResult = yield sdk.query.pricing.TokenPrice(codec_1.QueryTokenPriceRequest.fromPartial({ denom }));
626
626
  if (!priceResult.tokenPrice)
627
627
  throw new Error("unable to retrieve token price for " + denom);
628
- const twap = number_1.bnOrZero(priceResult.tokenPrice.twap).shiftedBy(-18);
628
+ const twap = (0, number_1.bnOrZero)(priceResult.tokenPrice.twap).shiftedBy(-18);
629
629
  return amount.multipliedBy(twap).shiftedBy(-decimals);
630
630
  });
631
631
  }
@@ -640,11 +640,11 @@ class CDPModule extends base_1.default {
640
640
  throw new Error("unable to retrieve debt info");
641
641
  const cimRsp = yield this.recalculateCIM(denom, debtInfo);
642
642
  const newInterestRate = cimRsp.interest;
643
- const principal = number_1.bnOrZero(debtInfo.totalPrincipal);
644
- const accumInterest = number_1.bnOrZero(debtInfo.totalAccumulatedInterest);
643
+ const principal = (0, number_1.bnOrZero)(debtInfo.totalPrincipal);
644
+ const accumInterest = (0, number_1.bnOrZero)(debtInfo.totalAccumulatedInterest);
645
645
  const newInterest = principal.times(newInterestRate).plus(accumInterest.times(number_1.BN_ONE.plus(newInterestRate)));
646
646
  const cdpParamsRsp = yield this.sdkProvider.query.cdp.Params(query_1.QueryParamsRequest.fromPartial({}));
647
- const interestFee = number_1.bnOrZero((_a = cdpParamsRsp.params) === null || _a === void 0 ? void 0 : _a.interestFee);
647
+ const interestFee = (0, number_1.bnOrZero)((_a = cdpParamsRsp.params) === null || _a === void 0 ? void 0 : _a.interestFee);
648
648
  const interest = newInterest.times(number_1.BN_10000.minus(interestFee)).dividedToIntegerBy(number_1.BN_10000);
649
649
  return principal.plus(interest);
650
650
  });
@@ -662,8 +662,8 @@ class CDPModule extends base_1.default {
662
662
  const debtRes = yield sdk.query.cdp.AccountDebt({ address: account, denom: denom });
663
663
  debt = debtRes.debt;
664
664
  }
665
- const principalAmount = number_1.bnOrZero(debt === null || debt === void 0 ? void 0 : debt.principalDebt);
666
- const initialCIM = number_1.bnOrZero(debt === null || debt === void 0 ? void 0 : debt.initialCumulativeInterestMultiplier);
665
+ const principalAmount = (0, number_1.bnOrZero)(debt === null || debt === void 0 ? void 0 : debt.principalDebt);
666
+ const initialCIM = (0, number_1.bnOrZero)(debt === null || debt === void 0 ? void 0 : debt.initialCumulativeInterestMultiplier);
667
667
  if (principalAmount.isZero() || initialCIM.isZero())
668
668
  return number_1.BN_ZERO;
669
669
  const cimRsp = yield this.recalculateCIM(denom, debtInfo);
@@ -689,8 +689,8 @@ class CDPModule extends base_1.default {
689
689
  const debtResp = yield sdk.query.cdp.AccountStablecoin(query_1.QueryAccountStablecoinRequest.fromPartial({ address: account }));
690
690
  debt = debtResp;
691
691
  }
692
- principalAmount = number_1.bnOrZero(debt.principalDebt);
693
- const initialCIM = number_1.bnOrZero(debt.initialCumulativeInterestMultiplier);
692
+ principalAmount = (0, number_1.bnOrZero)(debt.principalDebt);
693
+ const initialCIM = (0, number_1.bnOrZero)(debt.initialCumulativeInterestMultiplier);
694
694
  const cim = yield this.recalculateStablecoinCIM(debtInfo);
695
695
  if (!cim)
696
696
  throw new Error("unable to retrieve account debt");
@@ -731,7 +731,7 @@ class CDPModule extends base_1.default {
731
731
  return number_1.BN_ZERO;
732
732
  }
733
733
  const diffSeconds = new bignumber_js_1.BigNumber(diffMs).shiftedBy(-3).dp(0, bignumber_js_1.BigNumber.ROUND_CEIL);
734
- const secondsAYear = number_1.bnOrZero(31536000);
734
+ const secondsAYear = (0, number_1.bnOrZero)(31536000);
735
735
  const numPeriods = secondsAYear.div(diffSeconds).dp(18);
736
736
  return apy.div(numPeriods).dp(18); // carbon backend sdk.dec max 18 dp
737
737
  }
@@ -755,8 +755,8 @@ class CDPModule extends base_1.default {
755
755
  throw new Error("unable to retrieve cdp params for " + denom);
756
756
  }
757
757
  }
758
- const interestFeeRate = number_1.bnOrZero(params.interestFee).div(number_1.BN_10000);
759
- const utilizationRate = number_1.bnOrZero(debtInfo.utilizationRate).shiftedBy(-18);
758
+ const interestFeeRate = (0, number_1.bnOrZero)(params.interestFee).div(number_1.BN_10000);
759
+ const utilizationRate = (0, number_1.bnOrZero)(debtInfo.utilizationRate).shiftedBy(-18);
760
760
  return borrowInterest.times(utilizationRate).times(number_1.BN_ONE.minus(interestFeeRate));
761
761
  });
762
762
  }
@@ -771,7 +771,7 @@ class CDPModule extends base_1.default {
771
771
  return { cim: number_1.BN_ZERO, interest: number_1.BN_ZERO };
772
772
  }
773
773
  }
774
- const cim = number_1.bnOrZero(debtInfo.cumulativeInterestMultiplier);
774
+ const cim = (0, number_1.bnOrZero)(debtInfo.cumulativeInterestMultiplier);
775
775
  const apy = yield this.calculateAPY(denom, debtInfo);
776
776
  const newInterest = CDPModule.calculateInterestForTimePeriod(apy, (_a = debtInfo.lastUpdatedTime) !== null && _a !== void 0 ? _a : new Date(0), new Date());
777
777
  const newCIM = cim.times(newInterest.plus(1));
@@ -790,8 +790,8 @@ class CDPModule extends base_1.default {
790
790
  }
791
791
  }
792
792
  const paramsResponse = yield sdk.query.cdp.Params(codec_1.QueryCdpParamsRequest.fromPartial({}));
793
- const cim = number_1.bnOrZero(debtInfo.cumulativeInterestMultiplier);
794
- const apy = number_1.bnOrZero((_a = paramsResponse.params) === null || _a === void 0 ? void 0 : _a.stablecoinInterestRate);
793
+ const cim = (0, number_1.bnOrZero)(debtInfo.cumulativeInterestMultiplier);
794
+ const apy = (0, number_1.bnOrZero)((_a = paramsResponse.params) === null || _a === void 0 ? void 0 : _a.stablecoinInterestRate);
795
795
  if (!apy) {
796
796
  return number_1.BN_ZERO;
797
797
  }
@@ -817,7 +817,7 @@ class CDPModule extends base_1.default {
817
817
  const availableBorrowsUsd = accountData.AvailableBorrowsUsd.minus(accountData.TotalDebtsUsd);
818
818
  const unlockableUsd = availableBorrowsUsd.multipliedBy(number_1.BN_10000).div(unlockRatio);
819
819
  const tokenPrice = yield sdk.query.pricing.TokenPrice({ denom });
820
- const tokenTwap = number_1.bnOrZero((_b = tokenPrice.tokenPrice) === null || _b === void 0 ? void 0 : _b.twap);
820
+ const tokenTwap = (0, number_1.bnOrZero)((_b = tokenPrice.tokenPrice) === null || _b === void 0 ? void 0 : _b.twap);
821
821
  if (tokenTwap.isZero())
822
822
  throw new Error("unable to retrieve token price for " + denom);
823
823
  const tokenAmt = unlockableUsd.div(tokenTwap.shiftedBy(-18)).shiftedBy(tokenDecimals);
@@ -828,7 +828,7 @@ class CDPModule extends base_1.default {
828
828
  address: account,
829
829
  cdpDenom: cdpDenom,
830
830
  });
831
- const lockedAmount = number_1.bnOrZero((_e = (_d = accountCollateral.collateral) === null || _d === void 0 ? void 0 : _d.collateralAmount) !== null && _e !== void 0 ? _e : "0");
831
+ const lockedAmount = (0, number_1.bnOrZero)((_e = (_d = accountCollateral.collateral) === null || _d === void 0 ? void 0 : _d.collateralAmount) !== null && _e !== void 0 ? _e : "0");
832
832
  return lockedAmount.lt(cdpTokenAmt) ? lockedAmount : cdpTokenAmt;
833
833
  });
834
834
  }
@@ -846,7 +846,7 @@ class CDPModule extends base_1.default {
846
846
  const denom = this.getUnderlyingDenom(cdpDenom);
847
847
  const cdpToActualRatio = (_a = (yield this.getCdpToActualRatio(cdpDenom))) !== null && _a !== void 0 ? _a : number_1.BN_ZERO;
848
848
  const tokenPrice = yield sdk.query.pricing.TokenPrice({ denom: denom });
849
- const tokenTwap = number_1.bnOrZero((_b = tokenPrice.tokenPrice) === null || _b === void 0 ? void 0 : _b.twap).shiftedBy(-18);
849
+ const tokenTwap = (0, number_1.bnOrZero)((_b = tokenPrice.tokenPrice) === null || _b === void 0 ? void 0 : _b.twap).shiftedBy(-18);
850
850
  return tokenTwap.multipliedBy(cdpToActualRatio);
851
851
  });
852
852
  }
@@ -867,26 +867,26 @@ class CDPModule extends base_1.default {
867
867
  });
868
868
  if (!asset.assetParams)
869
869
  throw new Error("unable to retrieve asset param for " + cdpActualDenom);
870
- const bonus = number_1.bnOrZero(asset.assetParams.liquidationDiscount).div(number_1.BN_10000);
870
+ const bonus = (0, number_1.bnOrZero)(asset.assetParams.liquidationDiscount).div(number_1.BN_10000);
871
871
  const cdpTokenPrice = yield this.getCdpTokenPrice(cdpDenom);
872
872
  const cdpTokenDiscountedPrice = cdpTokenPrice.multipliedBy(number_1.BN_ONE.minus(bonus));
873
873
  // get close factor
874
874
  const debtorAccountData = yield sdk.query.cdp.AccountData({
875
875
  address: debtor,
876
876
  });
877
- const debtorTotalCollateralVal = number_1.bnOrZero(debtorAccountData.totalCollateralsUsd);
878
- const debtorTotalDebtVal = number_1.bnOrZero(debtorAccountData.totalDebtsUsd);
879
- const currentLiqThreshold = number_1.bnOrZero(debtorAccountData.currLiquidationThreshold);
877
+ const debtorTotalCollateralVal = (0, number_1.bnOrZero)(debtorAccountData.totalCollateralsUsd);
878
+ const debtorTotalDebtVal = (0, number_1.bnOrZero)(debtorAccountData.totalDebtsUsd);
879
+ const currentLiqThreshold = (0, number_1.bnOrZero)(debtorAccountData.currLiquidationThreshold);
880
880
  const params = yield sdk.query.cdp.Params({});
881
881
  if (!params.params) {
882
882
  throw new Error("unable to retrieve cdp params");
883
883
  }
884
- const smallLiqSize = number_1.bnOrZero(params.params.smallLiquidationSize);
885
- const minCloseFactor = number_1.bnOrZero(params.params.minimumCloseFactor);
886
- const completeLiqThreshold = number_1.bnOrZero(params.params.completeLiquidationThreshold);
884
+ const smallLiqSize = (0, number_1.bnOrZero)(params.params.smallLiquidationSize);
885
+ const minCloseFactor = (0, number_1.bnOrZero)(params.params.minimumCloseFactor);
886
+ const completeLiqThreshold = (0, number_1.bnOrZero)(params.params.completeLiquidationThreshold);
887
887
  const closeFactor = this.computeCloseFactor(debtorTotalDebtVal, debtorTotalCollateralVal, currentLiqThreshold, smallLiqSize, minCloseFactor, completeLiqThreshold);
888
888
  // get max repayable amount given the debtor's debt and how much liquidator wants to repay
889
- const debtDecimals = number_1.bnOrZero(yield sdk.getTokenClient().getDecimals(debtDenom));
889
+ const debtDecimals = (0, number_1.bnOrZero)(yield sdk.getTokenClient().getDecimals(debtDenom));
890
890
  const maxRepayableValue = debtorTotalDebtVal.multipliedBy(closeFactor);
891
891
  const maxRepayableAmt = maxRepayableValue.shiftedBy(debtDecimals.toNumber());
892
892
  if (debtRepaymentAmount.isGreaterThan(maxRepayableAmt)) {
@@ -894,7 +894,7 @@ class CDPModule extends base_1.default {
894
894
  }
895
895
  // calculate collateral amount that can be obtained given that debt amount and debtor's collateral balance
896
896
  // AND, recalculate debt repay amount if needed
897
- const cdpTokenDecimals = number_1.bnOrZero(yield sdk.getTokenClient().getDecimals(cdpActualDenom));
897
+ const cdpTokenDecimals = (0, number_1.bnOrZero)(yield sdk.getTokenClient().getDecimals(cdpActualDenom));
898
898
  let collateralAmtToLiquidate = this.calculateCollateralRequiredForDebt(number_1.BN_ONE, // assumes USC is $1
899
899
  cdpTokenDiscountedPrice, debtRepaymentAmount, cdpTokenDecimals, debtDecimals);
900
900
  const debtorAccountCollateral = yield sdk.query.cdp.AccountCollateral({
@@ -966,11 +966,11 @@ class CDPModule extends base_1.default {
966
966
  }
967
967
  exports.CDPModule = CDPModule;
968
968
  CDPModule.calculateInterestAPY = (debtInfo, rateStrategy) => {
969
- const utilizationRate = number_1.bnOrZero(debtInfo.utilizationRate).shiftedBy(-18);
970
- const optimalUsage = number_1.bnOrZero(rateStrategy.optimalUsage).shiftedBy(-4);
971
- const variableRate1 = number_1.bnOrZero(rateStrategy.variableRateSlope1).shiftedBy(-4);
972
- const variableRate2 = number_1.bnOrZero(rateStrategy.variableRateSlope2).shiftedBy(-4);
973
- const baseVariableBorrowRate = number_1.bnOrZero(rateStrategy.baseVariableBorrowRate).shiftedBy(-4);
969
+ const utilizationRate = (0, number_1.bnOrZero)(debtInfo.utilizationRate).shiftedBy(-18);
970
+ const optimalUsage = (0, number_1.bnOrZero)(rateStrategy.optimalUsage).shiftedBy(-4);
971
+ const variableRate1 = (0, number_1.bnOrZero)(rateStrategy.variableRateSlope1).shiftedBy(-4);
972
+ const variableRate2 = (0, number_1.bnOrZero)(rateStrategy.variableRateSlope2).shiftedBy(-4);
973
+ const baseVariableBorrowRate = (0, number_1.bnOrZero)(rateStrategy.baseVariableBorrowRate).shiftedBy(-4);
974
974
  if (utilizationRate.lte(optimalUsage)) {
975
975
  const vRate = utilizationRate.times(variableRate1).div(optimalUsage).dp(4, bignumber_js_1.BigNumber.ROUND_CEIL);
976
976
  return vRate.plus(baseVariableBorrowRate);
@@ -27,7 +27,7 @@ class CosmWasmModule extends base_1.default {
27
27
  return __awaiter(this, void 0, void 0, function* () {
28
28
  const tmClient = util_1.GenericUtils.modifyTmClient(yield tendermint_rpc_1.Tendermint34Client.connect(tmRpcUrl));
29
29
  const baseClient = new stargate_1.QueryClient(tmClient);
30
- const rpcClient = stargate_1.createProtobufRpcClient(baseClient);
30
+ const rpcClient = (0, stargate_1.createProtobufRpcClient)(baseClient);
31
31
  const cosmWasmClient = new query_1.QueryClientImpl(rpcClient);
32
32
  return new CosmWasmModule(cosmWasmClient, sdkProvider);
33
33
  });
@@ -48,7 +48,7 @@ class GovModule extends base_1.default {
48
48
  const value = tx_1.MsgDeposit.fromPartial({
49
49
  proposalId: new long_1.default(params.proposalId),
50
50
  depositor: wallet.bech32Address,
51
- amount: amino_1.coins(params.amount, params.denom),
51
+ amount: (0, amino_1.coins)(params.amount, params.denom),
52
52
  });
53
53
  return yield wallet.sendTx({
54
54
  typeUrl: util_1.CarbonTx.Types.MsgDeposit,
@@ -78,21 +78,21 @@ class GovModule extends base_1.default {
78
78
  const createTokenMsg = {
79
79
  title: title,
80
80
  description: description,
81
- msg: admin_1.transfromCreateTokenParams(msg, wallet.bech32Address),
81
+ msg: (0, admin_1.transfromCreateTokenParams)(msg, wallet.bech32Address),
82
82
  };
83
83
  return proposal_1.CreateTokenProposal.encode(createTokenMsg).finish();
84
84
  case "SetMsgGasCostProposal":
85
85
  const setMsgGasCostMsg = {
86
86
  title: title,
87
87
  description: description,
88
- msg: admin_1.transfromSetMsgGasCostParams(msg),
88
+ msg: (0, admin_1.transfromSetMsgGasCostParams)(msg),
89
89
  };
90
90
  return proposal_2.SetMsgGasCostProposal.encode(setMsgGasCostMsg).finish();
91
91
  case "SetMinGasPriceProposal":
92
92
  const setMinGasPriceMsg = {
93
93
  title: title,
94
94
  description: description,
95
- msg: admin_1.transfromSetMinGasPriceParams(msg),
95
+ msg: (0, admin_1.transfromSetMinGasPriceParams)(msg),
96
96
  };
97
97
  return proposal_2.SetMinGasPriceProposal.encode(setMinGasPriceMsg).finish();
98
98
  case "RemoveMsgGasCostProposal":
@@ -113,49 +113,49 @@ class GovModule extends base_1.default {
113
113
  const setRewardCurveMsg = {
114
114
  title: title,
115
115
  description: description,
116
- msg: admin_1.transfromSetRewardCurveParams(msg),
116
+ msg: (0, admin_1.transfromSetRewardCurveParams)(msg),
117
117
  };
118
118
  return proposal_3.SetRewardCurveProposal.encode(setRewardCurveMsg).finish();
119
119
  case "SetCommitmentCurveProposal":
120
120
  const setCommitmentCurveMsg = {
121
121
  title: title,
122
122
  description: description,
123
- msg: admin_1.transfromSetCommitmentCurveParams(msg),
123
+ msg: (0, admin_1.transfromSetCommitmentCurveParams)(msg),
124
124
  };
125
125
  return proposal_3.SetCommitmentCurveProposal.encode(setCommitmentCurveMsg).finish();
126
126
  case "SetRewardsWeightsProposal":
127
127
  const setRewardsWeightsMsg = {
128
128
  title: title,
129
129
  description: description,
130
- msg: admin_1.transfromSetRewardsWeightsParams(msg),
130
+ msg: (0, admin_1.transfromSetRewardsWeightsParams)(msg),
131
131
  };
132
132
  return proposal_3.SetRewardsWeightsProposal.encode(setRewardsWeightsMsg).finish();
133
133
  case "UpdatePoolProposal":
134
134
  const updatePoolProposalMsg = {
135
135
  title: title,
136
136
  description: description,
137
- msg: admin_1.transfromUpdatePoolParams(msg),
137
+ msg: (0, admin_1.transfromUpdatePoolParams)(msg),
138
138
  };
139
139
  return proposal_3.UpdatePoolProposal.encode(updatePoolProposalMsg).finish();
140
140
  case "UpdateMarketProposal":
141
141
  const updateMarketProposalMsg = {
142
142
  title: title,
143
143
  description: description,
144
- msg: market_1.transfromUpdateMarketParams(msg),
144
+ msg: (0, market_1.transfromUpdateMarketParams)(msg),
145
145
  };
146
146
  return proposal_4.UpdateMarketProposal.encode(updateMarketProposalMsg).finish();
147
147
  case "CreateOracleProposal":
148
148
  const createOracleProposalMsg = {
149
149
  title: title,
150
150
  description: description,
151
- msg: admin_1.transfromCreateOracleParams(msg, wallet.bech32Address),
151
+ msg: (0, admin_1.transfromCreateOracleParams)(msg, wallet.bech32Address),
152
152
  };
153
153
  return proposal_5.CreateOracleProposal.encode(createOracleProposalMsg).finish();
154
154
  case "SettlementPriceProposal":
155
155
  const settlementPriceProposalMsg = {
156
156
  title: title,
157
157
  description: description,
158
- msg: admin_1.transformSetSettlementPriceParams(msg),
158
+ msg: (0, admin_1.transformSetSettlementPriceParams)(msg),
159
159
  };
160
160
  return proposal_6.SettlementPriceProposal.encode(settlementPriceProposalMsg).finish();
161
161
  case "ParameterChangeProposal":
@@ -177,7 +177,7 @@ class GovModule extends base_1.default {
177
177
  title: title,
178
178
  description: description,
179
179
  recipient: proposalMsg.recipient,
180
- amount: admin_1.transformCommunityPoolSpendAmount(proposalMsg.amount),
180
+ amount: (0, admin_1.transformCommunityPoolSpendAmount)(proposalMsg.amount),
181
181
  };
182
182
  return distribution_1.CommunityPoolSpendProposal.encode(communityPoolSpendProposalMsg).finish();
183
183
  case "CancelSoftwareUpgradeProposal":
@@ -1,8 +1,12 @@
1
- import { CarbonTx } from "../util";
1
+ import { ExtendedChainInfo } from "../constant";
2
+ import { ChainInfo } from "../provider";
3
+ import { CarbonTx, TypeUtils } from "../util";
2
4
  import BigNumber from "bignumber.js";
3
5
  import BaseModule from "./base";
4
6
  export declare class IBCModule extends BaseModule {
5
7
  sendIBCTransfer(params: IBCModule.SendIBCTransferParams, msgOpts?: CarbonTx.SignTxOpts): Promise<import("@cosmjs/stargate").DeliverTxResponse>;
8
+ getChainInfoMap(): Promise<TypeUtils.SimpleMap<ExtendedChainInfo>>;
9
+ getChainInfo(chainName: string, chainId: string): Promise<ChainInfo | undefined>;
6
10
  }
7
11
  export declare namespace IBCModule {
8
12
  interface SendIBCTransferParams {