carbon-js-sdk 0.3.39 → 0.3.41-beta.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.
@@ -13,7 +13,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.ETHClient = exports.FEE_MULTIPLIER = void 0;
16
- const CarbonSDK_1 = __importDefault(require("../CarbonSDK"));
17
16
  const constant_1 = require("../constant");
18
17
  const eth_1 = require("../eth");
19
18
  const util_1 = require("../util");
@@ -91,20 +90,22 @@ class ETHClient {
91
90
  const { fromToken, toToken, amount, toAddress, fromAddress, recoveryAddress, signer, gasPriceGwei, gasLimit, feeAmount, signCompleteCallback, } = params;
92
91
  const networkConfig = this.getNetworkConfig();
93
92
  const rpcProvider = this.getProvider();
94
- if (!recoveryAddress.match(/^swth[a-z0-9]{39}$/)) {
93
+ const recoveryAddrRegex = new RegExp(`^${networkConfig.Bech32Prefix}[a-z0-9]{39}$`);
94
+ if (!recoveryAddress.match(recoveryAddrRegex)) {
95
95
  throw new Error("Invalid recovery address");
96
96
  }
97
+ const carbonNetwork = networkConfig.network;
97
98
  const fromTokenId = fromToken.id;
98
99
  const fromTokenAddress = generic_1.appendHexPrefix(fromToken.tokenAddress);
99
100
  const toTokenDenom = toToken.denom;
100
- const recoveryAddressHex = ethers_1.ethers.utils.hexlify(util_1.AddressUtils.SWTHAddress.getAddressBytes(recoveryAddress, CarbonSDK_1.default.Network.MainNet));
101
+ const recoveryAddressHex = ethers_1.ethers.utils.hexlify(util_1.AddressUtils.SWTHAddress.getAddressBytes(recoveryAddress, carbonNetwork));
101
102
  const fromAssetHash = ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.toUtf8Bytes(fromTokenId));
102
103
  const toAssetHash = ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.toUtf8Bytes(toTokenDenom));
103
104
  const nonce = yield rpcProvider.getTransactionCount(fromAddress);
104
105
  const contract = new ethers_1.ethers.Contract(this.getBridgeEntranceAddr(), eth_1.ABIs.bridgeEntrance, rpcProvider);
105
106
  const feeAddress = generic_1.appendHexPrefix(networkConfig.feeAddress);
106
107
  const tokenCreator = fromToken.creator;
107
- const targetAddressBytes = util_1.AddressUtils.SWTHAddress.getAddressBytes(tokenCreator, CarbonSDK_1.default.Network.MainNet);
108
+ const targetAddressBytes = util_1.AddressUtils.SWTHAddress.getAddressBytes(tokenCreator, carbonNetwork);
108
109
  const targetProxyHash = ethers_1.ethers.utils.hexlify(targetAddressBytes);
109
110
  const ethAmount = fromToken.tokenAddress === constant_1.NativeTokenHash ? amount : number_1.BN_ZERO;
110
111
  const bridgeResultTx = yield contract.connect(signer).lock(fromTokenAddress, // the asset to deposit (from) (0x00 if eth)
@@ -1,4 +1,4 @@
1
- import { Token } from "../codec";
1
+ import { Token, TokenPrice } from "../codec";
2
2
  import { NetworkConfigProvider } from "../constant";
3
3
  import { FeeQuote } from "../hydrogen/feeQuote";
4
4
  import { BlockchainUtils, TypeUtils } from "../util";
@@ -57,6 +57,8 @@ declare class TokenClient {
57
57
  reloadDenomGeckoMap(): Promise<void>;
58
58
  reloadUSDValues(denoms?: string[]): Promise<TypeUtils.SimpleMap<BigNumber>>;
59
59
  getUSDValuesFromCoinGecko(geckoIds: string[]): Promise<any>;
60
+ processTokenPrices(tokenPrices: TokenPrice[]): TypeUtils.SimpleMap<BigNumber>;
61
+ getUSDValuesFromPricingModule(): Promise<TypeUtils.SimpleMap<BigNumber>>;
60
62
  getDenomToGeckoIdMap(): Promise<TypeUtils.SimpleMap<string>>;
61
63
  setCommonAssetConfig(): void;
62
64
  }
@@ -81,6 +81,7 @@ class TokenClient {
81
81
  }
82
82
  getBlockchain(denom) {
83
83
  var _a, _b, _c;
84
+ const networkConfig = this.configProvider.getConfig();
84
85
  // chainId defaults to 3 so that blockchain will be undefined
85
86
  let chainId = (_c = (_b = (_a = this.tokens[denom]) === null || _a === void 0 ? void 0 : _a.chainId) === null || _b === void 0 ? void 0 : _b.toNumber()) !== null && _c !== void 0 ? _c : 3;
86
87
  if (this.isNativeToken(denom) || this.isNativeStablecoin(denom) || TokenClient.isPoolToken(denom) || TokenClient.isCdpToken(denom)) {
@@ -91,7 +92,7 @@ class TokenClient {
91
92
  if (TokenClient.isIBCDenom(denom)) {
92
93
  return util_1.IBCUtils.BlockchainMap[denom];
93
94
  }
94
- const blockchain = util_1.BlockchainUtils.blockchainForChainId(chainId);
95
+ const blockchain = util_1.BlockchainUtils.blockchainForChainId(chainId, networkConfig.network);
95
96
  return blockchain;
96
97
  }
97
98
  getSymbol(denom) {
@@ -229,6 +230,7 @@ class TokenClient {
229
230
  return result;
230
231
  }
231
232
  getWrappedToken(denom, blockchain) {
233
+ const networkConfig = this.configProvider.getConfig();
232
234
  // if denom is already a wrapped denom or no blockchain was specified,
233
235
  // just return the input denom.
234
236
  if (this.wrapperMap[denom] || !blockchain) {
@@ -243,7 +245,7 @@ class TokenClient {
243
245
  }
244
246
  // check if wrapped denom is of correct blockchain
245
247
  const token = this.tokens[wrappedDenom];
246
- let tokenChain = util_1.BlockchainUtils.blockchainForChainId(token.chainId.toNumber());
248
+ let tokenChain = util_1.BlockchainUtils.blockchainForChainId(token.chainId.toNumber(), networkConfig.network);
247
249
  if (TokenClient.isIBCDenom(wrappedDenom)) {
248
250
  tokenChain = util_1.IBCUtils.BlockchainMap[wrappedDenom];
249
251
  }
@@ -282,13 +284,14 @@ class TokenClient {
282
284
  return denom === "usc";
283
285
  }
284
286
  getDepositTokenFor(tokenDenom, chain) {
287
+ const networkConfig = this.configProvider.getConfig();
285
288
  const token = this.tokenForDenom(tokenDenom);
286
289
  if (!token) {
287
290
  console.error("getDepositTokenFor token not found for", tokenDenom);
288
291
  return;
289
292
  }
290
293
  // check if selected token is a source token
291
- let targetChain = util_1.BlockchainUtils.blockchainForChainId(token.chainId.toNumber());
294
+ let targetChain = util_1.BlockchainUtils.blockchainForChainId(token.chainId.toNumber(), networkConfig.network);
292
295
  if (TokenClient.isIBCDenom(token.denom)) {
293
296
  targetChain = util_1.IBCUtils.BlockchainMap[token.denom];
294
297
  }
@@ -415,25 +418,30 @@ class TokenClient {
415
418
  this.usdValues.iusd = number_1.BN_ONE;
416
419
  //Get corresponding geckoId for denoms and removes any duplicated geckoIds (espeically for different wrapped tokens as they correspond to the same geckoId(same price))
417
420
  const geckoIds = denoms.reduce((coinIds, denom) => {
418
- var _a;
419
- const geckoId = (_a = this.geckoTokenNames[denom]) !== null && _a !== void 0 ? _a : denom;
421
+ // To ensure that ibc denoms are not added to the gecko ids list, the default is removed.
422
+ const geckoId = this.geckoTokenNames[denom];
420
423
  if (geckoId && !coinIds.includes(geckoId)) {
421
424
  coinIds.push(geckoId);
422
425
  }
423
426
  return coinIds;
424
427
  }, []);
425
428
  const geckoIdToUsdPriceMap = yield this.getUSDValuesFromCoinGecko(geckoIds);
429
+ const carbonTokenPrices = yield this.getUSDValuesFromPricingModule();
426
430
  const uscStablecoin = this.getNativeStablecoin();
427
431
  //store price based on denoms
428
432
  for (const denom of denoms) {
433
+ const carbonTokenPrice = carbonTokenPrices[denom];
434
+ // if token price in pricing module exists for denom, return that as usd price first
435
+ // else check coingecko
436
+ if (carbonTokenPrice) {
437
+ this.usdValues[denom] = carbonTokenPrice;
438
+ continue;
439
+ }
429
440
  const coinId = (_a = this.geckoTokenNames[denom]) !== null && _a !== void 0 ? _a : denom;
430
441
  const price = util_1.NumberUtils.bnOrZero((_b = geckoIdToUsdPriceMap === null || geckoIdToUsdPriceMap === void 0 ? void 0 : geckoIdToUsdPriceMap[coinId]) === null || _b === void 0 ? void 0 : _b.usd);
431
442
  if (price.gt(0)) {
432
- if (denom === (uscStablecoin === null || uscStablecoin === void 0 ? void 0 : uscStablecoin.denom)) {
433
- this.usdValues[denom] = constant_1.uscUsdValue;
434
- continue;
435
- }
436
- this.usdValues[denom] = price;
443
+ // if denom is usc, then return uscUsdValue, else return coingecko usd price
444
+ this.usdValues[denom] = denom === (uscStablecoin === null || uscStablecoin === void 0 ? void 0 : uscStablecoin.denom) ? constant_1.uscUsdValue : price;
437
445
  }
438
446
  }
439
447
  return this.usdValues;
@@ -441,10 +449,45 @@ class TokenClient {
441
449
  }
442
450
  getUSDValuesFromCoinGecko(geckoIds) {
443
451
  return __awaiter(this, void 0, void 0, function* () {
444
- const response = yield util_1.FetchUtils.fetch(`https://coingecko-proxy.dem.exchange/price?ids=${geckoIds.join(",")}&vs_currencies=usd`);
452
+ const response = yield util_1.FetchUtils.fetch(`https://coingecko-proxy.dem.exchange/api/v3/simple/price?ids=${geckoIds.join(",")}&vs_currencies=usd`);
445
453
  return yield response.json();
446
454
  });
447
455
  }
456
+ processTokenPrices(tokenPrices) {
457
+ return tokenPrices.reduce((prevPrices, price) => {
458
+ const newPrev = prevPrices;
459
+ newPrev[price.denom] = number_1.bnOrZero(price.twap).shiftedBy(-constant_1.decTypeDecimals);
460
+ return newPrev;
461
+ }, {});
462
+ }
463
+ getUSDValuesFromPricingModule() {
464
+ var _a, _b, _c, _d;
465
+ return __awaiter(this, void 0, void 0, function* () {
466
+ const initTokenPrices = yield this.query.pricing.TokenPriceAll({
467
+ pagination: {
468
+ limit: new long_1.default(10000),
469
+ offset: new long_1.default(0),
470
+ key: new Uint8Array(),
471
+ countTotal: true,
472
+ reverse: false,
473
+ },
474
+ });
475
+ if (((_a = initTokenPrices.pagination) === null || _a === void 0 ? void 0 : _a.total) && ((_b = initTokenPrices.pagination) === null || _b === void 0 ? void 0 : _b.total.lt(10000))) {
476
+ const tokenPricesMap = this.processTokenPrices(initTokenPrices.tokenPrices);
477
+ return tokenPricesMap;
478
+ }
479
+ const fullTokenPrices = yield this.query.pricing.TokenPriceAll({
480
+ pagination: {
481
+ limit: (_d = (_c = initTokenPrices.pagination) === null || _c === void 0 ? void 0 : _c.total) !== null && _d !== void 0 ? _d : new long_1.default(0),
482
+ offset: new long_1.default(0),
483
+ key: new Uint8Array(),
484
+ countTotal: true,
485
+ reverse: false,
486
+ },
487
+ });
488
+ return this.processTokenPrices(fullTokenPrices.tokenPrices);
489
+ });
490
+ }
448
491
  getDenomToGeckoIdMap() {
449
492
  var _a;
450
493
  return __awaiter(this, void 0, void 0, function* () {
@@ -13,7 +13,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.ZILClient = exports.balanceBatchRequest = exports.tokenBalanceBatchRequest = exports.BatchRequestType = void 0;
16
- const CarbonSDK_1 = __importDefault(require("../CarbonSDK"));
17
16
  const index_1 = require("../index");
18
17
  const address_1 = require("../util/address");
19
18
  const blockchain_1 = require("../util/blockchain");
@@ -201,14 +200,16 @@ class ZILClient {
201
200
  return __awaiter(this, void 0, void 0, function* () {
202
201
  const { fromToken, toToken, amount, fromAddress, recoveryAddress, toAddress, signer, gasPrice, gasLimit, feeAmount, signCompleteCallback, } = params;
203
202
  const networkConfig = this.getNetworkConfig();
204
- if (!recoveryAddress.match(/^swth[a-z0-9]{39}$/)) {
203
+ const recoveryAddrRegex = new RegExp(`^${networkConfig.Bech32Prefix}[a-z0-9]{39}$`);
204
+ if (!recoveryAddress.match(recoveryAddrRegex)) {
205
205
  throw new Error("Invalid recovery address");
206
206
  }
207
+ const carbonNetwork = networkConfig.network;
207
208
  const fromTokenId = fromToken.id;
208
209
  const fromTokenAddr = generic_1.appendHexPrefix(fromToken.tokenAddress);
209
210
  const toTokenDenom = toToken.denom;
210
211
  const targetProxyHash = generic_1.appendHexPrefix(this.getTargetProxyHash(fromToken));
211
- const recoveryAddressHex = ethers_1.ethers.utils.hexlify(index_1.AddressUtils.SWTHAddress.getAddressBytes(recoveryAddress, CarbonSDK_1.default.Network.MainNet));
212
+ const recoveryAddressHex = ethers_1.ethers.utils.hexlify(index_1.AddressUtils.SWTHAddress.getAddressBytes(recoveryAddress, carbonNetwork));
212
213
  const fromAssetHash = ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.toUtf8Bytes(fromTokenId));
213
214
  const toAssetHash = ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.toUtf8Bytes(toTokenDenom));
214
215
  const feeAddress = generic_1.appendHexPrefix(networkConfig.feeAddress);
@@ -3,6 +3,7 @@ import _m0 from "protobufjs/minimal";
3
3
  export declare const protobufPackage = "Switcheo.carbon.cdp";
4
4
  export interface AssetParams {
5
5
  denom: string;
6
+ /** deprecated: oracle_id is now on pricing */
6
7
  oracleId: string;
7
8
  rateStrategyName: string;
8
9
  allowRepayStablecoinInterestDebt: boolean;
@@ -290,6 +290,12 @@ export interface MsgLiquidateCollateralWithStablecoinAndInterestInCollateral {
290
290
  }
291
291
  export interface MsgLiquidateCollateralWithStablecoinAndInterestInCollateralResponse {
292
292
  }
293
+ export interface MsgConvertTokenInCdpToGroupTokens {
294
+ creator: string;
295
+ denom: string;
296
+ }
297
+ export interface MsgConvertTokenInCdpToGroupTokensResponse {
298
+ }
293
299
  export declare const MsgAddRateStrategy: {
294
300
  encode(message: MsgAddRateStrategy, writer?: _m0.Writer): _m0.Writer;
295
301
  decode(input: _m0.Reader | Uint8Array, length?: number | undefined): MsgAddRateStrategy;
@@ -808,6 +814,20 @@ export declare const MsgLiquidateCollateralWithStablecoinAndInterestInCollateral
808
814
  toJSON(_: MsgLiquidateCollateralWithStablecoinAndInterestInCollateralResponse): unknown;
809
815
  fromPartial(_: DeepPartial<MsgLiquidateCollateralWithStablecoinAndInterestInCollateralResponse>): MsgLiquidateCollateralWithStablecoinAndInterestInCollateralResponse;
810
816
  };
817
+ export declare const MsgConvertTokenInCdpToGroupTokens: {
818
+ encode(message: MsgConvertTokenInCdpToGroupTokens, writer?: _m0.Writer): _m0.Writer;
819
+ decode(input: _m0.Reader | Uint8Array, length?: number | undefined): MsgConvertTokenInCdpToGroupTokens;
820
+ fromJSON(object: any): MsgConvertTokenInCdpToGroupTokens;
821
+ toJSON(message: MsgConvertTokenInCdpToGroupTokens): unknown;
822
+ fromPartial(object: DeepPartial<MsgConvertTokenInCdpToGroupTokens>): MsgConvertTokenInCdpToGroupTokens;
823
+ };
824
+ export declare const MsgConvertTokenInCdpToGroupTokensResponse: {
825
+ encode(_: MsgConvertTokenInCdpToGroupTokensResponse, writer?: _m0.Writer): _m0.Writer;
826
+ decode(input: _m0.Reader | Uint8Array, length?: number | undefined): MsgConvertTokenInCdpToGroupTokensResponse;
827
+ fromJSON(_: any): MsgConvertTokenInCdpToGroupTokensResponse;
828
+ toJSON(_: MsgConvertTokenInCdpToGroupTokensResponse): unknown;
829
+ fromPartial(_: DeepPartial<MsgConvertTokenInCdpToGroupTokensResponse>): MsgConvertTokenInCdpToGroupTokensResponse;
830
+ };
811
831
  /** Msg defines the Msg service. */
812
832
  export interface Msg {
813
833
  AddRateStrategy(request: MsgAddRateStrategy): Promise<MsgAddRateStrategyResponse>;
@@ -846,8 +866,9 @@ export interface Msg {
846
866
  ReturnStablecoinWithInterestInCdpTokens(request: MsgReturnStablecoinWithInterestInCdpTokens): Promise<MsgReturnStablecoinWithInterestInCdpTokensResponse>;
847
867
  ReturnStablecoinWithInterestInCollateral(request: MsgReturnStablecoinWithInterestInCollateral): Promise<MsgReturnStablecoinWithInterestInCollateralResponse>;
848
868
  LiquidateCollateralWithStablecoinAndInterestInCdpTokens(request: MsgLiquidateCollateralWithStablecoinAndInterestInCdpTokens): Promise<MsgLiquidateCollateralWithStablecoinAndInterestInCdpTokensResponse>;
849
- /** this line is used by starport scaffolding # proto/tx/rpc */
850
869
  LiquidateCollateralWithStablecoinAndInterestInCollateral(request: MsgLiquidateCollateralWithStablecoinAndInterestInCollateral): Promise<MsgLiquidateCollateralWithStablecoinAndInterestInCollateralResponse>;
870
+ /** this line is used by starport scaffolding # proto/tx/rpc */
871
+ ConvertTokenInCdpToGroupTokens(request: MsgConvertTokenInCdpToGroupTokens): Promise<MsgConvertTokenInCdpToGroupTokensResponse>;
851
872
  }
852
873
  export declare class MsgClientImpl implements Msg {
853
874
  private readonly rpc;
@@ -889,6 +910,7 @@ export declare class MsgClientImpl implements Msg {
889
910
  ReturnStablecoinWithInterestInCollateral(request: MsgReturnStablecoinWithInterestInCollateral): Promise<MsgReturnStablecoinWithInterestInCollateralResponse>;
890
911
  LiquidateCollateralWithStablecoinAndInterestInCdpTokens(request: MsgLiquidateCollateralWithStablecoinAndInterestInCdpTokens): Promise<MsgLiquidateCollateralWithStablecoinAndInterestInCdpTokensResponse>;
891
912
  LiquidateCollateralWithStablecoinAndInterestInCollateral(request: MsgLiquidateCollateralWithStablecoinAndInterestInCollateral): Promise<MsgLiquidateCollateralWithStablecoinAndInterestInCollateralResponse>;
913
+ ConvertTokenInCdpToGroupTokens(request: MsgConvertTokenInCdpToGroupTokens): Promise<MsgConvertTokenInCdpToGroupTokensResponse>;
892
914
  }
893
915
  interface Rpc {
894
916
  request(service: string, method: string, data: Uint8Array): Promise<Uint8Array>;
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.MsgSetSmallLiquidationSize = exports.MsgSetMinimumCloseFactorResponse = exports.MsgSetMinimumCloseFactor = exports.MsgSetCompleteLiquidationThresholdResponse = exports.MsgSetCompleteLiquidationThreshold = exports.MsgReturnStablecoinResponse = exports.MsgReturnStablecoin = exports.MsgMintStablecoinResponse = exports.MsgMintStablecoin = exports.MsgSetStablecoinMintCapResponse = exports.MsgSetStablecoinMintCap = exports.MsgSetStablecoinInterestRateResponse = exports.MsgSetStablecoinInterestRate = exports.MsgRepayAssetWithCollateralResponse = exports.MsgRepayAssetWithCollateral = exports.MsgRepayAssetWithCdpTokensResponse = exports.MsgRepayAssetWithCdpTokens = exports.MsgSetInterestFeeResponse = exports.MsgSetInterestFee = exports.MsgSetLiquidationFeeResponse = exports.MsgSetLiquidationFee = exports.MsgLiquidateCollateralResponse = exports.MsgLiquidateCollateral = exports.MsgUnlockCollateralAndWithdrawAssetResponse = exports.MsgUnlockCollateralAndWithdrawAsset = exports.MsgSupplyAssetAndLockCollateralResponse = exports.MsgSupplyAssetAndLockCollateral = exports.MsgRepayAssetResponse = exports.MsgRepayAsset = exports.MsgBorrowAssetResponse = exports.MsgBorrowAsset = exports.MsgUnlockCollateralResponse = exports.MsgUnlockCollateral = exports.MsgLockCollateralResponse = exports.MsgLockCollateral = exports.MsgWithdrawAssetResponse = exports.MsgWithdrawAsset = exports.MsgSupplyAssetResponse = exports.MsgSupplyAsset = exports.MsgUpdateAssetResponse = exports.MsgUpdateAsset = exports.MsgAddAssetResponse = exports.MsgAddAsset = exports.MsgRemoveRateStrategyResponse = exports.MsgRemoveRateStrategy = exports.MsgUpdateRateStrategyResponse = exports.MsgUpdateRateStrategy = exports.MsgAddRateStrategyResponse = exports.MsgAddRateStrategy = exports.protobufPackage = void 0;
7
- exports.MsgClientImpl = exports.MsgLiquidateCollateralWithStablecoinAndInterestInCollateralResponse = exports.MsgLiquidateCollateralWithStablecoinAndInterestInCollateral = exports.MsgLiquidateCollateralWithStablecoinAndInterestInCdpTokensResponse = exports.MsgLiquidateCollateralWithStablecoinAndInterestInCdpTokens = exports.MsgReturnStablecoinWithInterestInCdpTokensResponse = exports.MsgReturnStablecoinWithInterestInCdpTokens = exports.MsgReturnStablecoinWithInterestInCollateralResponse = exports.MsgReturnStablecoinWithInterestInCollateral = exports.MsgSetCdpPausedResponse = exports.MsgSetCdpPaused = exports.MsgSetStalePriceGracePeriodResponse = exports.MsgSetStalePriceGracePeriod = exports.MsgClaimRewardsResponse = exports.MsgClaimRewards = exports.MsgUpdateRewardSchemeResponse = exports.MsgUpdateRewardScheme = exports.MsgCreateRewardSchemeResponse = exports.MsgCreateRewardScheme = exports.MsgLiquidateCollateralWithStablecoinResponse = exports.MsgLiquidateCollateralWithStablecoin = exports.MsgLiquidateCollateralWithCollateralResponse = exports.MsgLiquidateCollateralWithCollateral = exports.MsgLiquidateCollateralWithCdpTokensResponse = exports.MsgLiquidateCollateralWithCdpTokens = exports.MsgSetSmallLiquidationSizeResponse = void 0;
7
+ exports.MsgClientImpl = exports.MsgConvertTokenInCdpToGroupTokensResponse = exports.MsgConvertTokenInCdpToGroupTokens = exports.MsgLiquidateCollateralWithStablecoinAndInterestInCollateralResponse = exports.MsgLiquidateCollateralWithStablecoinAndInterestInCollateral = exports.MsgLiquidateCollateralWithStablecoinAndInterestInCdpTokensResponse = exports.MsgLiquidateCollateralWithStablecoinAndInterestInCdpTokens = exports.MsgReturnStablecoinWithInterestInCdpTokensResponse = exports.MsgReturnStablecoinWithInterestInCdpTokens = exports.MsgReturnStablecoinWithInterestInCollateralResponse = exports.MsgReturnStablecoinWithInterestInCollateral = exports.MsgSetCdpPausedResponse = exports.MsgSetCdpPaused = exports.MsgSetStalePriceGracePeriodResponse = exports.MsgSetStalePriceGracePeriod = exports.MsgClaimRewardsResponse = exports.MsgClaimRewards = exports.MsgUpdateRewardSchemeResponse = exports.MsgUpdateRewardScheme = exports.MsgCreateRewardSchemeResponse = exports.MsgCreateRewardScheme = exports.MsgLiquidateCollateralWithStablecoinResponse = exports.MsgLiquidateCollateralWithStablecoin = exports.MsgLiquidateCollateralWithCollateralResponse = exports.MsgLiquidateCollateralWithCollateral = exports.MsgLiquidateCollateralWithCdpTokensResponse = exports.MsgLiquidateCollateralWithCdpTokens = exports.MsgSetSmallLiquidationSizeResponse = void 0;
8
8
  /* eslint-disable */
9
9
  const long_1 = __importDefault(require("long"));
10
10
  const minimal_1 = __importDefault(require("protobufjs/minimal"));
@@ -4328,6 +4328,98 @@ exports.MsgLiquidateCollateralWithStablecoinAndInterestInCollateralResponse = {
4328
4328
  return message;
4329
4329
  },
4330
4330
  };
4331
+ const baseMsgConvertTokenInCdpToGroupTokens = {
4332
+ creator: "",
4333
+ denom: "",
4334
+ };
4335
+ exports.MsgConvertTokenInCdpToGroupTokens = {
4336
+ encode(message, writer = minimal_1.default.Writer.create()) {
4337
+ if (message.creator !== "") {
4338
+ writer.uint32(10).string(message.creator);
4339
+ }
4340
+ if (message.denom !== "") {
4341
+ writer.uint32(18).string(message.denom);
4342
+ }
4343
+ return writer;
4344
+ },
4345
+ decode(input, length) {
4346
+ const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
4347
+ let end = length === undefined ? reader.len : reader.pos + length;
4348
+ const message = Object.assign({}, baseMsgConvertTokenInCdpToGroupTokens);
4349
+ while (reader.pos < end) {
4350
+ const tag = reader.uint32();
4351
+ switch (tag >>> 3) {
4352
+ case 1:
4353
+ message.creator = reader.string();
4354
+ break;
4355
+ case 2:
4356
+ message.denom = reader.string();
4357
+ break;
4358
+ default:
4359
+ reader.skipType(tag & 7);
4360
+ break;
4361
+ }
4362
+ }
4363
+ return message;
4364
+ },
4365
+ fromJSON(object) {
4366
+ const message = Object.assign({}, baseMsgConvertTokenInCdpToGroupTokens);
4367
+ message.creator =
4368
+ object.creator !== undefined && object.creator !== null
4369
+ ? String(object.creator)
4370
+ : "";
4371
+ message.denom =
4372
+ object.denom !== undefined && object.denom !== null
4373
+ ? String(object.denom)
4374
+ : "";
4375
+ return message;
4376
+ },
4377
+ toJSON(message) {
4378
+ const obj = {};
4379
+ message.creator !== undefined && (obj.creator = message.creator);
4380
+ message.denom !== undefined && (obj.denom = message.denom);
4381
+ return obj;
4382
+ },
4383
+ fromPartial(object) {
4384
+ var _a, _b;
4385
+ const message = Object.assign({}, baseMsgConvertTokenInCdpToGroupTokens);
4386
+ message.creator = (_a = object.creator) !== null && _a !== void 0 ? _a : "";
4387
+ message.denom = (_b = object.denom) !== null && _b !== void 0 ? _b : "";
4388
+ return message;
4389
+ },
4390
+ };
4391
+ const baseMsgConvertTokenInCdpToGroupTokensResponse = {};
4392
+ exports.MsgConvertTokenInCdpToGroupTokensResponse = {
4393
+ encode(_, writer = minimal_1.default.Writer.create()) {
4394
+ return writer;
4395
+ },
4396
+ decode(input, length) {
4397
+ const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
4398
+ let end = length === undefined ? reader.len : reader.pos + length;
4399
+ const message = Object.assign({}, baseMsgConvertTokenInCdpToGroupTokensResponse);
4400
+ while (reader.pos < end) {
4401
+ const tag = reader.uint32();
4402
+ switch (tag >>> 3) {
4403
+ default:
4404
+ reader.skipType(tag & 7);
4405
+ break;
4406
+ }
4407
+ }
4408
+ return message;
4409
+ },
4410
+ fromJSON(_) {
4411
+ const message = Object.assign({}, baseMsgConvertTokenInCdpToGroupTokensResponse);
4412
+ return message;
4413
+ },
4414
+ toJSON(_) {
4415
+ const obj = {};
4416
+ return obj;
4417
+ },
4418
+ fromPartial(_) {
4419
+ const message = Object.assign({}, baseMsgConvertTokenInCdpToGroupTokensResponse);
4420
+ return message;
4421
+ },
4422
+ };
4331
4423
  class MsgClientImpl {
4332
4424
  constructor(rpc) {
4333
4425
  this.rpc = rpc;
@@ -4378,6 +4470,8 @@ class MsgClientImpl {
4378
4470
  this.LiquidateCollateralWithStablecoinAndInterestInCdpTokens.bind(this);
4379
4471
  this.LiquidateCollateralWithStablecoinAndInterestInCollateral =
4380
4472
  this.LiquidateCollateralWithStablecoinAndInterestInCollateral.bind(this);
4473
+ this.ConvertTokenInCdpToGroupTokens =
4474
+ this.ConvertTokenInCdpToGroupTokens.bind(this);
4381
4475
  }
4382
4476
  AddRateStrategy(request) {
4383
4477
  const data = exports.MsgAddRateStrategy.encode(request).finish();
@@ -4564,6 +4658,11 @@ class MsgClientImpl {
4564
4658
  const promise = this.rpc.request("Switcheo.carbon.cdp.Msg", "LiquidateCollateralWithStablecoinAndInterestInCollateral", data);
4565
4659
  return promise.then((data) => exports.MsgLiquidateCollateralWithStablecoinAndInterestInCollateralResponse.decode(new minimal_1.default.Reader(data)));
4566
4660
  }
4661
+ ConvertTokenInCdpToGroupTokens(request) {
4662
+ const data = exports.MsgConvertTokenInCdpToGroupTokens.encode(request).finish();
4663
+ const promise = this.rpc.request("Switcheo.carbon.cdp.Msg", "ConvertTokenInCdpToGroupTokens", data);
4664
+ return promise.then((data) => exports.MsgConvertTokenInCdpToGroupTokensResponse.decode(new minimal_1.default.Reader(data)));
4665
+ }
4567
4666
  }
4568
4667
  exports.MsgClientImpl = MsgClientImpl;
4569
4668
  if (minimal_1.default.util.Long !== long_1.default) {
@@ -1,6 +1,7 @@
1
1
  import Long from "long";
2
2
  import _m0 from "protobufjs/minimal";
3
3
  import { Token } from "./token";
4
+ import { TokenGroup, GroupedTokenConfig } from "./group";
4
5
  export declare const protobufPackage = "Switcheo.carbon.coin";
5
6
  export interface NewTokenEvent {
6
7
  token?: Token;
@@ -20,6 +21,37 @@ export interface LinkTokenEvent {
20
21
  token?: Token;
21
22
  type: string;
22
23
  }
24
+ export interface NewGroupEvent {
25
+ tokenGroup?: TokenGroup;
26
+ }
27
+ export interface UpdateGroupEvent {
28
+ tokenGroup?: TokenGroup;
29
+ }
30
+ export interface RegisterToGroupEvent {
31
+ groupId: Long;
32
+ denom: string;
33
+ }
34
+ export interface DeregisterFromGroupEvent {
35
+ groupId: Long;
36
+ denom: string;
37
+ }
38
+ export interface SetGroupedTokenConfigEvent {
39
+ groupedTokenConfig?: GroupedTokenConfig;
40
+ }
41
+ export interface DepositToGroupEvent {
42
+ groupId: Long;
43
+ denom: string;
44
+ amount: string;
45
+ chequeDenom: string;
46
+ chequeAmount: string;
47
+ }
48
+ export interface WithdrawFromGroupEvent {
49
+ groupId: Long;
50
+ denom: string;
51
+ amount: string;
52
+ chequeDenom: string;
53
+ chequeAmount: string;
54
+ }
23
55
  export declare const NewTokenEvent: {
24
56
  encode(message: NewTokenEvent, writer?: _m0.Writer): _m0.Writer;
25
57
  decode(input: _m0.Reader | Uint8Array, length?: number | undefined): NewTokenEvent;
@@ -55,6 +87,55 @@ export declare const LinkTokenEvent: {
55
87
  toJSON(message: LinkTokenEvent): unknown;
56
88
  fromPartial(object: DeepPartial<LinkTokenEvent>): LinkTokenEvent;
57
89
  };
90
+ export declare const NewGroupEvent: {
91
+ encode(message: NewGroupEvent, writer?: _m0.Writer): _m0.Writer;
92
+ decode(input: _m0.Reader | Uint8Array, length?: number | undefined): NewGroupEvent;
93
+ fromJSON(object: any): NewGroupEvent;
94
+ toJSON(message: NewGroupEvent): unknown;
95
+ fromPartial(object: DeepPartial<NewGroupEvent>): NewGroupEvent;
96
+ };
97
+ export declare const UpdateGroupEvent: {
98
+ encode(message: UpdateGroupEvent, writer?: _m0.Writer): _m0.Writer;
99
+ decode(input: _m0.Reader | Uint8Array, length?: number | undefined): UpdateGroupEvent;
100
+ fromJSON(object: any): UpdateGroupEvent;
101
+ toJSON(message: UpdateGroupEvent): unknown;
102
+ fromPartial(object: DeepPartial<UpdateGroupEvent>): UpdateGroupEvent;
103
+ };
104
+ export declare const RegisterToGroupEvent: {
105
+ encode(message: RegisterToGroupEvent, writer?: _m0.Writer): _m0.Writer;
106
+ decode(input: _m0.Reader | Uint8Array, length?: number | undefined): RegisterToGroupEvent;
107
+ fromJSON(object: any): RegisterToGroupEvent;
108
+ toJSON(message: RegisterToGroupEvent): unknown;
109
+ fromPartial(object: DeepPartial<RegisterToGroupEvent>): RegisterToGroupEvent;
110
+ };
111
+ export declare const DeregisterFromGroupEvent: {
112
+ encode(message: DeregisterFromGroupEvent, writer?: _m0.Writer): _m0.Writer;
113
+ decode(input: _m0.Reader | Uint8Array, length?: number | undefined): DeregisterFromGroupEvent;
114
+ fromJSON(object: any): DeregisterFromGroupEvent;
115
+ toJSON(message: DeregisterFromGroupEvent): unknown;
116
+ fromPartial(object: DeepPartial<DeregisterFromGroupEvent>): DeregisterFromGroupEvent;
117
+ };
118
+ export declare const SetGroupedTokenConfigEvent: {
119
+ encode(message: SetGroupedTokenConfigEvent, writer?: _m0.Writer): _m0.Writer;
120
+ decode(input: _m0.Reader | Uint8Array, length?: number | undefined): SetGroupedTokenConfigEvent;
121
+ fromJSON(object: any): SetGroupedTokenConfigEvent;
122
+ toJSON(message: SetGroupedTokenConfigEvent): unknown;
123
+ fromPartial(object: DeepPartial<SetGroupedTokenConfigEvent>): SetGroupedTokenConfigEvent;
124
+ };
125
+ export declare const DepositToGroupEvent: {
126
+ encode(message: DepositToGroupEvent, writer?: _m0.Writer): _m0.Writer;
127
+ decode(input: _m0.Reader | Uint8Array, length?: number | undefined): DepositToGroupEvent;
128
+ fromJSON(object: any): DepositToGroupEvent;
129
+ toJSON(message: DepositToGroupEvent): unknown;
130
+ fromPartial(object: DeepPartial<DepositToGroupEvent>): DepositToGroupEvent;
131
+ };
132
+ export declare const WithdrawFromGroupEvent: {
133
+ encode(message: WithdrawFromGroupEvent, writer?: _m0.Writer): _m0.Writer;
134
+ decode(input: _m0.Reader | Uint8Array, length?: number | undefined): WithdrawFromGroupEvent;
135
+ fromJSON(object: any): WithdrawFromGroupEvent;
136
+ toJSON(message: WithdrawFromGroupEvent): unknown;
137
+ fromPartial(object: DeepPartial<WithdrawFromGroupEvent>): WithdrawFromGroupEvent;
138
+ };
58
139
  declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
59
140
  export declare type DeepPartial<T> = T extends Builtin ? T : T extends Long ? string | number | Long : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
60
141
  [K in keyof T]?: DeepPartial<T[K]>;