Merge pull request #360 from CosmWasm/codegen-queries
Use autogenerated protobuf code for queries
This commit is contained in:
commit
1469bfa8c1
2
packages/proto-signing/.gitignore
vendored
2
packages/proto-signing/.gitignore
vendored
@ -1,5 +1,7 @@
|
||||
build/
|
||||
dist/
|
||||
docs/
|
||||
|
||||
# protobuf code generation
|
||||
proto/
|
||||
tmp/
|
||||
|
||||
@ -8,7 +8,7 @@ DEFINITIONS_FILE="$TMP_DIR/codecimpl.d.ts"
|
||||
OUTPUT_DIR="./src/generated/"
|
||||
|
||||
|
||||
pbts "$JS_SOURCE_FILE" -o "$DEFINITIONS_FILE"
|
||||
tsc --removeComments --outDir "$OUTPUT_DIR" --allowJs "$JS_SOURCE_FILE"
|
||||
yarn pbts "$JS_SOURCE_FILE" -o "$DEFINITIONS_FILE"
|
||||
yarn tsc --removeComments --outDir "$OUTPUT_DIR" --allowJs "$JS_SOURCE_FILE"
|
||||
cp "$DEFINITIONS_FILE" "$OUTPUT_DIR"
|
||||
rm "$DEFINITIONS_FILE" "$JS_SOURCE_FILE"
|
||||
|
||||
@ -13,7 +13,7 @@ SUFFIX=${REF}
|
||||
|
||||
mkdir -p "$COSMOS_DIR"
|
||||
|
||||
wget -qO "$ZIP_FILE" "https://github.com/cosmos/cosmos-sdk/archive/$REF.zip" \
|
||||
&& unzip "$ZIP_FILE" "*.proto" -d "$COSMOS_DIR" \
|
||||
&& mv "$COSMOS_SDK_DIR-$SUFFIX" "$COSMOS_SDK_DIR" \
|
||||
&& rm "$ZIP_FILE"
|
||||
wget -qO "$ZIP_FILE" "https://github.com/cosmos/cosmos-sdk/archive/$REF.zip"
|
||||
unzip "$ZIP_FILE" "*.proto" -d "$COSMOS_DIR"
|
||||
mv "$COSMOS_SDK_DIR-$SUFFIX" "$COSMOS_SDK_DIR"
|
||||
rm "$ZIP_FILE"
|
||||
|
||||
@ -9,7 +9,7 @@ TENDERMINT_PROTO_DIR="$ROOT_PROTO_DIR/third_party/proto/tendermint"
|
||||
GOOGLE_PROTO_DIR="$ROOT_PROTO_DIR/third_party/proto/google"
|
||||
|
||||
mkdir -p "$GENERATED_DIR"
|
||||
pbjs \
|
||||
yarn pbjs \
|
||||
-t static-module \
|
||||
--es6 \
|
||||
-w commonjs \
|
||||
|
||||
4
packages/stargate/.gitignore
vendored
4
packages/stargate/.gitignore
vendored
@ -1,3 +1,7 @@
|
||||
build/
|
||||
dist/
|
||||
docs/
|
||||
|
||||
# protobuf code generation
|
||||
proto/
|
||||
tmp/
|
||||
|
||||
@ -28,14 +28,19 @@
|
||||
"lint-fix": "eslint --max-warnings 0 \"**/*.{js,ts}\" --fix",
|
||||
"move-types": "shx rm -rf ./types/* && shx mv build/types/* ./types && rm -rf ./types/testdata && shx rm -f ./types/*.spec.d.ts",
|
||||
"format-types": "prettier --write --loglevel warn \"./types/**/*.d.ts\"",
|
||||
"build": "shx rm -rf ./build && tsc && yarn move-types && yarn format-types",
|
||||
"build": "shx rm -rf ./build && tsc && shx mkdir -p build/generated && shx cp ./src/generated/*.js ./build/generated && shx mkdir -p ./build/types/generated && shx cp ./src/generated/*.d.ts ./build/types/generated && yarn move-types && yarn format-types",
|
||||
"build-or-skip": "[ -n \"$SKIP_BUILD\" ] || yarn build",
|
||||
"test-node": "node jasmine-testrunner.js",
|
||||
"test-firefox": "yarn pack-web && karma start --single-run --browsers Firefox",
|
||||
"test-chrome": "yarn pack-web && karma start --single-run --browsers ChromeHeadless",
|
||||
"test": "yarn build-or-skip && yarn test-node",
|
||||
"coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet",
|
||||
"pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js"
|
||||
"pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js",
|
||||
"preget-proto": "rm -rf proto",
|
||||
"get-proto": "REF=master ./scripts/get-proto.sh",
|
||||
"predefine-proto": "./scripts/predefine-proto.sh",
|
||||
"define-proto": "./scripts/define-proto.sh",
|
||||
"postdefine-proto": "prettier --write \"src/generated/codecimpl.*\""
|
||||
},
|
||||
"dependencies": {
|
||||
"@cosmjs/encoding": "^0.22.0",
|
||||
@ -43,6 +48,7 @@
|
||||
"@cosmjs/math": "^0.22.0",
|
||||
"@cosmjs/proto-signing": "^0.22.0",
|
||||
"@cosmjs/tendermint-rpc": "^0.22.0",
|
||||
"@cosmjs/utils": "^0.22.0"
|
||||
"@cosmjs/utils": "^0.22.0",
|
||||
"protobufjs": "~6.10.0"
|
||||
}
|
||||
}
|
||||
|
||||
14
packages/stargate/scripts/define-proto.sh
Executable file
14
packages/stargate/scripts/define-proto.sh
Executable file
@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
set -o errexit -o nounset -o pipefail
|
||||
command -v shellcheck > /dev/null && shellcheck "$0"
|
||||
|
||||
TMP_DIR="./tmp"
|
||||
JS_SOURCE_FILE="$TMP_DIR/codecimpl.js"
|
||||
DEFINITIONS_FILE="$TMP_DIR/codecimpl.d.ts"
|
||||
OUTPUT_DIR="./src/generated/"
|
||||
|
||||
|
||||
yarn pbts "$JS_SOURCE_FILE" -o "$DEFINITIONS_FILE"
|
||||
yarn tsc --removeComments --outDir "$OUTPUT_DIR" --allowJs "$JS_SOURCE_FILE"
|
||||
cp "$DEFINITIONS_FILE" "$OUTPUT_DIR"
|
||||
rm "$DEFINITIONS_FILE" "$JS_SOURCE_FILE"
|
||||
19
packages/stargate/scripts/get-proto.sh
Executable file
19
packages/stargate/scripts/get-proto.sh
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
set -o errexit -o nounset -o pipefail
|
||||
command -v shellcheck > /dev/null && shellcheck "$0"
|
||||
|
||||
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}
|
||||
|
||||
[[ $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"
|
||||
unzip "$ZIP_FILE" "*.proto" -d "$COSMOS_DIR"
|
||||
mv "$COSMOS_SDK_DIR-$SUFFIX" "$COSMOS_SDK_DIR"
|
||||
rm "$ZIP_FILE"
|
||||
32
packages/stargate/scripts/predefine-proto.sh
Executable file
32
packages/stargate/scripts/predefine-proto.sh
Executable file
@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
set -o errexit -o nounset -o pipefail
|
||||
command -v shellcheck > /dev/null && shellcheck "$0"
|
||||
|
||||
GENERATED_DIR="./tmp"
|
||||
ROOT_PROTO_DIR="./proto/cosmos/cosmos-sdk"
|
||||
COSMOS_PROTO_DIR="$ROOT_PROTO_DIR/proto/cosmos"
|
||||
TENDERMINT_PROTO_DIR="$ROOT_PROTO_DIR/third_party/proto/tendermint"
|
||||
GOOGLE_PROTO_DIR="$ROOT_PROTO_DIR/third_party/proto/google"
|
||||
|
||||
mkdir -p "$GENERATED_DIR"
|
||||
yarn pbjs \
|
||||
-t static-module \
|
||||
--es6 \
|
||||
-w commonjs \
|
||||
-o "$GENERATED_DIR/codecimpl.js" \
|
||||
--sparse \
|
||||
--no-beautify \
|
||||
--no-delimited \
|
||||
--no-verify \
|
||||
--no-convert \
|
||||
"$COSMOS_PROTO_DIR/cosmos.proto" \
|
||||
"$COSMOS_PROTO_DIR/auth/{auth,query}.proto" \
|
||||
"$COSMOS_PROTO_DIR/bank/{bank,query}.proto" \
|
||||
"$COSMOS_PROTO_DIR/crypto/crypto.proto" \
|
||||
"$COSMOS_PROTO_DIR/query/pagination.proto" \
|
||||
"$COSMOS_PROTO_DIR/tx/tx.proto" \
|
||||
"$COSMOS_PROTO_DIR/tx/signing/signing.proto" \
|
||||
"$TENDERMINT_PROTO_DIR/abci/types/types.proto" \
|
||||
"$TENDERMINT_PROTO_DIR/crypto/merkle/merkle.proto" \
|
||||
"$TENDERMINT_PROTO_DIR/libs/kv/types.proto" \
|
||||
"$GOOGLE_PROTO_DIR/protobuf/any.proto"
|
||||
6513
packages/stargate/src/generated/codecimpl.d.ts
vendored
Normal file
6513
packages/stargate/src/generated/codecimpl.d.ts
vendored
Normal file
File diff suppressed because it is too large
Load Diff
5219
packages/stargate/src/generated/codecimpl.js
Normal file
5219
packages/stargate/src/generated/codecimpl.js
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,17 +0,0 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { cosmosField } from "@cosmjs/proto-signing";
|
||||
import { Message } from "protobufjs";
|
||||
|
||||
export class BaseAccount extends Message {
|
||||
@cosmosField.bytes(1)
|
||||
public readonly address?: Uint8Array;
|
||||
|
||||
@cosmosField.bytes(2)
|
||||
public readonly pub_key?: Uint8Array;
|
||||
|
||||
@cosmosField.uint64(3)
|
||||
public readonly account_number?: Long | number;
|
||||
|
||||
@cosmosField.uint64(4)
|
||||
public readonly sequence?: Long | number;
|
||||
}
|
||||
@ -1,23 +0,0 @@
|
||||
import { Coin, cosmosField } from "@cosmjs/proto-signing";
|
||||
import { Message } from "protobufjs";
|
||||
|
||||
import { PageRequest, PageResponse } from "./pagination";
|
||||
|
||||
// these grpc query types come from:
|
||||
// https://github.com/cosmos/cosmos-sdk/blob/69bbb8b327c3cfb967d969bcadeb9b0aef144df6/proto/cosmos/bank/query.proto#L40-L55
|
||||
|
||||
export class QueryAllBalancesRequest extends Message {
|
||||
@cosmosField.bytes(1)
|
||||
public readonly address?: Uint8Array;
|
||||
|
||||
@cosmosField.message(2, PageRequest)
|
||||
public readonly pagination?: PageRequest;
|
||||
}
|
||||
|
||||
export class QueryAllBalancesResponse extends Message {
|
||||
@cosmosField.repeatedMessage(1, Coin)
|
||||
public readonly balances?: readonly Coin[];
|
||||
|
||||
@cosmosField.message(2, PageResponse)
|
||||
public readonly pagination?: PageResponse;
|
||||
}
|
||||
@ -1,18 +0,0 @@
|
||||
import { cosmosField } from "@cosmjs/proto-signing";
|
||||
import { Message } from "protobufjs";
|
||||
|
||||
export class PageRequest extends Message {
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
export class PageResponse extends Message {
|
||||
// next_key is the key to be passed to PageRequest.key to
|
||||
// query the next page most efficiently
|
||||
@cosmosField.bytes(1)
|
||||
public readonly nextKey?: Uint8Array;
|
||||
|
||||
// total is total number of results available if PageRequest.count_total
|
||||
// was set, its value is undefined otherwise
|
||||
@cosmosField.uint64(2)
|
||||
public readonly total?: Long | number;
|
||||
}
|
||||
@ -2,13 +2,12 @@
|
||||
import { Bech32, toAscii, toHex } from "@cosmjs/encoding";
|
||||
import { Coin } from "@cosmjs/launchpad";
|
||||
import { Uint64 } from "@cosmjs/math";
|
||||
import * as proto from "@cosmjs/proto-signing";
|
||||
import { decodeAny } from "@cosmjs/proto-signing";
|
||||
import { Client as TendermintClient } from "@cosmjs/tendermint-rpc";
|
||||
import { arrayContentEquals, assertDefined } from "@cosmjs/utils";
|
||||
import { arrayContentEquals, assert, assertDefined } from "@cosmjs/utils";
|
||||
import Long from "long";
|
||||
|
||||
import { BaseAccount } from "./query/accounts";
|
||||
import { QueryAllBalancesRequest, QueryAllBalancesResponse } from "./query/allbalances";
|
||||
import { cosmos } from "./generated/codecimpl";
|
||||
|
||||
export interface GetSequenceResult {
|
||||
readonly accountNumber: number;
|
||||
@ -19,9 +18,11 @@ function uint64FromProto(input: number | Long): Uint64 {
|
||||
return Uint64.fromString(input.toString());
|
||||
}
|
||||
|
||||
function coinFromProto(input: proto.Coin): Coin {
|
||||
function coinFromProto(input: cosmos.ICoin): Coin {
|
||||
assertDefined(input.amount);
|
||||
assertDefined(input.denom);
|
||||
assert(input.amount !== null);
|
||||
assert(input.denom !== null);
|
||||
return {
|
||||
amount: input.amount,
|
||||
denom: input.denom,
|
||||
@ -46,14 +47,12 @@ export class StargateClient {
|
||||
const accountKey = Uint8Array.from([0x01, ...binAddress]);
|
||||
const responseData = await this.queryVerified("acc", accountKey);
|
||||
|
||||
const { typeUrl, value } = proto.decodeAny(responseData);
|
||||
const { typeUrl, value } = decodeAny(responseData);
|
||||
switch (typeUrl) {
|
||||
case "/cosmos.auth.BaseAccount": {
|
||||
const { account_number, sequence } = BaseAccount.decode(value);
|
||||
assertDefined(account_number);
|
||||
assertDefined(sequence);
|
||||
const { accountNumber, sequence } = cosmos.auth.BaseAccount.decode(value);
|
||||
return {
|
||||
accountNumber: uint64FromProto(account_number).toNumber(),
|
||||
accountNumber: uint64FromProto(accountNumber).toNumber(),
|
||||
sequence: uint64FromProto(sequence).toNumber(),
|
||||
};
|
||||
}
|
||||
@ -73,10 +72,7 @@ export class StargateClient {
|
||||
const bankKey = Uint8Array.from([...toAscii("balances"), ...binAddress, ...toAscii(searchDenom)]);
|
||||
|
||||
const responseData = await this.queryVerified("bank", bankKey);
|
||||
const { amount, denom } = proto.Coin.decode(responseData);
|
||||
assertDefined(amount);
|
||||
assertDefined(denom);
|
||||
|
||||
const { amount, denom } = cosmos.Coin.decode(responseData);
|
||||
if (denom === "") {
|
||||
return null;
|
||||
} else {
|
||||
@ -95,10 +91,12 @@ export class StargateClient {
|
||||
*/
|
||||
public async getAllBalancesUnverified(address: string): Promise<readonly Coin[]> {
|
||||
const path = "/cosmos.bank.Query/AllBalances";
|
||||
const request = QueryAllBalancesRequest.encode({ address: Bech32.decode(address).data }).finish();
|
||||
const request = cosmos.bank.QueryAllBalancesRequest.encode({
|
||||
address: Bech32.decode(address).data,
|
||||
}).finish();
|
||||
const responseData = await this.queryUnverified(path, request);
|
||||
const response = QueryAllBalancesResponse.decode(responseData);
|
||||
return (response.balances || []).map(coinFromProto);
|
||||
const response = cosmos.bank.QueryAllBalancesResponse.decode(responseData);
|
||||
return response.balances.map(coinFromProto);
|
||||
}
|
||||
|
||||
public disconnect(): void {
|
||||
|
||||
6513
packages/stargate/types/generated/codecimpl.d.ts
vendored
Normal file
6513
packages/stargate/types/generated/codecimpl.d.ts
vendored
Normal file
File diff suppressed because it is too large
Load Diff
8
packages/stargate/types/query/accounts.d.ts
vendored
8
packages/stargate/types/query/accounts.d.ts
vendored
@ -1,8 +0,0 @@
|
||||
/// <reference types="long" />
|
||||
import { Message } from "protobufjs";
|
||||
export declare class BaseAccount extends Message {
|
||||
readonly address?: Uint8Array;
|
||||
readonly pub_key?: Uint8Array;
|
||||
readonly account_number?: Long | number;
|
||||
readonly sequence?: Long | number;
|
||||
}
|
||||
11
packages/stargate/types/query/allbalances.d.ts
vendored
11
packages/stargate/types/query/allbalances.d.ts
vendored
@ -1,11 +0,0 @@
|
||||
import { Coin } from "@cosmjs/proto-signing";
|
||||
import { Message } from "protobufjs";
|
||||
import { PageRequest, PageResponse } from "./pagination";
|
||||
export declare class QueryAllBalancesRequest extends Message {
|
||||
readonly address?: Uint8Array;
|
||||
readonly pagination?: PageRequest;
|
||||
}
|
||||
export declare class QueryAllBalancesResponse extends Message {
|
||||
readonly balances?: readonly Coin[];
|
||||
readonly pagination?: PageResponse;
|
||||
}
|
||||
@ -1,7 +0,0 @@
|
||||
/// <reference types="long" />
|
||||
import { Message } from "protobufjs";
|
||||
export declare class PageRequest extends Message {}
|
||||
export declare class PageResponse extends Message {
|
||||
readonly nextKey?: Uint8Array;
|
||||
readonly total?: Long | number;
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
# Choose from https://hub.docker.com/r/interchainio/simapp/tags
|
||||
REPOSITORY="interchainio/simapp"
|
||||
VERSION="nightly-2020-08-06"
|
||||
VERSION="nightly-2020-08-10"
|
||||
CONTAINER_NAME="simapp"
|
||||
|
||||
@ -0,0 +1 @@
|
||||
eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMC0wOC0xMCAwNDozNDo1My44NTQ3MDIxICswMDAwIFVUQyBtPSswLjI5MDI1MTAwMSIsImVuYyI6IkEyNTZHQ00iLCJwMmMiOjgxOTIsInAycyI6IkhvMjN3ckNGOVpfcHlCUDUifQ.Z5qsfCNObumg_vwCiJ2D9Bvdod0bbanl8KDx9Af85MkSRsxI7mNFww.kzxxnpnP-PwmHl_F.ZSjnQ-fX3PsGxnGaqnVDADzbaQbHOU7xj-EYlImsaJ8w1CijR6UuJCARmeQldWz0xFHi9qfJ08GLfN0E-Zho6nhM_-UKE5D1dyk_vqfvcVusPLte-1z2yuxyrMBHS_E2s1qehmbwjE2m3qohrDsid73Ixgb27La2iTVDL40N9C4iOV3uv0L5YI-TOBT35dhFqpYwavXR6mbE9k-sFyU-J45Y6jpNfIWlhfpVb220RFiKv6FEGVDRrMgt.BgboYLH4EliMSzGWFozUmg
|
||||
@ -6,7 +6,7 @@
|
||||
{
|
||||
"type": "cosmos-sdk/BaseAccount",
|
||||
"value": {
|
||||
"address": "cosmos1lv5lq7qjr42attsdma622whwa7v0rc2d4pful8"
|
||||
"address": "cosmos12gm9sa666hywxu9nzzmp7hyl7a55hvg769w2kz"
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -174,6 +174,19 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "cosmos12gm9sa666hywxu9nzzmp7hyl7a55hvg769w2kz",
|
||||
"coins": [
|
||||
{
|
||||
"amount": "1000000000",
|
||||
"denom": "ucosm"
|
||||
},
|
||||
{
|
||||
"amount": "10000000",
|
||||
"denom": "ustake"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "cosmos1vkv9sfwaak76weyamqx0flmng2vuquxqcuqukh",
|
||||
"coins": [
|
||||
@ -342,19 +355,6 @@
|
||||
"denom": "ustake"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"address": "cosmos1lv5lq7qjr42attsdma622whwa7v0rc2d4pful8",
|
||||
"coins": [
|
||||
{
|
||||
"amount": "1000000000",
|
||||
"denom": "ucosm"
|
||||
},
|
||||
{
|
||||
"amount": "10000000",
|
||||
"denom": "ustake"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"denom_metadata": null,
|
||||
@ -407,13 +407,13 @@
|
||||
}
|
||||
},
|
||||
"public_key": {
|
||||
"secp256k1": "A7bPBNzzcLkg9D6sSUIpq6qOhtWTKnJELef/5yZfr4xH"
|
||||
"secp256k1": "AnFadRAdh6Fl7robHe8jywDMKSWQQjB7SlpoqGsX9Ghw"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"body": {
|
||||
"memo": "d593cd9e2f88b70d57ffc8c28768b555b9acb5fc@172.17.0.3:26656",
|
||||
"memo": "b02715f69ce88507acaa543f7de0d3f7e6cd20f8@172.17.0.2:26656",
|
||||
"messages": [
|
||||
{
|
||||
"@type": "/cosmos.staking.MsgCreateValidator",
|
||||
@ -422,13 +422,13 @@
|
||||
"max_rate": "0.200000000000000000",
|
||||
"rate": "0.100000000000000000"
|
||||
},
|
||||
"delegator_address": "cosmos1lv5lq7qjr42attsdma622whwa7v0rc2d4pful8",
|
||||
"delegator_address": "cosmos12gm9sa666hywxu9nzzmp7hyl7a55hvg769w2kz",
|
||||
"description": {
|
||||
"moniker": "simd-moniker"
|
||||
},
|
||||
"min_self_delegation": "1",
|
||||
"pubkey": "cosmosvalconspub1zcjduepqv3sruyer5xmurpxyptu4ll3efjan3lmaajf3fxg9axe895ppj9kqtyk2vf",
|
||||
"validator_address": "cosmosvaloper1lv5lq7qjr42attsdma622whwa7v0rc2ds4afn5",
|
||||
"pubkey": "cosmosvalconspub1zcjduepqcf6dt4wct4uk93lu0nc4vp8x8le8tqfe3wcmys53jn6lfa3fqvwsqktz95",
|
||||
"validator_address": "cosmosvaloper12gm9sa666hywxu9nzzmp7hyl7a55hvg7l36l63",
|
||||
"value": {
|
||||
"amount": "3000000",
|
||||
"denom": "ustake"
|
||||
@ -437,7 +437,7 @@
|
||||
]
|
||||
},
|
||||
"signatures": [
|
||||
"5gBipu7M14zMjn2t6pBxM+DprcDR44RW4Eylc1wVp4Ikem0duRVnvWDE+B0gZ9+LY0QrgPcEmm6aXzPGiN3SKQ=="
|
||||
"VdidVRYryEAL1v3bMIyHpwswMVSPJncCoC+7+VJdKwR5e8ymOeY+qG7q0QVcWj2x1Z72fw5O5w58anw9msnmzg=="
|
||||
]
|
||||
}
|
||||
]
|
||||
@ -476,8 +476,7 @@
|
||||
},
|
||||
"client_genesis": {
|
||||
"clients": [],
|
||||
"clients_consensus": [],
|
||||
"create_localhost": true
|
||||
"clients_consensus": []
|
||||
},
|
||||
"connection_genesis": {
|
||||
"client_connection_paths": [],
|
||||
@ -547,5 +546,5 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"genesis_time": "2020-08-06T13:08:49.5288713Z"
|
||||
"genesis_time": "2020-08-10T04:34:53.3772058Z"
|
||||
}
|
||||
|
||||
@ -0,0 +1 @@
|
||||
{"body":{"messages":[{"@type":"/cosmos.staking.MsgCreateValidator","description":{"moniker":"simd-moniker"},"commission":{"rate":"0.100000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"cosmos12gm9sa666hywxu9nzzmp7hyl7a55hvg769w2kz","validator_address":"cosmosvaloper12gm9sa666hywxu9nzzmp7hyl7a55hvg7l36l63","pubkey":"cosmosvalconspub1zcjduepqcf6dt4wct4uk93lu0nc4vp8x8le8tqfe3wcmys53jn6lfa3fqvwsqktz95","value":{"denom":"ustake","amount":"3000000"}}],"memo":"b02715f69ce88507acaa543f7de0d3f7e6cd20f8@172.17.0.2:26656"},"auth_info":{"signer_infos":[{"public_key":{"secp256k1":"AnFadRAdh6Fl7robHe8jywDMKSWQQjB7SlpoqGsX9Ghw"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}}}],"fee":{"gas_limit":"200000"}},"signatures":["VdidVRYryEAL1v3bMIyHpwswMVSPJncCoC+7+VJdKwR5e8ymOeY+qG7q0QVcWj2x1Z72fw5O5w58anw9msnmzg=="]}
|
||||
@ -1 +0,0 @@
|
||||
{"body":{"messages":[{"@type":"/cosmos.staking.MsgCreateValidator","description":{"moniker":"simd-moniker"},"commission":{"rate":"0.100000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"cosmos1lv5lq7qjr42attsdma622whwa7v0rc2d4pful8","validator_address":"cosmosvaloper1lv5lq7qjr42attsdma622whwa7v0rc2ds4afn5","pubkey":"cosmosvalconspub1zcjduepqv3sruyer5xmurpxyptu4ll3efjan3lmaajf3fxg9axe895ppj9kqtyk2vf","value":{"denom":"ustake","amount":"3000000"}}],"memo":"d593cd9e2f88b70d57ffc8c28768b555b9acb5fc@172.17.0.3:26656"},"auth_info":{"signer_infos":[{"public_key":{"secp256k1":"A7bPBNzzcLkg9D6sSUIpq6qOhtWTKnJELef/5yZfr4xH"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}}}],"fee":{"gas_limit":"200000"}},"signatures":["5gBipu7M14zMjn2t6pBxM+DprcDR44RW4Eylc1wVp4Ikem0duRVnvWDE+B0gZ9+LY0QrgPcEmm6aXzPGiN3SKQ=="]}
|
||||
@ -1 +1 @@
|
||||
{"priv_key":{"type":"tendermint/PrivKeyEd25519","value":"GibkBGABoqDhct1gyZLYgUQ3q9afc7jSzBEZKYV3/Rql7r3LMmDVuXZgwdeDitunnWIm6KTJ9/yrdIbOnxGryg=="}}
|
||||
{"priv_key":{"type":"tendermint/PrivKeyEd25519","value":"SBwYIjYkPgEdajIt1al+FUZOQ+vMri9xPkES1pDlVISVMV3aGAIFv9hQA0EDCe6NDWJopE6TCmnI+Pca65YSCw=="}}
|
||||
@ -1,11 +1,11 @@
|
||||
{
|
||||
"address": "774A0C3FA22BFB35E7A62C33A1C58697CADE1427",
|
||||
"address": "9B393572E82025BE3A6D2007304AAE69B55D62DC",
|
||||
"pub_key": {
|
||||
"type": "tendermint/PubKeyEd25519",
|
||||
"value": "ZGA+EyOht8GExAr5X/45TLs4/33skxSZBemyctAhkWw="
|
||||
"value": "wnTV1dhdeWLH/HzxVgTmP/J1gTmLsbJCkZT19PYpAx0="
|
||||
},
|
||||
"priv_key": {
|
||||
"type": "tendermint/PrivKeyEd25519",
|
||||
"value": "4rVHumai2XQZ+hSsUphYlJNkcjQCTguaZ2e7LPXNoCZkYD4TI6G3wYTECvlf/jlMuzj/feyTFJkF6bJy0CGRbA=="
|
||||
"value": "fPWqUiCrr+AlyHb29zpYglZ/9RLbz60fRQziZgVA+JjCdNXV2F15Ysf8fPFWBOY/8nWBOYuxskKRlPX09ikDHQ=="
|
||||
}
|
||||
}
|
||||
@ -1 +0,0 @@
|
||||
eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMC0wOC0wNiAxMzowODo1MC40MzYzMjQ2ICswMDAwIFVUQyBtPSswLjUzMzMxNTYwMSIsImVuYyI6IkEyNTZHQ00iLCJwMmMiOjgxOTIsInAycyI6IjlYak9JRDJHMkZMM2VXcDkifQ.ZVjb1WogjVvyIXk5IkrZclppwwc0MExREIrkRFqxkjyE4k0V68APMQ.NJdR86VIEOZ0cVLL.7PukY7zG6I0gDzhjvkY8QbQfofLAVJEcVFjRkxodcrxH4UNiCkURbklOuyOgcKEJcY12TYSBXUjoWUMy15i0_O4uMhWwx_xVWgaTRyjBB6UVC6fchYpwHiYnJStrMTsTTIEd_PMg01M2G8IR4QyhJtDju9W3AEbnnBdKktDuseAe0hyr7BwJHFXm9CU-sXU3JzFQ62szLpu-CaUBV_7xJusFjwDosfyom4r-keH3Y7CmPqF_-W3VY8DU.HMvilHIyoRuJGKvKNsfX3A
|
||||
@ -1 +1 @@
|
||||
$2a$10$.3rbMOvLm5FQrKE5eNnNB.GC6N8/klYIQpJjLIl2K6DsBkGPkytWe
|
||||
$2a$10$2fI6FM3ObOD8pRF2.xRn8Op8SAzWw0PvhQZNwwDzzdf9mgmy1DFP.
|
||||
@ -1 +1 @@
|
||||
eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMC0wOC0wNiAxMzowODo1MC40MTQ5MTA1ICswMDAwIFVUQyBtPSswLjUxMTkwMjAwMSIsImVuYyI6IkEyNTZHQ00iLCJwMmMiOjgxOTIsInAycyI6IkxiNS1RblpLdlFBaDVmUHEifQ.shxbGlGbejxdwAuUWE729l71nOLUtBqnE-1nDqc3bf-qzZ-ZvFP6rg.B-M7fYzRF9A91x4q.XWjXdGvP-CsRxFwrolUdq6bY5cz2i5lqSggCPdUyYuXn6WVglEEdsxbyl_Et7fZ8ppAgFsWaj19ELxYr4ewwvA4r2TReShcDk51jz8tFLTO6aCOh2F6rjn-fi5DUfcimfsipzu-x-FvCSKpQ3XB6PlwfJ5lLkoSoeqX_WJS6Zq0v7VI9D_WvSD5Q6FX1LnhrchndlZ33sBVwCjsp0GbEAOeDaYnnRexfh05k90_jc7DXHdKNI3o8a8q5pQR3CfnkHpIVlRairnrt68GEWMrCT-DhILGUP7KVJsYIadfODU_rOUqkJaAmlAMHPoWOncWaaCnk2hASwfbG8yNyREJ9UxdaXhih8ZwT1IWSTp2NkHcb1uZf.aXzyufH2vuWPQms3wVMuug
|
||||
eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMC0wOC0xMCAwNDozNDo1My44NDIzNDE2ICswMDAwIFVUQyBtPSswLjI3Nzg5MTQwMSIsImVuYyI6IkEyNTZHQ00iLCJwMmMiOjgxOTIsInAycyI6IkxGbnlSVzBhbGNWaVQ4U0wifQ.AapFS3IPSX9Bt9Vz-wFg5mfoRobwImw8NcC0HJfBBLV1lm_56_b9qw.u2l6d7qrmOBEXyD8.aaGsuy_GMH_pyqkMcK80nxBZsIOyMJLTlR4slViy9q0T0qo2mtJFNUwtOoaN6wxewNYBdOJDJQ3GDtUtNZW6s9EoBigrsUxP-gTaBMtARx5u4Hn_VDCidxZJbgmoneX_P5K71vV8lVJ9sKhqZyDeKcwUrKB7EztKlxGDYt04NmsbLJkK8CNYnj3dYL5sCCz46B09eNSx83_rIpyE141WEzgwgOEayu5Nz2V7lFGp2WZfdeeqslyqKNwHMiQJGdzLjc787fgMPqleYusmBKHfNveUa2eaNIexnLGmkHkao9YH4-nJIpGOSBIGQZeG1dcUckFvaesq64gKZRmOKp37vfJkyqmuP7STVgeko93YvwcVlU6r.TfQIMmIaSUx-eddwt9zahg
|
||||
Loading…
Reference in New Issue
Block a user