finish all return type
This commit is contained in:
parent
20099d88d8
commit
727f8ea026
@ -7,6 +7,7 @@
|
||||
"serve": "vite",
|
||||
"build": "run-p type-check build-only",
|
||||
"preview": "vite preview",
|
||||
"test": "jest",
|
||||
"build-only": "vite build",
|
||||
"type-check": "vue-tsc --noEmit",
|
||||
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
|
||||
@ -46,6 +47,7 @@
|
||||
"devDependencies": {
|
||||
"@osmonauts/telescope": "^0.88.2",
|
||||
"@rushstack/eslint-patch": "^1.1.4",
|
||||
"@types/jest": "^29.5.0",
|
||||
"@types/marked": "^4.0.8",
|
||||
"@types/node": "^18.11.12",
|
||||
"@types/numeral": "^2.0.2",
|
||||
@ -55,6 +57,7 @@
|
||||
"@vue/tsconfig": "^0.1.3",
|
||||
"eslint": "^8.22.0",
|
||||
"eslint-plugin-vue": "^9.3.0",
|
||||
"jest": "^29.5.0",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"prettier": "^2.7.1",
|
||||
"sass": "^1.58.0",
|
||||
|
@ -8,22 +8,22 @@ export const DEFAULT: RequestRegistry = {
|
||||
bank_balances_address: { url: "/cosmos/bank/v1beta1/balances/{address}", adapter },
|
||||
bank_denoms_metadata: { url: "/cosmos/bank/v1beta1/denoms_metadata", adapter },
|
||||
bank_supply: { url: "/cosmos/bank/v1beta1/supply", adapter },
|
||||
bank_supply_by_denom: { url: "/cosmos/bank/v1beta1/supply/by_denom", adapter },
|
||||
bank_supply_by_denom: { url: "/cosmos/bank/v1beta1/supply/{denom}", adapter },
|
||||
distribution_params: { url: "/cosmos/distribution/v1beta1/params", adapter },
|
||||
distribution_validator_commission: { url: "/cosmos/distribution/v1beta1/validators/{validator_address}/commission", adapter },
|
||||
distribution_validator_outstanding_rewards: { url: "/cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards", adapter },
|
||||
distribution_validator_slashes: { url: "/cosmos/distribution/v1beta1/validators/{validator_address}/slashes", adapter },
|
||||
slashing_params: { url: "/cosmos/slashing/v1beta1/params", adapter },
|
||||
slashing_signing_info: { url: "/cosmos/slashing/v1beta1/signing_infos", adapter },
|
||||
gov_params_voting: { url: "/cosmos/gov/v1/params/voting", adapter },
|
||||
gov_params_tally: { url: "/cosmos/gov/v1/params/tallying", adapter },
|
||||
gov_params_deposit: { url: "/cosmos/gov/v1/params/deposit", adapter },
|
||||
gov_proposals: { url: "/cosmos/gov/v1/proposals", adapter },
|
||||
gov_proposals_proposal_id: {url: "/cosmos/gov/v1/proposals/{proposal_id}", adapter},
|
||||
gov_proposals_deposits: { url: "/cosmos/gov/v1/proposals/{proposal_id}/deposits", adapter },
|
||||
gov_proposals_tally: { url: "/cosmos/gov/v1/proposals/{proposal_id}/tally", adapter },
|
||||
gov_proposals_votes: { url: "/cosmos/gov/v1/proposals/{proposal_id}/votes", adapter },
|
||||
gov_proposals_votes_voter: { url: "/cosmos/gov/v1/proposals/{proposal_id}/votes/{voter}", adapter },
|
||||
gov_params_voting: { url: "/cosmos/gov/v1beta1/params/voting", adapter },
|
||||
gov_params_tally: { url: "/cosmos/gov/v1beta1/params/tallying", adapter },
|
||||
gov_params_deposit: { url: "/cosmos/gov/v1beta1/params/deposit", adapter },
|
||||
gov_proposals: { url: "/cosmos/gov/v1beta1/proposals", adapter },
|
||||
gov_proposals_proposal_id: {url: "/cosmos/gov/v1beta1/proposals/{proposal_id}", adapter},
|
||||
gov_proposals_deposits: { url: "/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits", adapter },
|
||||
gov_proposals_tally: { url: "/cosmos/gov/v1beta1/proposals/{proposal_id}/tally", adapter },
|
||||
gov_proposals_votes: { url: "/cosmos/gov/v1beta1/proposals/{proposal_id}/votes", adapter },
|
||||
gov_proposals_votes_voter: { url: "/cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}", adapter },
|
||||
staking_deletations: { url: "/cosmos/staking/v1beta1/delegations/{delegator_addr}", adapter },
|
||||
staking_delegator_redelegations: { url: "/cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations", adapter },
|
||||
staking_delegator_unbonding_delegations: { url: "/cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations", adapter },
|
||||
|
@ -139,7 +139,7 @@ export class CosmosRestClient {
|
||||
return this.request(this.registry.base_tendermint_validatorsets_height, {height})
|
||||
}
|
||||
async getBaseValidatorsetLatest() {
|
||||
return this.request(this.registry.base_tendermint_block_latest, {})
|
||||
return this.request(this.registry.base_tendermint_validatorsets_latest, {})
|
||||
}
|
||||
// tx
|
||||
async getTxsBySender(sender: string) {
|
||||
@ -150,7 +150,7 @@ export class CosmosRestClient {
|
||||
return this.request(this.registry.tx_txs_block, {height})
|
||||
}
|
||||
async getTx(hash: string) {
|
||||
return this.request(this.registry.tx_hash, {})
|
||||
return this.request(this.registry.tx_hash, {hash})
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,8 +1,11 @@
|
||||
import type { Block, NodeInfo, SlashingSigningInfo } from "@/types";
|
||||
import type { PaginabledAccounts } from "@/types/Auth";
|
||||
import type { Tx } from "@/types/Tx";
|
||||
import type { Block, Coin, NodeInfo, PaginatedTendermintValidator, SlashingSigningInfo } from "@/types";
|
||||
import type { AuthAccount, PaginabledAccounts } from "@/types/Auth";
|
||||
import type { PaginatedTxs, Tx, TxResponse } from "@/types/Tx";
|
||||
import type { Txs } from "@/types/Txs";
|
||||
import type { PaginatedDenomMetadata, PaginatedSupply } from "@/types/bank";
|
||||
import type { BankParams, PaginatedBalances, PaginatedDenomMetadata, PaginatedSupply } from "@/types/bank";
|
||||
import type { DistributionParams, PaginatedSlashes } from "@/types/distribution";
|
||||
import type { GovParams, GovProposal, GovVote, PaginatedProposalDeposit, PaginatedProposalVotes, PaginatedProposals, Tally } from "@/types/gov";
|
||||
import type { Delegation, PaginatedDelegations, PaginatedRedelegations, PaginatedUnbonding, PaginatedValdiators, StakingParam, StakingPool, Validator } from "@/types/staking";
|
||||
import semver from "semver";
|
||||
|
||||
|
||||
@ -15,54 +18,54 @@ export interface Request<T> {
|
||||
export interface RequestRegistry {
|
||||
auth_params: Request<any>
|
||||
auth_accounts: Request<PaginabledAccounts>;
|
||||
auth_account_address: Request<any>;
|
||||
auth_account_address: Request<{account: AuthAccount}>;
|
||||
|
||||
bank_params: Request<any>;
|
||||
bank_balances_address: Request<any>;
|
||||
bank_params: Request<BankParams>;
|
||||
bank_balances_address: Request<PaginatedBalances>;
|
||||
bank_denoms_metadata: Request<PaginatedDenomMetadata>;
|
||||
bank_supply: Request<PaginatedSupply>;
|
||||
bank_supply_by_denom: Request<any>;
|
||||
bank_supply_by_denom: Request<{amount: Coin}>;
|
||||
|
||||
distribution_params: Request<any>;
|
||||
distribution_validator_commission: Request<any>;
|
||||
distribution_validator_outstanding_rewards: Request<any>;
|
||||
distribution_validator_slashes: Request<any>;
|
||||
distribution_params: Request<DistributionParams>;
|
||||
distribution_validator_commission: Request<{commission?: {commission?: Coin[]}}>;
|
||||
distribution_validator_outstanding_rewards: Request<{rewards?: {rewards?: Coin[]}}>;
|
||||
distribution_validator_slashes: Request<PaginatedSlashes>;
|
||||
|
||||
slashing_params: Request<any>;
|
||||
slashing_signing_info: Request<SlashingSigningInfo>;
|
||||
|
||||
gov_params_voting: Request<any>;
|
||||
gov_params_tally: Request<any>;
|
||||
gov_params_deposit: Request<any>;
|
||||
gov_proposals: Request<any>;
|
||||
gov_proposals_proposal_id: Request<any>;
|
||||
gov_proposals_deposits: Request<any>;
|
||||
gov_proposals_tally: Request<any>;
|
||||
gov_proposals_votes: Request<any>;
|
||||
gov_proposals_votes_voter: Request<any>;
|
||||
gov_params_voting: Request<GovParams>;
|
||||
gov_params_tally: Request<GovParams>;
|
||||
gov_params_deposit: Request<GovParams>;
|
||||
gov_proposals: Request<PaginatedProposals>;
|
||||
gov_proposals_proposal_id: Request<{proposal: GovProposal}>;
|
||||
gov_proposals_deposits: Request<PaginatedProposalDeposit>;
|
||||
gov_proposals_tally: Request<Tally>;
|
||||
gov_proposals_votes: Request<PaginatedProposalVotes>;
|
||||
gov_proposals_votes_voter: Request<{vote: GovVote}>;
|
||||
|
||||
staking_deletations: Request<any>;
|
||||
staking_delegator_redelegations: Request<any>;
|
||||
staking_delegator_unbonding_delegations: Request<any>;
|
||||
staking_delegator_validators: Request<any>;
|
||||
staking_params: Request<any>;
|
||||
staking_pool: Request<any>;
|
||||
staking_validators: Request<any>;
|
||||
staking_validators_address: Request<any>;
|
||||
staking_validators_delegations: Request<any>;
|
||||
staking_validators_delegations_delegator: Request<any>;
|
||||
staking_deletations: Request<PaginatedDelegations>;
|
||||
staking_delegator_redelegations: Request<PaginatedRedelegations>;
|
||||
staking_delegator_unbonding_delegations: Request<PaginatedUnbonding>;
|
||||
staking_delegator_validators: Request<PaginatedValdiators>;
|
||||
staking_params: Request<StakingParam>;
|
||||
staking_pool: Request<StakingPool>;
|
||||
staking_validators: Request<PaginatedValdiators>;
|
||||
staking_validators_address: Request<{validator: Validator}>;
|
||||
staking_validators_delegations: Request<PaginatedDelegations>;
|
||||
staking_validators_delegations_delegator: Request<{delegation_response: Delegation}>;
|
||||
staking_validators_delegations_unbonding_delegations: Request<any>;
|
||||
|
||||
base_tendermint_abci_query: Request<any>;
|
||||
base_tendermint_block_latest: Request<Block>;
|
||||
base_tendermint_block_height: Request<Block>;
|
||||
base_tendermint_node_info: Request<NodeInfo>;
|
||||
base_tendermint_validatorsets_latest: Request<any>;
|
||||
base_tendermint_validatorsets_height: Request<any>;
|
||||
base_tendermint_validatorsets_latest: Request<PaginatedTendermintValidator>;
|
||||
base_tendermint_validatorsets_height: Request<PaginatedTendermintValidator>;
|
||||
|
||||
tx_txs: Request<Txs>;
|
||||
tx_txs: Request<PaginatedTxs>;
|
||||
tx_txs_block: Request<Txs>;
|
||||
tx_hash: Request<Tx>;
|
||||
tx_hash: Request<{tx: Tx, tx_response: TxResponse}>;
|
||||
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,14 @@
|
||||
<script lang="ts" setup>
|
||||
import { CosmosRestClient } from '@/libs/client';
|
||||
|
||||
async function tt() {
|
||||
const address = "echelon1uattqtrtv8944qkmh44ll97qjacj6tgrekqzm9"
|
||||
const validator = "echelonvaloper1uattqtrtv8944qkmh44ll97qjacj6tgr2cupk4"
|
||||
const client = new CosmosRestClient("https://api.ech.network")
|
||||
let response = await client.getTx("EFF175AF4D46532CFACA4A0F0748DFF1EF8CC1C96DA967D8AFB794EFE048461C");
|
||||
console.log('response:', response)
|
||||
}
|
||||
tt()
|
||||
</script>
|
||||
<template>
|
||||
<div>Hello wallet</div>
|
||||
|
@ -1,3 +0,0 @@
|
||||
export interface Block {
|
||||
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
export interface Coin {
|
||||
amount: string|number;
|
||||
denom: string;
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
export interface NodeInfo {
|
||||
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
export interface Pagination {
|
||||
key?: string;
|
||||
total?: string;
|
||||
}
|
||||
|
||||
export interface PaginatedResponse {
|
||||
pagination: Pagination;
|
||||
}
|
||||
|
||||
/*
|
||||
class PaginatedResponse<T, K extends string> {
|
||||
[key: string]: T[];
|
||||
pagination: Pagination;
|
||||
|
||||
constructor(data: T[], pagination: Pagination, dataFieldName: K) {
|
||||
this.pagination = pagination;
|
||||
this[dataFieldName] = data;
|
||||
}
|
||||
}
|
||||
// */
|
@ -1,5 +0,0 @@
|
||||
export class Proposal {
|
||||
type: string = '';
|
||||
title: string = '';
|
||||
description: string = ''
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
export interface SlashingSigningInfo {
|
||||
|
||||
}
|
@ -1,3 +1,68 @@
|
||||
export interface Tx {
|
||||
import type { Coin, Key, PaginatedResponse } from "./common"
|
||||
|
||||
export interface Tx {
|
||||
"@type"?: string,
|
||||
"body": {
|
||||
"messages": {"@type": string}[],
|
||||
"memo": string,
|
||||
"timeout_height": string,
|
||||
"extension_options": any[],
|
||||
"non_critical_extension_options": any[]
|
||||
},
|
||||
"auth_info": {
|
||||
"signer_infos": [
|
||||
{
|
||||
"public_key": Key,
|
||||
"mode_info": {
|
||||
"single"?: {
|
||||
"mode": string // "SIGN_MODE_DIRECT"
|
||||
}
|
||||
},
|
||||
"sequence": string
|
||||
}
|
||||
],
|
||||
"fee": {
|
||||
"amount": Coin[],
|
||||
"gas_limit": string,
|
||||
"payer": string,
|
||||
"granter": string
|
||||
}
|
||||
},
|
||||
"signatures": string[]
|
||||
}
|
||||
|
||||
export interface Attributes {
|
||||
index?: boolean,
|
||||
key: string,
|
||||
value: string
|
||||
}
|
||||
|
||||
export interface TxResponse {
|
||||
"height": string,
|
||||
"txhash": string,
|
||||
"codespace": string,
|
||||
"code": number,
|
||||
"data": string,
|
||||
"raw_log": string,
|
||||
"logs": [
|
||||
{
|
||||
"msg_index": number,
|
||||
"log": string,
|
||||
"events": Attributes[]
|
||||
}
|
||||
],
|
||||
"info": "",
|
||||
"gas_wanted": "204431",
|
||||
"gas_used": "202682",
|
||||
"tx": Tx,
|
||||
"timestamp": "2022-08-13T23:24:54Z",
|
||||
"events": {
|
||||
"type": string,
|
||||
"attributes": Attributes[]
|
||||
}[]
|
||||
}
|
||||
|
||||
export interface PaginatedTxs extends PaginatedResponse {
|
||||
txs: Tx[]
|
||||
tx_responses: TxResponse[]
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
export interface Txs {
|
||||
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
import type { PaginatedResponse } from "./Pagination";
|
||||
import type { Key } from "./common";
|
||||
|
||||
import type { Key, PaginatedResponse } from "./common";
|
||||
|
||||
export interface AuthAccount {
|
||||
"@type": string,
|
||||
|
@ -1,5 +1,5 @@
|
||||
import type { Coin } from "./Coin";
|
||||
import type { PaginatedResponse } from "./Pagination";
|
||||
|
||||
import type { Coin, PaginatedResponse } from "./common";
|
||||
|
||||
export interface BankParams {
|
||||
params: {
|
||||
@ -21,6 +21,10 @@ export interface DenomMetadata {
|
||||
"symbol": string
|
||||
}
|
||||
|
||||
export interface PaginatedBalances extends PaginatedResponse{
|
||||
balances: Coin[]
|
||||
}
|
||||
|
||||
export interface PaginatedDenomMetadata extends PaginatedResponse{
|
||||
metadatas: DenomMetadata[]
|
||||
}
|
||||
|
53
src/types/base.ts
Normal file
53
src/types/base.ts
Normal file
@ -0,0 +1,53 @@
|
||||
import type { Key } from "./common"
|
||||
|
||||
export interface NodeInfo {
|
||||
"default_node_info": {
|
||||
"protocol_version": {
|
||||
"p2p": string,
|
||||
"block": string,
|
||||
"app": string
|
||||
},
|
||||
"default_node_id": string,
|
||||
"listen_addr": string,
|
||||
"network": string,
|
||||
"version": string,
|
||||
"channels": string,
|
||||
"moniker": string,
|
||||
"other": {
|
||||
"tx_index": string,
|
||||
"rpc_address": string
|
||||
}
|
||||
},
|
||||
"application_version": {
|
||||
"name": string,
|
||||
"app_name": string,
|
||||
"version": string,
|
||||
"git_commit": string,
|
||||
"build_tags": string,
|
||||
"go_version": string,
|
||||
"build_deps": [
|
||||
{
|
||||
"path": string,
|
||||
"version": string,
|
||||
"sum": string,
|
||||
},
|
||||
],
|
||||
"cosmos_sdk_version": string,
|
||||
}
|
||||
}
|
||||
|
||||
export interface Block {
|
||||
|
||||
}
|
||||
|
||||
export interface TendermintValidator {
|
||||
"address": string,
|
||||
"pub_key": Key,
|
||||
"voting_power": string,
|
||||
"proposer_priority": string
|
||||
}
|
||||
|
||||
export interface PaginatedTendermintValidator {
|
||||
validators: TendermintValidator[],
|
||||
block_height: string
|
||||
}
|
@ -2,3 +2,21 @@ export interface Key {
|
||||
"@type": string,
|
||||
"key": string,
|
||||
}
|
||||
|
||||
export interface Pagination {
|
||||
key?: string;
|
||||
total?: string;
|
||||
}
|
||||
|
||||
export interface PaginatedResponse {
|
||||
pagination: Pagination;
|
||||
}
|
||||
|
||||
export class Response<T> {
|
||||
[key: string]: T
|
||||
}
|
||||
|
||||
export interface Coin {
|
||||
amount: string|number;
|
||||
denom: string;
|
||||
}
|
14
src/types/distribution.ts
Normal file
14
src/types/distribution.ts
Normal file
@ -0,0 +1,14 @@
|
||||
import type { PaginatedResponse } from "./common"
|
||||
|
||||
export interface DistributionParams {
|
||||
params: {
|
||||
"community_tax": string,
|
||||
"base_proposer_reward": string,
|
||||
"bonus_proposer_reward": string,
|
||||
"withdraw_addr_enabled": boolean
|
||||
}
|
||||
}
|
||||
|
||||
export interface PaginatedSlashes extends PaginatedResponse {
|
||||
slashes: any[]
|
||||
}
|
72
src/types/gov.ts
Normal file
72
src/types/gov.ts
Normal file
@ -0,0 +1,72 @@
|
||||
import type { Coin } from "./Coin"
|
||||
import type { PaginatedResponse } from "./common"
|
||||
|
||||
export interface GovParams {
|
||||
"voting_params": {
|
||||
"voting_period": string,
|
||||
"proposal_voting_periods": any[],
|
||||
"expedited_voting_period": string
|
||||
},
|
||||
"deposit_params": {
|
||||
"min_deposit": Coin[],
|
||||
"max_deposit_period": string,
|
||||
"min_expedited_deposit": Coin[],
|
||||
"min_initial_deposit_ratio": string
|
||||
},
|
||||
"tally_params": {
|
||||
"quorum": string,
|
||||
"threshold": string,
|
||||
"veto_threshold": string,
|
||||
"expedited_threshold": string
|
||||
}
|
||||
}
|
||||
|
||||
export interface GovProposal {
|
||||
"proposal_id": string,
|
||||
"content": {
|
||||
"@type": string,
|
||||
"title": string,
|
||||
"description": string,
|
||||
},
|
||||
"status": string,
|
||||
"final_tally_result": {
|
||||
"yes": string,
|
||||
"abstain": string,
|
||||
"no": string,
|
||||
"no_with_veto": string,
|
||||
},
|
||||
"submit_time": string,
|
||||
"deposit_end_time": string,
|
||||
"total_deposit": Coin[],
|
||||
"voting_start_time": string,
|
||||
"voting_end_time": string,
|
||||
"is_expedited": boolean
|
||||
}
|
||||
|
||||
export interface Tally {
|
||||
tally: {
|
||||
yes: string,
|
||||
abstain: string,
|
||||
no: string,
|
||||
no_with_veto: string
|
||||
}
|
||||
}
|
||||
|
||||
export interface GovVote {
|
||||
proposal_id: string,
|
||||
voter: string,
|
||||
option: string,
|
||||
options: { "option": string, "weight": string }[]
|
||||
}
|
||||
|
||||
export interface PaginatedProposals extends PaginatedResponse {
|
||||
proposals: GovProposal[]
|
||||
}
|
||||
|
||||
export interface PaginatedProposalDeposit extends PaginatedResponse {
|
||||
deposits: Coin[]
|
||||
}
|
||||
|
||||
export interface PaginatedProposalVotes extends PaginatedResponse {
|
||||
votes: GovVote[]
|
||||
}
|
@ -1,5 +1,8 @@
|
||||
export * from './Coin'
|
||||
export * from './Proposal'
|
||||
export * from './NodeInfo'
|
||||
export * from './Block'
|
||||
export * from './SlashingSigningInfo'
|
||||
|
||||
export * from './base'
|
||||
export * from './auth'
|
||||
export * from './bank'
|
||||
export * from './common'
|
||||
export * from './distribution'
|
||||
export * from './gov'
|
||||
export * from './staking'
|
76
src/types/staking.ts
Normal file
76
src/types/staking.ts
Normal file
@ -0,0 +1,76 @@
|
||||
import type { Key, PaginatedResponse, Coin } from "./common"
|
||||
|
||||
export interface Validator {
|
||||
"operator_address": string,
|
||||
"consensus_pubkey": Key,
|
||||
"jailed": boolean,
|
||||
"status": string,
|
||||
"tokens": string,
|
||||
"delegator_shares": string,
|
||||
"description": {
|
||||
"moniker": string,
|
||||
"identity"?: string,
|
||||
"website"?: string,
|
||||
"security_contact"?: string,
|
||||
"details"?: string
|
||||
},
|
||||
"unbonding_height": string,
|
||||
"unbonding_time": string,
|
||||
"commission": {
|
||||
"commission_rates": {
|
||||
"rate": string,
|
||||
"max_rate": string,
|
||||
"max_change_rate": string
|
||||
},
|
||||
"update_time": string
|
||||
},
|
||||
"min_self_delegation": string
|
||||
}
|
||||
|
||||
export interface Delegation {
|
||||
delegation: {
|
||||
delegator_address: string,
|
||||
validator_address: string,
|
||||
shares: string
|
||||
},
|
||||
balance: Coin
|
||||
}
|
||||
|
||||
export interface Redelegation {
|
||||
|
||||
}
|
||||
|
||||
export interface StakingParam {
|
||||
params: {
|
||||
"unbonding_time": string,
|
||||
"max_validators": number,
|
||||
"max_entries": number,
|
||||
"historical_entries": number,
|
||||
"bond_denom": string,
|
||||
"min_commission_rate": string,
|
||||
"min_self_delegation": string
|
||||
}
|
||||
}
|
||||
|
||||
export interface StakingPool {
|
||||
pool: {
|
||||
not_bonded_tokens: string,
|
||||
bonded_tokens: string
|
||||
}
|
||||
}
|
||||
|
||||
export interface PaginatedDelegations extends PaginatedResponse {
|
||||
delegation_responses: Delegation[]
|
||||
}
|
||||
|
||||
export interface PaginatedRedelegations extends PaginatedResponse {
|
||||
redelegation_responses: Redelegation[]
|
||||
}
|
||||
|
||||
export interface PaginatedUnbonding extends PaginatedResponse {
|
||||
unbonding_responses: any[]
|
||||
}
|
||||
|
||||
export interface PaginatedValdiators extends PaginatedResponse {
|
||||
validators: Validator[]
|
||||
}
|
9
tests/client.test.ts
Normal file
9
tests/client.test.ts
Normal file
@ -0,0 +1,9 @@
|
||||
import { CosmosRestClient } from '../src/libs/client'
|
||||
|
||||
const client = new CosmosRestClient("https://osmosis-rpc.polkachu.com")
|
||||
|
||||
describe('cosmos rest client test', () => {
|
||||
it('node-info', () => {
|
||||
client.getBaseNodeInfo()
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue
Block a user