Update Cosmos SDK codecs to 0.42.0

This commit is contained in:
Simon Warta 2021-03-11 11:17:46 +01:00
parent 6595b23a72
commit 8743000e2a
8 changed files with 352 additions and 15 deletions

View File

@ -37,7 +37,7 @@
"coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet",
"pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js",
"preget-proto": "shx rm -rf proto",
"get-proto": "WASM_REF=v0.16.0-alpha1 COSMOS_REF=v0.42.0 ./scripts/get-proto.sh",
"get-proto": "WASM_REF=v0.16.0-alpha1 COSMOS_SDK_REF=v0.42.0 ./scripts/get-proto.sh",
"define-proto": "./scripts/define-proto.sh",
"postdefine-proto": "prettier --write \"src/codec/**/*.ts\""
},

View File

@ -7,8 +7,8 @@ PROTO_DIR="./proto"
COSMOS_DIR="$PROTO_DIR/cosmos"
COSMOS_SDK_DIR="$COSMOS_DIR/cosmos-sdk"
COSMOS_SDK_ZIP_FILE="$COSMOS_DIR/tmp.zip"
COSMOS_REF=${COSMOS_REF:-"master"}
COSMOS_SUFFIX=${COSMOS_REF}
COSMOS_SDK_REF=${COSMOS_SDK_REF:-"master"}
COSMOS_SUFFIX=${COSMOS_SDK_REF}
[[ $COSMOS_SUFFIX =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-.+)?$ ]] && COSMOS_SUFFIX=${COSMOS_SUFFIX#v}
COSMWASM_DIR="$PROTO_DIR/cosmwasm"
@ -19,7 +19,7 @@ WASM_SUFFIX=${WASM_REF}
[[ $WASM_SUFFIX =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-.+)?$ ]] && WASM_SUFFIX=${WASM_SUFFIX#v}
mkdir -p "$COSMOS_DIR"
wget -qO "$COSMOS_SDK_ZIP_FILE" "https://github.com/cosmos/cosmos-sdk/archive/$COSMOS_REF.zip"
wget -qO "$COSMOS_SDK_ZIP_FILE" "https://github.com/cosmos/cosmos-sdk/archive/$COSMOS_SDK_REF.zip"
unzip "$COSMOS_SDK_ZIP_FILE" "*.proto" -d "$COSMOS_DIR"
mv "$COSMOS_SDK_DIR-$COSMOS_SUFFIX" "$COSMOS_SDK_DIR"
rm "$COSMOS_SDK_ZIP_FILE"

View File

@ -38,7 +38,7 @@
"coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet",
"pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js",
"preget-proto": "shx rm -rf proto",
"get-proto": "REF=v0.40.0 ./scripts/get-proto.sh",
"get-proto": "COSMOS_SDK_REF=v0.42.0 ./scripts/get-proto.sh",
"define-proto": "./scripts/define-proto.sh",
"postdefine-proto": "prettier --write \"src/codec/**/*.ts\""
},

View File

@ -6,14 +6,14 @@ PROTO_DIR="./proto"
COSMOS_DIR="$PROTO_DIR/cosmos"
COSMOS_SDK_DIR="$COSMOS_DIR/cosmos-sdk"
ZIP_FILE="$COSMOS_DIR/tmp.zip"
REF=${REF:-"master"}
SUFFIX=${REF}
COSMOS_SDK_REF=${COSMOS_SDK_REF:-"master"}
SUFFIX=${COSMOS_SDK_REF}
[[ $SUFFIX =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-.+)?$ ]] && SUFFIX=${SUFFIX#v}
mkdir -p "$COSMOS_DIR"
wget -qO "$ZIP_FILE" "https://github.com/cosmos/cosmos-sdk/archive/$REF.zip"
wget -qO "$ZIP_FILE" "https://github.com/cosmos/cosmos-sdk/archive/$COSMOS_SDK_REF.zip"
unzip "$ZIP_FILE" "*.proto" -d "$COSMOS_DIR"
mv "$COSMOS_SDK_DIR-$SUFFIX" "$COSMOS_SDK_DIR"
rm "$ZIP_FILE"

View File

@ -37,7 +37,7 @@
"coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet",
"pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js",
"preget-proto": "shx rm -rf proto",
"get-proto": "REF=v0.40.0 ./scripts/get-proto.sh",
"get-proto": "COSMOS_SDK_REF=v0.42.0 ./scripts/get-proto.sh",
"define-proto": "./scripts/define-proto.sh",
"postdefine-proto": "prettier --write \"src/codec/**/*.ts\""
},

View File

@ -6,14 +6,14 @@ PROTO_DIR="./proto"
COSMOS_DIR="$PROTO_DIR/cosmos"
COSMOS_SDK_DIR="$COSMOS_DIR/cosmos-sdk"
ZIP_FILE="$COSMOS_DIR/tmp.zip"
REF=${REF:-"master"}
SUFFIX=${REF}
COSMOS_SDK_REF=${COSMOS_SDK_REF:-"master"}
SUFFIX=${COSMOS_SDK_REF}
[[ $SUFFIX =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-.+)?$ ]] && SUFFIX=${SUFFIX#v}
mkdir -p "$COSMOS_DIR"
wget -qO "$ZIP_FILE" "https://github.com/cosmos/cosmos-sdk/archive/$REF.zip"
wget -qO "$ZIP_FILE" "https://github.com/cosmos/cosmos-sdk/archive/$COSMOS_SDK_REF.zip"
unzip "$ZIP_FILE" "*.proto" -d "$COSMOS_DIR"
mv "$COSMOS_SDK_DIR-$SUFFIX" "$COSMOS_SDK_DIR"
rm "$ZIP_FILE"

View File

@ -1,7 +1,7 @@
/* eslint-disable */
import { Coin } from "../../../cosmos/base/v1beta1/coin";
import { PageRequest, PageResponse } from "../../../cosmos/base/query/v1beta1/pagination";
import { Params } from "../../../cosmos/bank/v1beta1/bank";
import { Params, Metadata } from "../../../cosmos/bank/v1beta1/bank";
import _m0 from "protobufjs/minimal";
import Long from "long";
@ -75,6 +75,38 @@ export interface QueryParamsResponse {
params?: Params;
}
/** QueryDenomsMetadataRequest is the request type for the Query/DenomsMetadata RPC method. */
export interface QueryDenomsMetadataRequest {
/** pagination defines an optional pagination for the request. */
pagination?: PageRequest;
}
/**
* QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC
* method.
*/
export interface QueryDenomsMetadataResponse {
/** metadata provides the client information for all the registered tokens. */
metadatas: Metadata[];
/** pagination defines the pagination in the response. */
pagination?: PageResponse;
}
/** QueryDenomMetadataRequest is the request type for the Query/DenomMetadata RPC method. */
export interface QueryDenomMetadataRequest {
/** denom is the coin denom to query the metadata for. */
denom: string;
}
/**
* QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC
* method.
*/
export interface QueryDenomMetadataResponse {
/** metadata describes and provides all the client information for the requested token. */
metadata?: Metadata;
}
const baseQueryBalanceRequest: object = { address: "", denom: "" };
export const QueryBalanceRequest = {
@ -659,6 +691,253 @@ export const QueryParamsResponse = {
},
};
const baseQueryDenomsMetadataRequest: object = {};
export const QueryDenomsMetadataRequest = {
encode(message: QueryDenomsMetadataRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
if (message.pagination !== undefined) {
PageRequest.encode(message.pagination, writer.uint32(10).fork()).ldelim();
}
return writer;
},
decode(input: _m0.Reader | Uint8Array, length?: number): QueryDenomsMetadataRequest {
const reader = input instanceof Uint8Array ? new _m0.Reader(input) : input;
let end = length === undefined ? reader.len : reader.pos + length;
const message = { ...baseQueryDenomsMetadataRequest } as QueryDenomsMetadataRequest;
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.pagination = PageRequest.decode(reader, reader.uint32());
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): QueryDenomsMetadataRequest {
const message = { ...baseQueryDenomsMetadataRequest } as QueryDenomsMetadataRequest;
if (object.pagination !== undefined && object.pagination !== null) {
message.pagination = PageRequest.fromJSON(object.pagination);
} else {
message.pagination = undefined;
}
return message;
},
toJSON(message: QueryDenomsMetadataRequest): unknown {
const obj: any = {};
message.pagination !== undefined &&
(obj.pagination = message.pagination ? PageRequest.toJSON(message.pagination) : undefined);
return obj;
},
fromPartial(object: DeepPartial<QueryDenomsMetadataRequest>): QueryDenomsMetadataRequest {
const message = { ...baseQueryDenomsMetadataRequest } as QueryDenomsMetadataRequest;
if (object.pagination !== undefined && object.pagination !== null) {
message.pagination = PageRequest.fromPartial(object.pagination);
} else {
message.pagination = undefined;
}
return message;
},
};
const baseQueryDenomsMetadataResponse: object = {};
export const QueryDenomsMetadataResponse = {
encode(message: QueryDenomsMetadataResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
for (const v of message.metadatas) {
Metadata.encode(v!, writer.uint32(10).fork()).ldelim();
}
if (message.pagination !== undefined) {
PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim();
}
return writer;
},
decode(input: _m0.Reader | Uint8Array, length?: number): QueryDenomsMetadataResponse {
const reader = input instanceof Uint8Array ? new _m0.Reader(input) : input;
let end = length === undefined ? reader.len : reader.pos + length;
const message = { ...baseQueryDenomsMetadataResponse } as QueryDenomsMetadataResponse;
message.metadatas = [];
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.metadatas.push(Metadata.decode(reader, reader.uint32()));
break;
case 2:
message.pagination = PageResponse.decode(reader, reader.uint32());
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): QueryDenomsMetadataResponse {
const message = { ...baseQueryDenomsMetadataResponse } as QueryDenomsMetadataResponse;
message.metadatas = [];
if (object.metadatas !== undefined && object.metadatas !== null) {
for (const e of object.metadatas) {
message.metadatas.push(Metadata.fromJSON(e));
}
}
if (object.pagination !== undefined && object.pagination !== null) {
message.pagination = PageResponse.fromJSON(object.pagination);
} else {
message.pagination = undefined;
}
return message;
},
toJSON(message: QueryDenomsMetadataResponse): unknown {
const obj: any = {};
if (message.metadatas) {
obj.metadatas = message.metadatas.map((e) => (e ? Metadata.toJSON(e) : undefined));
} else {
obj.metadatas = [];
}
message.pagination !== undefined &&
(obj.pagination = message.pagination ? PageResponse.toJSON(message.pagination) : undefined);
return obj;
},
fromPartial(object: DeepPartial<QueryDenomsMetadataResponse>): QueryDenomsMetadataResponse {
const message = { ...baseQueryDenomsMetadataResponse } as QueryDenomsMetadataResponse;
message.metadatas = [];
if (object.metadatas !== undefined && object.metadatas !== null) {
for (const e of object.metadatas) {
message.metadatas.push(Metadata.fromPartial(e));
}
}
if (object.pagination !== undefined && object.pagination !== null) {
message.pagination = PageResponse.fromPartial(object.pagination);
} else {
message.pagination = undefined;
}
return message;
},
};
const baseQueryDenomMetadataRequest: object = { denom: "" };
export const QueryDenomMetadataRequest = {
encode(message: QueryDenomMetadataRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
if (message.denom !== "") {
writer.uint32(10).string(message.denom);
}
return writer;
},
decode(input: _m0.Reader | Uint8Array, length?: number): QueryDenomMetadataRequest {
const reader = input instanceof Uint8Array ? new _m0.Reader(input) : input;
let end = length === undefined ? reader.len : reader.pos + length;
const message = { ...baseQueryDenomMetadataRequest } as QueryDenomMetadataRequest;
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.denom = reader.string();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): QueryDenomMetadataRequest {
const message = { ...baseQueryDenomMetadataRequest } as QueryDenomMetadataRequest;
if (object.denom !== undefined && object.denom !== null) {
message.denom = String(object.denom);
} else {
message.denom = "";
}
return message;
},
toJSON(message: QueryDenomMetadataRequest): unknown {
const obj: any = {};
message.denom !== undefined && (obj.denom = message.denom);
return obj;
},
fromPartial(object: DeepPartial<QueryDenomMetadataRequest>): QueryDenomMetadataRequest {
const message = { ...baseQueryDenomMetadataRequest } as QueryDenomMetadataRequest;
if (object.denom !== undefined && object.denom !== null) {
message.denom = object.denom;
} else {
message.denom = "";
}
return message;
},
};
const baseQueryDenomMetadataResponse: object = {};
export const QueryDenomMetadataResponse = {
encode(message: QueryDenomMetadataResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
if (message.metadata !== undefined) {
Metadata.encode(message.metadata, writer.uint32(10).fork()).ldelim();
}
return writer;
},
decode(input: _m0.Reader | Uint8Array, length?: number): QueryDenomMetadataResponse {
const reader = input instanceof Uint8Array ? new _m0.Reader(input) : input;
let end = length === undefined ? reader.len : reader.pos + length;
const message = { ...baseQueryDenomMetadataResponse } as QueryDenomMetadataResponse;
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.metadata = Metadata.decode(reader, reader.uint32());
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): QueryDenomMetadataResponse {
const message = { ...baseQueryDenomMetadataResponse } as QueryDenomMetadataResponse;
if (object.metadata !== undefined && object.metadata !== null) {
message.metadata = Metadata.fromJSON(object.metadata);
} else {
message.metadata = undefined;
}
return message;
},
toJSON(message: QueryDenomMetadataResponse): unknown {
const obj: any = {};
message.metadata !== undefined &&
(obj.metadata = message.metadata ? Metadata.toJSON(message.metadata) : undefined);
return obj;
},
fromPartial(object: DeepPartial<QueryDenomMetadataResponse>): QueryDenomMetadataResponse {
const message = { ...baseQueryDenomMetadataResponse } as QueryDenomMetadataResponse;
if (object.metadata !== undefined && object.metadata !== null) {
message.metadata = Metadata.fromPartial(object.metadata);
} else {
message.metadata = undefined;
}
return message;
},
};
/** Query defines the gRPC querier service. */
export interface Query {
/** Balance queries the balance of a single coin for a single account. */
@ -671,6 +950,10 @@ export interface Query {
SupplyOf(request: QuerySupplyOfRequest): Promise<QuerySupplyOfResponse>;
/** Params queries the parameters of x/bank module. */
Params(request: QueryParamsRequest): Promise<QueryParamsResponse>;
/** DenomsMetadata queries the client metadata of a given coin denomination. */
DenomMetadata(request: QueryDenomMetadataRequest): Promise<QueryDenomMetadataResponse>;
/** DenomsMetadata queries the client metadata for all registered coin denominations. */
DenomsMetadata(request: QueryDenomsMetadataRequest): Promise<QueryDenomsMetadataResponse>;
}
export class QueryClientImpl implements Query {
@ -707,6 +990,18 @@ export class QueryClientImpl implements Query {
const promise = this.rpc.request("cosmos.bank.v1beta1.Query", "Params", data);
return promise.then((data) => QueryParamsResponse.decode(new _m0.Reader(data)));
}
DenomMetadata(request: QueryDenomMetadataRequest): Promise<QueryDenomMetadataResponse> {
const data = QueryDenomMetadataRequest.encode(request).finish();
const promise = this.rpc.request("cosmos.bank.v1beta1.Query", "DenomMetadata", data);
return promise.then((data) => QueryDenomMetadataResponse.decode(new _m0.Reader(data)));
}
DenomsMetadata(request: QueryDenomsMetadataRequest): Promise<QueryDenomsMetadataResponse> {
const data = QueryDenomsMetadataRequest.encode(request).finish();
const promise = this.rpc.request("cosmos.bank.v1beta1.Query", "DenomsMetadata", data);
return promise.then((data) => QueryDenomsMetadataResponse.decode(new _m0.Reader(data)));
}
}
interface Rpc {

View File

@ -74,23 +74,33 @@ export interface HistoricalInfo {
* a validator.
*/
export interface CommissionRates {
/** rate is the commission rate charged to delegators, as a fraction. */
rate: string;
/** max_rate defines the maximum commission rate which validator can ever charge, as a fraction. */
maxRate: string;
/** max_change_rate defines the maximum daily increase of the validator commission, as a fraction. */
maxChangeRate: string;
}
/** Commission defines commission parameters for a given validator. */
export interface Commission {
/** commission_rates defines the initial commission rates to be used for creating a validator. */
commissionRates?: CommissionRates;
/** update_time is the last time the commission rate was changed. */
updateTime?: Date;
}
/** Description defines a validator description. */
export interface Description {
/** moniker defines a human-readable name for the validator. */
moniker: string;
/** identity defines an optional identity signature (ex. UPort or Keybase). */
identity: string;
/** website defines an optional website link. */
website: string;
/** security_contact defines an optional email for security contact. */
securityContact: string;
/** details define other optional details. */
details: string;
}
@ -105,16 +115,27 @@ export interface Description {
* multiplied by exchange rate.
*/
export interface Validator {
/** operator_address defines the address of the validator's operator; bech encoded in JSON. */
operatorAddress: string;
/** consensus_pubkey is the consensus public key of the validator, as a Protobuf Any. */
consensusPubkey?: Any;
/** jailed defined whether the validator has been jailed from bonded status or not. */
jailed: boolean;
/** status is the validator status (bonded/unbonding/unbonded). */
status: BondStatus;
/** tokens define the delegated tokens (incl. self-delegation). */
tokens: string;
/** delegator_shares defines total shares issued to a validator's delegators. */
delegatorShares: string;
/** description defines the description terms for the validator. */
description?: Description;
/** unbonding_height defines, if unbonding, the height at which this validator has begun unbonding. */
unbondingHeight: Long;
/** unbonding_time defines, if unbonding, the min time for the validator to complete unbonding. */
unbondingTime?: Date;
/** commission defines the commission parameters. */
commission?: Commission;
/** min_self_delegation is the validator's self declared minimum self delegation. */
minSelfDelegation: string;
}
@ -161,8 +182,11 @@ export interface DVVTriplets {
* validator.
*/
export interface Delegation {
/** delegator_address is the bech32-encoded address of the delegator. */
delegatorAddress: string;
/** validator_address is the bech32-encoded address of the validator. */
validatorAddress: string;
/** shares define the delegation shares received. */
shares: string;
}
@ -171,25 +195,35 @@ export interface Delegation {
* for a single validator in an time-ordered list.
*/
export interface UnbondingDelegation {
/** delegator_address is the bech32-encoded address of the delegator. */
delegatorAddress: string;
/** validator_address is the bech32-encoded address of the validator. */
validatorAddress: string;
/** unbonding delegation entries */
/** entries are the unbonding delegation entries. */
entries: UnbondingDelegationEntry[];
}
/** UnbondingDelegationEntry defines an unbonding object with relevant metadata. */
export interface UnbondingDelegationEntry {
/** creation_height is the height which the unbonding took place. */
creationHeight: Long;
/** completion_time is the unix time for unbonding completion. */
completionTime?: Date;
/** initial_balance defines the tokens initially scheduled to receive at completion. */
initialBalance: string;
/** balance defines the tokens to receive at completion. */
balance: string;
}
/** RedelegationEntry defines a redelegation object with relevant metadata. */
export interface RedelegationEntry {
/** creation_height defines the height which the redelegation took place. */
creationHeight: Long;
/** completion_time defines the unix time for redelegation completion. */
completionTime?: Date;
/** initial_balance defines the initial balance when redelegation started. */
initialBalance: string;
/** shares_dst is the amount of destination-validator shares created by redelegation. */
sharesDst: string;
}
@ -198,19 +232,27 @@ export interface RedelegationEntry {
* from a particular source validator to a particular destination validator.
*/
export interface Redelegation {
/** delegator_address is the bech32-encoded address of the delegator. */
delegatorAddress: string;
/** validator_src_address is the validator redelegation source operator address. */
validatorSrcAddress: string;
/** validator_dst_address is the validator redelegation destination operator address. */
validatorDstAddress: string;
/** redelegation entries */
/** entries are the redelegation entries. */
entries: RedelegationEntry[];
}
/** Params defines the parameters for the staking module. */
export interface Params {
/** unbonding_time is the time duration of unbonding. */
unbondingTime?: Duration;
/** max_validators is the maximum number of validators. */
maxValidators: number;
/** max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio). */
maxEntries: number;
/** historical_entries is the number of historical entries to persist. */
historicalEntries: number;
/** bond_denom defines the bondable coin denomination. */
bondDenom: string;
}