carbon-js-sdk 0.2.10 → 0.2.11

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 (54) hide show
  1. package/lib/clients/CarbonQueryClient.js +1 -1
  2. package/lib/clients/ETHClient.js +15 -15
  3. package/lib/clients/HydrogenClient.js +1 -1
  4. package/lib/clients/InsightsQueryClient.d.ts +3 -1
  5. package/lib/clients/InsightsQueryClient.js +17 -6
  6. package/lib/clients/NEOClient.js +6 -6
  7. package/lib/clients/ZILClient.js +16 -16
  8. package/lib/codec/cosmos/gov/v1beta1/query.js +2 -2
  9. package/lib/codec/cosmos/gov/v1beta1/tx.js +2 -2
  10. package/lib/codec/cosmos/tx/v1beta1/tx.js +2 -2
  11. package/lib/constant/generic.js +1 -1
  12. package/lib/insights/common.d.ts +2 -0
  13. package/lib/insights/common.js +2 -0
  14. package/lib/insights/competition.d.ts +49 -7
  15. package/lib/modules/admin.d.ts +8 -0
  16. package/lib/modules/admin.js +19 -0
  17. package/lib/modules/gov.js +14 -14
  18. package/lib/modules/liquiditypool.js +1 -1
  19. package/lib/provider/account/EthLedgerAccount/EthLedgerAccount.js +1 -1
  20. package/lib/provider/account/NeoLedgerAccount/N3Ledger/ErrorCode.js +1 -1
  21. package/lib/provider/account/NeoLedgerAccount/N3Ledger/main.js +8 -8
  22. package/lib/provider/account/NeoLedgerAccount/NeoLedgerAccount.js +3 -3
  23. package/lib/provider/account/NeoLedgerAccount/NeonLedger.js +1 -1
  24. package/lib/provider/amino/types/admin.js +20 -20
  25. package/lib/provider/amino/types/bank.js +1 -1
  26. package/lib/provider/amino/types/broker.js +1 -1
  27. package/lib/provider/amino/types/cdp.js +4 -4
  28. package/lib/provider/amino/types/coin.js +2 -2
  29. package/lib/provider/amino/types/gov.js +4 -4
  30. package/lib/provider/amino/types/ibc.js +1 -1
  31. package/lib/provider/amino/types/leverage.js +1 -1
  32. package/lib/provider/amino/types/liquidityPool.js +7 -7
  33. package/lib/provider/amino/types/market.js +1 -1
  34. package/lib/provider/amino/types/oracle.js +1 -1
  35. package/lib/provider/amino/types/order.js +4 -4
  36. package/lib/provider/amino/types/position.js +1 -1
  37. package/lib/provider/amino/types/profile.js +1 -1
  38. package/lib/provider/amino/types/staking.js +4 -4
  39. package/lib/provider/amino/types/subaccount.js +3 -3
  40. package/lib/provider/amino/utils.js +11 -11
  41. package/lib/provider/keplr/KeplrStore.js +1 -1
  42. package/lib/provider/ledger/ledger.js +2 -2
  43. package/lib/provider/metamask/MetaMask.js +1 -1
  44. package/lib/provider/o3/O3Wallet.js +2 -2
  45. package/lib/util/address.js +13 -13
  46. package/lib/util/api.js +4 -4
  47. package/lib/util/fetch.js +1 -1
  48. package/lib/util/generic.js +3 -3
  49. package/lib/util/number.js +5 -5
  50. package/lib/wallet/CarbonSigner.js +2 -2
  51. package/lib/wallet/CarbonSigningClient.js +8 -8
  52. package/lib/wallet/CarbonWallet.js +6 -6
  53. package/lib/websocket/connector.js +3 -3
  54. package/package.json +1 -1
@@ -43,7 +43,7 @@ class CarbonQueryClient {
43
43
  constructor(tmClient) {
44
44
  this.tmClient = tmClient;
45
45
  this.baseClient = new stargate_1.QueryClient(this.tmClient);
46
- const rpcClient = stargate_1.createProtobufRpcClient(this.baseClient);
46
+ const rpcClient = (0, stargate_1.createProtobufRpcClient)(this.baseClient);
47
47
  this.chain = BlockchainClient_1.default.connectWithTm(this.tmClient);
48
48
  this.adl = new query_1.QueryClientImpl(rpcClient);
49
49
  this.book = new query_2.QueryClientImpl(rpcClient);
@@ -40,13 +40,13 @@ class ETHClient {
40
40
  return __awaiter(this, void 0, void 0, function* () {
41
41
  const tokenQueryResults = yield api.token.getAllTokens();
42
42
  const lockProxyAddress = this.getLockProxyAddress().toLowerCase();
43
- const tokens = tokenQueryResults.filter((token) => blockchain_1.blockchainForChainId(token.chainId.toNumber()) == this.blockchain &&
43
+ const tokens = tokenQueryResults.filter((token) => (0, blockchain_1.blockchainForChainId)(token.chainId.toNumber()) == this.blockchain &&
44
44
  token.tokenAddress.length == 40 &&
45
- token.bridgeAddress.toLowerCase() == generic_1.stripHexPrefix(lockProxyAddress) &&
45
+ token.bridgeAddress.toLowerCase() == (0, generic_1.stripHexPrefix)(lockProxyAddress) &&
46
46
  (!whitelistDenoms || whitelistDenoms.includes(token.denom)) &&
47
- this.verifyChecksum(generic_1.appendHexPrefix(token.tokenAddress)));
47
+ this.verifyChecksum((0, generic_1.appendHexPrefix)(token.tokenAddress)));
48
48
  const assetIds = tokens.map((token) => {
49
- return this.verifyChecksum(generic_1.appendHexPrefix(token.tokenAddress));
49
+ return this.verifyChecksum((0, generic_1.appendHexPrefix)(token.tokenAddress));
50
50
  });
51
51
  const provider = this.getProvider();
52
52
  const contractAddress = this.getBalanceReaderAddress();
@@ -95,14 +95,14 @@ class ETHClient {
95
95
  throw new Error("Invalid recovery address");
96
96
  }
97
97
  const fromTokenId = fromToken.id;
98
- const fromTokenAddress = generic_1.appendHexPrefix(fromToken.tokenAddress);
98
+ const fromTokenAddress = (0, generic_1.appendHexPrefix)(fromToken.tokenAddress);
99
99
  const toTokenDenom = toToken.denom;
100
100
  const recoveryAddressHex = ethers_1.ethers.utils.hexlify(util_1.AddressUtils.SWTHAddress.getAddressBytes(recoveryAddress, CarbonSDK_1.default.Network.MainNet));
101
101
  const fromAssetHash = ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.toUtf8Bytes(fromTokenId));
102
102
  const toAssetHash = ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.toUtf8Bytes(toTokenDenom));
103
103
  const nonce = yield rpcProvider.getTransactionCount(fromAddress);
104
104
  const contract = new ethers_1.ethers.Contract(this.getBridgeEntranceAddr(), eth_1.ABIs.bridgeEntrance, rpcProvider);
105
- const feeAddress = generic_1.appendHexPrefix(networkConfig.feeAddress);
105
+ const feeAddress = (0, generic_1.appendHexPrefix)(networkConfig.feeAddress);
106
106
  const tokenCreator = fromToken.creator;
107
107
  const targetAddressBytes = util_1.AddressUtils.SWTHAddress.getAddressBytes(tokenCreator, CarbonSDK_1.default.Network.MainNet);
108
108
  const targetProxyHash = ethers_1.ethers.utils.hexlify(targetAddressBytes);
@@ -137,9 +137,9 @@ class ETHClient {
137
137
  throw new Error("Minimum gas required: 150,000");
138
138
  }
139
139
  const networkConfig = this.getNetworkConfig();
140
- const assetId = generic_1.appendHexPrefix(token.tokenAddress);
141
- const targetProxyHash = generic_1.appendHexPrefix(this.getTargetProxyHash(token));
142
- const feeAddress = generic_1.appendHexPrefix(networkConfig.feeAddress);
140
+ const assetId = (0, generic_1.appendHexPrefix)(token.tokenAddress);
141
+ const targetProxyHash = (0, generic_1.appendHexPrefix)(this.getTargetProxyHash(token));
142
+ const feeAddress = (0, generic_1.appendHexPrefix)(networkConfig.feeAddress);
143
143
  const toAssetHash = ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.toUtf8Bytes(token.id));
144
144
  const swthAddress = ethers_1.ethers.utils.hexlify(address);
145
145
  const contractAddress = this.getLockProxyAddress();
@@ -190,16 +190,16 @@ class ETHClient {
190
190
  return "insufficient balance";
191
191
  }
192
192
  const networkConfig = this.getNetworkConfig();
193
- const assetId = generic_1.appendHexPrefix(tokenWithExternalBalances.tokenAddress);
194
- const targetProxyHash = generic_1.appendHexPrefix(this.getTargetProxyHash(tokenWithExternalBalances));
195
- const feeAddress = generic_1.appendHexPrefix(networkConfig.feeAddress);
193
+ const assetId = (0, generic_1.appendHexPrefix)(tokenWithExternalBalances.tokenAddress);
194
+ const targetProxyHash = (0, generic_1.appendHexPrefix)(this.getTargetProxyHash(tokenWithExternalBalances));
195
+ const feeAddress = (0, generic_1.appendHexPrefix)(networkConfig.feeAddress);
196
196
  const toAssetHash = ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.toUtf8Bytes(tokenWithExternalBalances.id));
197
197
  const nonce = Math.floor(Math.random() * 1000000000); // random nonce to prevent replay attacks
198
198
  const message = ethers_1.ethers.utils.solidityKeccak256(["string", "address", "bytes", "bytes", "bytes", "uint256", "uint256", "uint256"], ["sendTokens", assetId, targetProxyHash, toAssetHash, feeAddress, amount, feeAmount, nonce]);
199
199
  // logger("sendDeposit message", message)
200
200
  let signatureResult;
201
201
  const { address, signature } = yield getSignatureCallback(message);
202
- const signatureBytes = ethers_1.ethers.utils.arrayify(generic_1.appendHexPrefix(signature));
202
+ const signatureBytes = ethers_1.ethers.utils.arrayify((0, generic_1.appendHexPrefix)(signature));
203
203
  const rsv = ethers_1.ethers.utils.splitSignature(signatureBytes);
204
204
  // logger("sign result", address, signature)
205
205
  signatureResult = {
@@ -238,7 +238,7 @@ class ETHClient {
238
238
  if (!feeInfo.details.deposit.fee) {
239
239
  throw new Error("unsupported token");
240
240
  }
241
- if (blockchain_1.blockchainForChainId(token.chainId.toNumber()) !== this.blockchain) {
241
+ if ((0, blockchain_1.blockchainForChainId)(token.chainId.toNumber()) !== this.blockchain) {
242
242
  throw new Error("unsupported token");
243
243
  }
244
244
  let feeAmount = ethers_1.ethers.BigNumber.from(feeInfo.details.deposit.fee);
@@ -304,7 +304,7 @@ class ETHClient {
304
304
  getTargetProxyHash(token) {
305
305
  const networkConfig = this.getNetworkConfig();
306
306
  const addressBytes = address_1.SWTHAddress.getAddressBytes(token.creator, networkConfig.network);
307
- const addressHex = generic_1.stripHexPrefix(ethers_1.ethers.utils.hexlify(addressBytes));
307
+ const addressHex = (0, generic_1.stripHexPrefix)(ethers_1.ethers.utils.hexlify(addressBytes));
308
308
  return addressHex;
309
309
  }
310
310
  getProvider() {
@@ -29,7 +29,7 @@ exports.HydrogenEndpoints = {
29
29
  const formatDateField = (value) => {
30
30
  if (typeof value !== "string")
31
31
  return null;
32
- return dayjs_1.default(value);
32
+ return (0, dayjs_1.default)(value);
33
33
  };
34
34
  const formatCrossChainTransfer = (value) => {
35
35
  var _a, _b;
@@ -16,7 +16,9 @@ declare class InsightsQueryClient {
16
16
  PoolHistory(query: Insights.QueryGetPoolHistoryRequest): Promise<Insights.InsightsQueryResponse<Insights.QueryGetPoolHistoryResponse>>;
17
17
  PoolVolume(req: Insights.QueryGetPoolVolumeRequest): Promise<Insights.InsightsQueryResponse<Insights.QueryGetPoolVolumeResponse>>;
18
18
  PoolsVolume(req?: Insights.QueryGetPoolsVolumeRequest): Promise<Insights.InsightsQueryResponse<Insights.QueryGetPoolsVolumeResponse>>;
19
- CompetitionLeaderboard(req: Insights.QueryGetCompetitionLeaderboardRequest): Promise<Insights.InsightsQueryResponse<Insights.QueryGetCompetitionLeaderboardResponse>>;
19
+ CompetitionList(req?: Insights.QueryGetCompetitionListRequest): Promise<Insights.InsightsQueryResponse<Insights.QueryGetCompetitionListResponse>>;
20
+ VolumeCompetitionLeaderboard(req: Insights.QueryGetVolumeCompetitionLeaderboardRequest): Promise<Insights.InsightsQueryResponse<Insights.QueryGetVolumeCompetitionLeaderboardResponse>>;
21
+ PNLCompetitionLeaderboard(req: Insights.QueryGetPNLCompetitionLeaderboardRequest): Promise<Insights.InsightsQueryResponse<Insights.QueryGetPNLCompetitionLeaderboardResponse>>;
20
22
  PoolsLiquidity(req?: Insights.QueryGetPoolsLiquidityRequest): Promise<Insights.InsightsQueryResponse<Insights.QueryGetPoolsLiquidityResponse>>;
21
23
  MarketsVolume(req?: Insights.QueryGetMarketVolumeRequest): Promise<Insights.InsightsQueryResponse<Insights.QueryGetMarketVolumeResponse>>;
22
24
  Nodes(req?: Insights.QueryGetNodesRequest): Promise<Insights.InsightsQueryResponse<Insights.QueryGetNodesResponse>>;
@@ -135,18 +135,29 @@ class InsightsQueryClient {
135
135
  return response.data;
136
136
  });
137
137
  }
138
- CompetitionLeaderboard(req) {
138
+ CompetitionList(req = {}) {
139
139
  return __awaiter(this, void 0, void 0, function* () {
140
- const queryParams = {
141
- market: req.market,
142
- from: req.from,
143
- until: req.until,
144
- };
140
+ const request = this.apiManager.path('competition/list', {}, req);
141
+ const response = yield request.get();
142
+ return response.data;
143
+ });
144
+ }
145
+ VolumeCompetitionLeaderboard(req) {
146
+ return __awaiter(this, void 0, void 0, function* () {
147
+ const queryParams = Object.assign(Object.assign(Object.assign({ competitionId: req.competitionId }, req.from && { from: req.from }), req.until && { until: req.until }), req.market && { market: req.market });
145
148
  const request = this.apiManager.path('competition/leaderboard', {}, queryParams);
146
149
  const response = yield request.get();
147
150
  return response.data;
148
151
  });
149
152
  }
153
+ PNLCompetitionLeaderboard(req) {
154
+ return __awaiter(this, void 0, void 0, function* () {
155
+ const queryParams = Object.assign({ competitionId: req.competitionId }, req.market && { market: req.market });
156
+ const request = this.apiManager.path('competition/leaderboardpnl', {}, queryParams);
157
+ const response = yield request.get();
158
+ return response.data;
159
+ });
160
+ }
150
161
  PoolsLiquidity(req = {}) {
151
162
  return __awaiter(this, void 0, void 0, function* () {
152
163
  const queryParams = {
@@ -63,13 +63,13 @@ class NEOClient {
63
63
  return __awaiter(this, void 0, void 0, function* () {
64
64
  const tokenQueryResults = yield sdk.token.getAllTokens();
65
65
  const account = new Neon.wallet.Account(address);
66
- const tokens = tokenQueryResults.filter(token => blockchain_1.blockchainForChainId(token.chainId.toNumber()) == this.blockchain &&
66
+ const tokens = tokenQueryResults.filter(token => (0, blockchain_1.blockchainForChainId)(token.chainId.toNumber()) == this.blockchain &&
67
67
  token.tokenAddress.length == 40 &&
68
68
  token.bridgeAddress.length == 40);
69
69
  const client = new Neon.rpc.RPCClient(url, "2.5.2"); // TODO: should we change the RPC version??
70
70
  // NOTE: fetching of tokens is chunked in sets of 15 as we may hit
71
71
  // the gas limit on the RPC node and error out otherwise
72
- const promises = lodash_1.chunk(tokens, 75).map((partition) => __awaiter(this, void 0, void 0, function* () {
72
+ const promises = (0, lodash_1.chunk)(tokens, 75).map((partition) => __awaiter(this, void 0, void 0, function* () {
73
73
  var _a, _b, _c;
74
74
  let acc = {};
75
75
  for (const token of partition) {
@@ -110,7 +110,7 @@ class NEOClient {
110
110
  const targetProxyHash = this.getTargetProxyHash(token);
111
111
  const toAssetHash = Neon.u.str2hexstring(token.id);
112
112
  const addressBytes = address_1.SWTHAddress.getAddressBytes(swthAddress, networkConfig.network);
113
- const toAddress = generic_1.stripHexPrefix(ethers_1.ethers.utils.hexlify(addressBytes));
113
+ const toAddress = (0, generic_1.stripHexPrefix)(ethers_1.ethers.utils.hexlify(addressBytes));
114
114
  const amount = ethers_1.ethers.BigNumber.from(token.externalBalance);
115
115
  const feeAmount = ethers_1.ethers.BigNumber.from(feeAmountInput !== null && feeAmountInput !== void 0 ? feeAmountInput : "100000000");
116
116
  const feeAddress = networkConfig.feeAddress;
@@ -157,7 +157,7 @@ class NEOClient {
157
157
  const fromAddress = util_1.AddressUtils.NEOAddress.publicKeyToAddress(publicKeyOutput.publicKey);
158
158
  const targetProxyHash = this.getTargetProxyHash(token);
159
159
  const toAssetHash = Neon.u.str2hexstring(token.id);
160
- const toAddress = generic_1.stripHexPrefix(ethers_1.ethers.utils.hexlify(address));
160
+ const toAddress = (0, generic_1.stripHexPrefix)(ethers_1.ethers.utils.hexlify(address));
161
161
  const nonce = Math.floor(Math.random() * 1000000);
162
162
  if (amount.lt(feeAmount)) {
163
163
  throw new Error("Invalid amount");
@@ -193,7 +193,7 @@ class NEOClient {
193
193
  const fromAddress = ledger.scriptHash;
194
194
  const targetProxyHash = this.getTargetProxyHash(token);
195
195
  const toAssetHash = Neon.u.str2hexstring(token.id);
196
- const toAddress = generic_1.stripHexPrefix(ethers_1.ethers.utils.hexlify(address));
196
+ const toAddress = (0, generic_1.stripHexPrefix)(ethers_1.ethers.utils.hexlify(address));
197
197
  const feeAddress = networkConfig.feeAddress;
198
198
  const nonce = Math.floor(Math.random() * 1000000);
199
199
  if (amount.lt(feeAmount)) {
@@ -313,7 +313,7 @@ class NEOClient {
313
313
  getTargetProxyHash(token) {
314
314
  const networkConfig = this.getNetworkConfig();
315
315
  const addressBytes = address_1.SWTHAddress.getAddressBytes(token.creator, networkConfig.network);
316
- const addressHex = generic_1.stripHexPrefix(ethers_1.ethers.utils.hexlify(addressBytes));
316
+ const addressHex = (0, generic_1.stripHexPrefix)(ethers_1.ethers.utils.hexlify(addressBytes));
317
317
  return addressHex;
318
318
  }
319
319
  getNetworkConfig() {
@@ -74,10 +74,10 @@ class ZILClient {
74
74
  getExternalBalances(sdk, address, whitelistDenoms) {
75
75
  return __awaiter(this, void 0, void 0, function* () {
76
76
  const tokenQueryResults = yield sdk.token.getAllTokens();
77
- const tokens = tokenQueryResults.filter(token => blockchain_1.blockchainForChainId(token.chainId.toNumber()) == this.blockchain &&
77
+ const tokens = tokenQueryResults.filter(token => (0, blockchain_1.blockchainForChainId)(token.chainId.toNumber()) == this.blockchain &&
78
78
  token.tokenAddress.length == 40 &&
79
79
  (!whitelistDenoms || whitelistDenoms.includes(token.denom)));
80
- const requests = tokens.map(token => token.tokenAddress === zeroAddress ? exports.balanceBatchRequest(address.replace(/^0x/i, "")) : exports.tokenBalanceBatchRequest(token.tokenAddress, address));
80
+ const requests = tokens.map(token => token.tokenAddress === zeroAddress ? (0, exports.balanceBatchRequest)(address.replace(/^0x/i, "")) : (0, exports.tokenBalanceBatchRequest)(token.tokenAddress, address));
81
81
  const response = yield fetch(this.getProviderUrl(), {
82
82
  method: "post",
83
83
  headers: { "content-type": "application/json" },
@@ -102,7 +102,7 @@ class ZILClient {
102
102
  // if (!isValidAddress) {
103
103
  // throw new Error("invalid address")
104
104
  // }
105
- return zilliqa_1.fromBech32Address(bech32Address).toLowerCase().substr(2);
105
+ return (0, zilliqa_1.fromBech32Address)(bech32Address).toLowerCase().substr(2);
106
106
  });
107
107
  }
108
108
  // see examplesV2/zil_client.ts on how to confirm the transactions
@@ -148,7 +148,7 @@ class ZILClient {
148
148
  zilliqa = new zilliqa_1.Zilliqa(this.getProviderUrl());
149
149
  }
150
150
  const deployedContract = (this.walletProvider || zilliqa).contracts.at(contractAddress);
151
- const balanceAndNonceResp = yield zilliqa.blockchain.getBalance(generic_1.stripHexPrefix(zilAddress));
151
+ const balanceAndNonceResp = yield zilliqa.blockchain.getBalance((0, generic_1.stripHexPrefix)(zilAddress));
152
152
  if (balanceAndNonceResp.error !== undefined) {
153
153
  throw new Error(balanceAndNonceResp.error.message);
154
154
  }
@@ -166,7 +166,7 @@ class ZILClient {
166
166
  vname: 'spender',
167
167
  type: 'ByStr20',
168
168
  // TODO: Check if bridgeAddress corresponds to carbon token lock_proxy_hash
169
- value: spenderAddress !== null && spenderAddress !== void 0 ? spenderAddress : generic_1.appendHexPrefix(token.bridgeAddress),
169
+ value: spenderAddress !== null && spenderAddress !== void 0 ? spenderAddress : (0, generic_1.appendHexPrefix)(token.bridgeAddress),
170
170
  },
171
171
  {
172
172
  vname: 'amount',
@@ -184,7 +184,7 @@ class ZILClient {
184
184
  }
185
185
  checkAllowanceZRC2(token, owner, spender) {
186
186
  return __awaiter(this, void 0, void 0, function* () {
187
- const contractAddress = generic_1.appendHexPrefix(token.tokenAddress);
187
+ const contractAddress = (0, generic_1.appendHexPrefix)(token.tokenAddress);
188
188
  const zilliqa = new zilliqa_1.Zilliqa(this.getProviderUrl());
189
189
  const resp = yield zilliqa.blockchain.getSmartContractSubState(contractAddress, "allowances", [owner, spender]);
190
190
  if (resp.error !== undefined) {
@@ -204,13 +204,13 @@ class ZILClient {
204
204
  throw new Error("Invalid recovery address");
205
205
  }
206
206
  const fromTokenId = fromToken.id;
207
- const fromTokenAddr = generic_1.appendHexPrefix(fromToken.tokenAddress);
207
+ const fromTokenAddr = (0, generic_1.appendHexPrefix)(fromToken.tokenAddress);
208
208
  const toTokenDenom = toToken.denom;
209
- const targetProxyHash = generic_1.appendHexPrefix(this.getTargetProxyHash(fromToken));
209
+ const targetProxyHash = (0, generic_1.appendHexPrefix)(this.getTargetProxyHash(fromToken));
210
210
  const recoveryAddressHex = ethers_1.ethers.utils.hexlify(index_1.AddressUtils.SWTHAddress.getAddressBytes(recoveryAddress, CarbonSDK_1.default.Network.MainNet));
211
211
  const fromAssetHash = ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.toUtf8Bytes(fromTokenId));
212
212
  const toAssetHash = ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.toUtf8Bytes(toTokenDenom));
213
- const feeAddress = generic_1.appendHexPrefix(networkConfig.feeAddress);
213
+ const feeAddress = (0, generic_1.appendHexPrefix)(networkConfig.feeAddress);
214
214
  const contractAddress = this.getBridgeEntranceAddr();
215
215
  let zilliqa;
216
216
  if (typeof signer === 'string') {
@@ -225,7 +225,7 @@ class ZILClient {
225
225
  zilliqa = new zilliqa_1.Zilliqa(this.getProviderUrl());
226
226
  }
227
227
  const deployedContract = (this.walletProvider || zilliqa).contracts.at(contractAddress);
228
- const balanceAndNonceResp = yield zilliqa.blockchain.getBalance(generic_1.stripHexPrefix(fromAddress));
228
+ const balanceAndNonceResp = yield zilliqa.blockchain.getBalance((0, generic_1.stripHexPrefix)(fromAddress));
229
229
  if (balanceAndNonceResp.error !== undefined) {
230
230
  throw new Error(balanceAndNonceResp.error.message);
231
231
  }
@@ -302,13 +302,13 @@ class ZILClient {
302
302
  return __awaiter(this, void 0, void 0, function* () {
303
303
  const { address, amount, token, gasPrice, gasLimit, zilAddress, signer } = params;
304
304
  const networkConfig = this.getNetworkConfig();
305
- const assetId = generic_1.appendHexPrefix(token.tokenAddress);
306
- const targetProxyHash = generic_1.appendHexPrefix(this.getTargetProxyHash(token));
307
- const feeAddress = generic_1.appendHexPrefix(networkConfig.feeAddress);
305
+ const assetId = (0, generic_1.appendHexPrefix)(token.tokenAddress);
306
+ const targetProxyHash = (0, generic_1.appendHexPrefix)(this.getTargetProxyHash(token));
307
+ const feeAddress = (0, generic_1.appendHexPrefix)(networkConfig.feeAddress);
308
308
  const toAssetHash = ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.toUtf8Bytes(token.id));
309
309
  const swthAddress = ethers_1.ethers.utils.hexlify(address);
310
310
  // TODO: Check if bridgeAddress corresponds to carbon token lock_proxy_hash
311
- const contractAddress = generic_1.appendHexPrefix(token.bridgeAddress);
311
+ const contractAddress = (0, generic_1.appendHexPrefix)(token.bridgeAddress);
312
312
  let zilliqa;
313
313
  if (typeof signer === 'string') {
314
314
  zilliqa = new zilliqa_1.Zilliqa(this.getProviderUrl());
@@ -322,7 +322,7 @@ class ZILClient {
322
322
  zilliqa = new zilliqa_1.Zilliqa(this.getProviderUrl());
323
323
  }
324
324
  const deployedContract = (this.walletProvider || zilliqa).contracts.at(contractAddress);
325
- const balanceAndNonceResp = yield zilliqa.blockchain.getBalance(generic_1.stripHexPrefix(zilAddress));
325
+ const balanceAndNonceResp = yield zilliqa.blockchain.getBalance((0, generic_1.stripHexPrefix)(zilAddress));
326
326
  if (balanceAndNonceResp.error !== undefined) {
327
327
  throw new Error(balanceAndNonceResp.error.message);
328
328
  }
@@ -407,7 +407,7 @@ class ZILClient {
407
407
  getTargetProxyHash(token) {
408
408
  const networkConfig = this.getNetworkConfig();
409
409
  const addressBytes = address_1.SWTHAddress.getAddressBytes(token.creator, networkConfig.network);
410
- const addressHex = generic_1.stripHexPrefix(ethers_1.ethers.utils.hexlify(addressBytes));
410
+ const addressHex = (0, generic_1.stripHexPrefix)(ethers_1.ethers.utils.hexlify(addressBytes));
411
411
  return addressHex;
412
412
  }
413
413
  getNetworkConfig() {
@@ -159,7 +159,7 @@ exports.QueryProposalsRequest = {
159
159
  const message = Object.assign({}, baseQueryProposalsRequest);
160
160
  message.proposalStatus =
161
161
  object.proposalStatus !== undefined && object.proposalStatus !== null
162
- ? gov_1.proposalStatusFromJSON(object.proposalStatus)
162
+ ? (0, gov_1.proposalStatusFromJSON)(object.proposalStatus)
163
163
  : 0;
164
164
  message.voter =
165
165
  object.voter !== undefined && object.voter !== null
@@ -178,7 +178,7 @@ exports.QueryProposalsRequest = {
178
178
  toJSON(message) {
179
179
  const obj = {};
180
180
  message.proposalStatus !== undefined &&
181
- (obj.proposalStatus = gov_1.proposalStatusToJSON(message.proposalStatus));
181
+ (obj.proposalStatus = (0, gov_1.proposalStatusToJSON)(message.proposalStatus));
182
182
  message.voter !== undefined && (obj.voter = message.voter);
183
183
  message.depositor !== undefined && (obj.depositor = message.depositor);
184
184
  message.pagination !== undefined &&
@@ -185,7 +185,7 @@ exports.MsgVote = {
185
185
  : "";
186
186
  message.option =
187
187
  object.option !== undefined && object.option !== null
188
- ? gov_1.voteOptionFromJSON(object.option)
188
+ ? (0, gov_1.voteOptionFromJSON)(object.option)
189
189
  : 0;
190
190
  return message;
191
191
  },
@@ -195,7 +195,7 @@ exports.MsgVote = {
195
195
  (obj.proposalId = (message.proposalId || long_1.default.UZERO).toString());
196
196
  message.voter !== undefined && (obj.voter = message.voter);
197
197
  message.option !== undefined &&
198
- (obj.option = gov_1.voteOptionToJSON(message.option));
198
+ (obj.option = (0, gov_1.voteOptionToJSON)(message.option));
199
199
  return obj;
200
200
  },
201
201
  fromPartial(object) {
@@ -618,13 +618,13 @@ exports.ModeInfo_Single = {
618
618
  const message = Object.assign({}, baseModeInfo_Single);
619
619
  message.mode =
620
620
  object.mode !== undefined && object.mode !== null
621
- ? signing_1.signModeFromJSON(object.mode)
621
+ ? (0, signing_1.signModeFromJSON)(object.mode)
622
622
  : 0;
623
623
  return message;
624
624
  },
625
625
  toJSON(message) {
626
626
  const obj = {};
627
- message.mode !== undefined && (obj.mode = signing_1.signModeToJSON(message.mode));
627
+ message.mode !== undefined && (obj.mode = (0, signing_1.signModeToJSON)(message.mode));
628
628
  return obj;
629
629
  },
630
630
  fromPartial(object) {
@@ -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.CURRENT_GAS_PRICE = 769.23077;
@@ -23,7 +23,9 @@ export declare const InsightsEndpoints: {
23
23
  'position/view': string;
24
24
  'position/liquidation': string;
25
25
  'position/liquidation/engine': string;
26
+ 'competition/list': string;
26
27
  'competition/leaderboard': string;
28
+ 'competition/leaderboardpnl': string;
27
29
  'info/denom_gecko_map': string;
28
30
  'market/funding': string;
29
31
  };
@@ -34,7 +34,9 @@ exports.InsightsEndpoints = {
34
34
  'position/liquidation': '/position/liquidation',
35
35
  'position/liquidation/engine': '/position/liquidation/engine',
36
36
  // Competition api
37
+ 'competition/list': '/competition/list',
37
38
  'competition/leaderboard': '/competition/leaderboard',
39
+ 'competition/leaderboardpnl': '/competition/leaderboardpnl',
38
40
  //Coin Gecko Tokens api
39
41
  'info/denom_gecko_map': '/info/denom_gecko_map',
40
42
  //funding
@@ -1,5 +1,25 @@
1
- import { TimeMeta } from "./common";
2
- export interface LeaderboardEntry {
1
+ import { TimeMeta, PageMeta } from "./common";
2
+ export interface CompetitionItem {
3
+ id: string;
4
+ competitionId: string;
5
+ market: string;
6
+ start: string;
7
+ end: string;
8
+ enablePNL: boolean;
9
+ minBalance: number;
10
+ enableVolume: boolean;
11
+ makerIncentive: boolean;
12
+ }
13
+ export interface QueryGetCompetitionListResponse {
14
+ models: CompetitionItem[];
15
+ meta: PageMeta;
16
+ }
17
+ export interface QueryGetCompetitionListRequest {
18
+ limit?: number;
19
+ offset?: number;
20
+ }
21
+ export interface VolumeLeaderboardEntry {
22
+ competitionId: string;
3
23
  address: string;
4
24
  market: string;
5
25
  totalVolume: string;
@@ -7,12 +27,34 @@ export interface LeaderboardEntry {
7
27
  username: string | null;
8
28
  twitter: string | null;
9
29
  }
10
- export interface QueryGetCompetitionLeaderboardResponse {
11
- entries: LeaderboardEntry[];
30
+ export interface QueryGetVolumeCompetitionLeaderboardResponse {
31
+ entries: VolumeLeaderboardEntry[];
32
+ meta: TimeMeta;
33
+ }
34
+ export interface QueryGetVolumeCompetitionLeaderboardRequest {
35
+ competitionId: string;
36
+ market?: string;
37
+ from?: string;
38
+ until?: string;
39
+ }
40
+ export interface PNLLeaderboardEntry {
41
+ competitionId: string;
42
+ address: string;
43
+ market: string;
44
+ realizedPnl: string;
45
+ unrealizedPnl: string;
46
+ initialBalance: string;
47
+ totalPnl: string;
48
+ PnlPercent: string;
49
+ rank: string;
50
+ username: string | null;
51
+ twitter: string | null;
52
+ }
53
+ export interface QueryGetPNLCompetitionLeaderboardResponse {
54
+ entries: PNLLeaderboardEntry[];
12
55
  meta: TimeMeta;
13
56
  }
14
- export interface QueryGetCompetitionLeaderboardRequest {
57
+ export interface QueryGetPNLCompetitionLeaderboardRequest {
58
+ competitionId: string;
15
59
  market?: string;
16
- from: string;
17
- until: string;
18
60
  }
@@ -12,6 +12,7 @@ export declare class AdminModule extends BaseModule {
12
12
  syncToken(params: AdminModule.SyncTokenParams, opts?: CarbonTx.SignTxOpts): Promise<import("@cosmjs/stargate").DeliverTxResponse>;
13
13
  bindToken(params: AdminModule.BindTokenParams, opts?: CarbonTx.SignTxOpts): Promise<import("@cosmjs/stargate").DeliverTxResponse>;
14
14
  unbindToken(params: AdminModule.UnbindTokenParams, opts?: CarbonTx.SignTxOpts): Promise<import("@cosmjs/stargate").DeliverTxResponse>;
15
+ updateToken(params: AdminModule.UpdateTokenParams, opts?: CarbonTx.SignTxOpts): Promise<import("@cosmjs/stargate").DeliverTxResponse>;
15
16
  linkToken(params: AdminModule.LinkTokenParams, opts?: CarbonTx.SignTxOpts): Promise<import("@cosmjs/stargate").DeliverTxResponse>;
16
17
  createMarket(params: AdminModule.CreateMarketParams, opts?: CarbonTx.SignTxOpts): Promise<import("@cosmjs/stargate").DeliverTxResponse>;
17
18
  createMarkets(params: AdminModule.CreateMarketParams[], opts?: CarbonTx.SignTxOpts): Promise<import("@cosmjs/stargate").DeliverTxResponse>;
@@ -64,6 +65,13 @@ export declare namespace AdminModule {
64
65
  bridgeAddress: string;
65
66
  tokenAddress: string;
66
67
  }
68
+ interface UpdateTokenParams {
69
+ denom: string;
70
+ name?: string;
71
+ symbol?: string;
72
+ decimals?: number;
73
+ isActive?: boolean;
74
+ }
67
75
  interface SyncTokenParams {
68
76
  denom: string;
69
77
  }
@@ -105,6 +105,25 @@ class AdminModule extends base_1.default {
105
105
  }, opts);
106
106
  });
107
107
  }
108
+ updateToken(params, opts) {
109
+ return __awaiter(this, void 0, void 0, function* () {
110
+ const wallet = this.getWallet();
111
+ const value = tx_2.MsgUpdateToken.fromPartial({
112
+ updater: wallet.bech32Address,
113
+ denom: params.denom,
114
+ updateTokenParams: {
115
+ name: params.name,
116
+ symbol: params.symbol,
117
+ decimals: params.decimals,
118
+ isActive: params.isActive,
119
+ }
120
+ });
121
+ return yield wallet.sendTx({
122
+ typeUrl: util_1.CarbonTx.Types.MsgUpdateToken,
123
+ value,
124
+ }, opts);
125
+ });
126
+ }
108
127
  linkToken(params, opts) {
109
128
  return __awaiter(this, void 0, void 0, function* () {
110
129
  const wallet = this.getWallet();
@@ -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,63 +113,63 @@ class GovModule extends base_1.default {
113
113
  const linkPoolMsg = {
114
114
  title: title,
115
115
  description: description,
116
- msg: admin_1.transfromLinkPoolParams(msg)
116
+ msg: (0, admin_1.transfromLinkPoolParams)(msg)
117
117
  };
118
118
  return proposal_3.LinkPoolProposal.encode(linkPoolMsg).finish();
119
119
  case "UnlinkPoolProposal":
120
120
  const unlinkPoolMsg = {
121
121
  title: title,
122
122
  description: description,
123
- msg: admin_1.transfromUnlinkPoolParams(msg)
123
+ msg: (0, admin_1.transfromUnlinkPoolParams)(msg)
124
124
  };
125
125
  return proposal_3.UnlinkPoolProposal.encode(unlinkPoolMsg).finish();
126
126
  case "SetRewardCurveProposal":
127
127
  const setRewardCurveMsg = {
128
128
  title: title,
129
129
  description: description,
130
- msg: admin_1.transfromSetRewardCurveParams(msg)
130
+ msg: (0, admin_1.transfromSetRewardCurveParams)(msg)
131
131
  };
132
132
  return proposal_3.SetRewardCurveProposal.encode(setRewardCurveMsg).finish();
133
133
  case "SetCommitmentCurveProposal":
134
134
  const setCommitmentCurveMsg = {
135
135
  title: title,
136
136
  description: description,
137
- msg: admin_1.transfromSetCommitmentCurveParams(msg)
137
+ msg: (0, admin_1.transfromSetCommitmentCurveParams)(msg)
138
138
  };
139
139
  return proposal_3.SetCommitmentCurveProposal.encode(setCommitmentCurveMsg).finish();
140
140
  case "SetRewardsWeightsProposal":
141
141
  const setRewardsWeightsMsg = {
142
142
  title: title,
143
143
  description: description,
144
- msg: admin_1.transfromSetRewardsWeightsParams(msg)
144
+ msg: (0, admin_1.transfromSetRewardsWeightsParams)(msg)
145
145
  };
146
146
  return proposal_3.SetRewardsWeightsProposal.encode(setRewardsWeightsMsg).finish();
147
147
  case "UpdatePoolProposal":
148
148
  const updatePoolProposalMsg = {
149
149
  title: title,
150
150
  description: description,
151
- msg: admin_1.transfromUpdatePoolParams(msg)
151
+ msg: (0, admin_1.transfromUpdatePoolParams)(msg)
152
152
  };
153
153
  return proposal_3.UpdatePoolProposal.encode(updatePoolProposalMsg).finish();
154
154
  case "UpdateMarketProposal":
155
155
  const updateMarketProposalMsg = {
156
156
  title: title,
157
157
  description: description,
158
- msg: market_1.transfromUpdateMarketParams(msg)
158
+ msg: (0, market_1.transfromUpdateMarketParams)(msg)
159
159
  };
160
160
  return proposal_4.UpdateMarketProposal.encode(updateMarketProposalMsg).finish();
161
161
  case "CreateOracleProposal":
162
162
  const createOracleProposalMsg = {
163
163
  title: title,
164
164
  description: description,
165
- msg: admin_1.transfromCreateOracleParams(msg, wallet.bech32Address)
165
+ msg: (0, admin_1.transfromCreateOracleParams)(msg, wallet.bech32Address)
166
166
  };
167
167
  return proposal_5.CreateOracleProposal.encode(createOracleProposalMsg).finish();
168
168
  case "SettlementPriceProposal":
169
169
  const settlementPriceProposalMsg = {
170
170
  title: title,
171
171
  description: description,
172
- msg: admin_1.transformSetSettlementPriceParams(msg),
172
+ msg: (0, admin_1.transformSetSettlementPriceParams)(msg),
173
173
  };
174
174
  return proposal_6.SettlementPriceProposal.encode(settlementPriceProposalMsg).finish();
175
175
  case "ParameterChangeProposal":
@@ -191,7 +191,7 @@ class GovModule extends base_1.default {
191
191
  title: title,
192
192
  description: description,
193
193
  recipient: proposalMsg.recipient,
194
- amount: admin_1.transformCommunityPoolSpendAmount(proposalMsg.amount),
194
+ amount: (0, admin_1.transformCommunityPoolSpendAmount)(proposalMsg.amount),
195
195
  };
196
196
  return distribution_1.CommunityPoolSpendProposal.encode(communityPoolSpendProposalMsg).finish();
197
197
  case "CancelSoftwareUpgradeProposal":